Доступные сетевые службы

4.5. Доступные сетевые службы

Тогда как доступ пользователей к средствам администрирования — важный вопрос, волнующий администраторов в организации, чёткое понимание того, какие сетевые службы работают, крайне важно для всех, кто администрирует систему Linux и работает в ней.

Многие службы, существующие в Red Hat Enterprise Linux, являются сетевыми. Если на компьютере работает сетевая служба, это значит, что серверное приложение, называемое демоном, ожидает подключений к одному или нескольким сетевым портам. Каждую из этих служб следует рассматривать, как возможное направление атаки.

4.5.1. Опасности служб

Сетевые службы в системе Linux могут быть опасны. Ниже приведён список некоторых основных угроз безопасности:

  • Атаки типа отказ в обслуживании (DoS - Denial of Service Attacks) — При атаке такого типа служба забрасывается запросами, и система может просто остановиться, пытаясь обработать все запросы и ответить на них.

  • Атаки уязвимых сценариев — Если сервер выполняет на своей стороне сценарии, как обычно делают веб-серверы, взломщик может провести атаку на сценарии, написанные с ошибками. Такие атаки часто приводят к переполнению буфера или позволяют взломщику изменить файлы на этом компьютере.

  • Атаки на переполнение буфера — Службы, подключенные к портам с 0 по 1023, должны работать от имени администратора. Если в этом приложении происходит переполнение буфера, нападающий сможет получить доступ к системе с правами пользователя, запустившего демона. Так как переполнения буфера нередки, взломщики применяют автоматические программы для выявления систем с такими уязвимостями и, получив к ним доступ, они используют инструменты скрытого управления (rootkits) для сохранения этого доступа.

ЗамечаниеЗамечание
 

Угроза атак на переполнение буфера снижается благодаря реализованной в Red Hat Enterprise Linux технологии защиты и сегментации исполняемой памяти ExecShield, поддерживаемой одно и много-процессорными ядрами x86. ExecShield снижает опасность переполнения буфера, разделяя виртуальную память на исполняемые и неисполняемые сегменты. Любой программный код, пытающийся запуститься вне исполняемого сегмента (это может быть вредоносный код внедрённый благодаря переполнению буфера) вызывает ошибку сегментации и завершается.

Реализация Execshield также поддерживает технологию No eXecute (Не исполнять) (NX) на платформах AMD64 и технологию eXecute Disable (Исполнение запрещено) (XD) для систем Itanium и Intel® EM64T. Эти технологии, работающие совместно с ExecShield, предотвращают запуск вредоносного кода в неисполняемом разделе виртуальной памяти с точностью до 4 Кбайт кода, и тем самым снижают угрозу атак на переполнение буфера.

Дополнительные сведения о технологиях ExecShield и NX с XD вы найдёте в статье Новые усовершенствования безопасности в Red Hat Enterprise Linux 3, редакция 3, доступной по адресу:

http://www.redhat.com/solutions/info/whitepapers/

Чтобы снизить вероятность атак на сетевые службы, все ненужные службы должны быть отключены.

4.5.2. Идентификация и настройка служб

В целях усиления безопасности многие сетевые службы, установленные в Red Hat Enterprise Linux, по умолчанию выключены. Однако есть и некоторые исключения:

  • cupsd — Сервер печати, используемый в Red Hat Enterprise Linux по умолчанию.

  • lpd — Альтернативный сервер печати.

  • xinetd — Суперсервер, управляющий подключениями к подчинённым серверам, например, vsftpd и telnet.

  • sendmail — Почтовый агент Sendmail по умолчанию включен, но настроен на приём соединений только от локального узла.

  • sshd — Служба OpenSSH, ставшая безопасной заменой Telnet.

Определяя, какие службы следует оставить, лучше руководствоваться здравым смыслом и перестраховаться, чем что-то упустить. Например, если у вас нет принтера, отключите службу cupsd. То же самое касается portmap. Если вы не подключаете тома NFSv3 и не используете NIS (служба ypbind), portmap следует отключить.

В Red Hat Enterprise Linux входят три программы, предназначенные для включения и отключения служб. Это Настройка служб (Services Configuration Tool) (system-config-services), ntsysv и chkconfig. Информацию о них вы найдёте в главе Управление доступом к службам Руководства по системному администрированию Red Hat Enterprise Linux.

Рисунок 4-3. Настройка служб

Если вы не знаете, для чего предназначена та или иная служба, прочитайте её описание в утилите Настройка служб, как показано на рисунке 4-3.

Но просто определить, какие службы запускаются при загрузке, недостаточно. Хорошие системные администраторы также должны проверять открытые порты. Вы узнаете об этом больше в разделе 5.8 Определение открытых портов.

4.5.3. Небезопасные службы

Все сетевые службы потенциально небезопасны. Вот почему так важно отключать неиспользуемые службы. Уязвимости обнаруживаются и исправляются постоянно, поэтому очень важно своевременно обновлять пакеты, связанные с любыми сетевыми службами. За дополнительной информацией об этом обратитесь к главе 3 Обновления системы безопасности.

Некоторые сетевые протоколы по своей природе менее защищены, чем другие. К ним относятся все службы, которые:

  • передают по сети имена и пароли открытым текстом — многие старые протоколы, такие как Telnet и FTP, не шифруют данные при проверке подлинности, поэтому их нужно избегать везде, где это возможно.

  • передают по сети важные данные в открытом виде — Многие протоколы передают данные по сети незашифрованными. В число этих протоколов входят Telnet, FTP, HTTP и SMTP. Во многих сетевых файловых системах, в частности, NFS и SMB, данные также передаются по сети незашифрованными. Как использовать эти протоколы, чтобы не допустить утечки важных данных, должен решать пользователь.

    Кроме этого, службы удалённого дампа памяти, подобные netdump, передают по сети содержимое памяти в открытом виде. В памяти могут находиться пароли, или, что ещё хуже, записи базы данных и другая важная информация.

    Другие службы, вроде finger и rwhod, показывают информацию о пользователях системы.

В качестве примеров служб, небезопасных по природе, можно привести следующие:

  • rlogin

  • rsh

  • telnet

  • vsftpd

Следует избегать использования программ удалённого входа и оболочки (rlogin, rsh и telnet), и использовать SSH (в разделе 4.7 Средства связи с повышенной защитой вы найдёте дополнительные сведения о sshd).

Протокол FTP не так опасен, как удалённые оболочки, но, тем не менее, чтобы избежать проблем, FTP-сервер нужно настраивать аккуратно. За дополнительной информацией о защите FTP-серверов обратитесь к разделу 5.6 Защита FTP.

К службам, которые нужно настраивать очень аккуратно и защищать брандмауэром, относятся:

  • finger

  • identd

  • netdump

  • netdump-server

  • nfs

  • rwhod

  • sendmail

  • smb (Samba)

  • yppasswdd

  • ypserv

  • ypxfrd

Дополнительные сведения о защите сетевых служб вы найдёте в главе 5 Безопасности сервера.

В следующем разделе рассматриваются средства настройки простого брандмауэра.