Red Hat Enterprise Linux 3: Руководство по безопасности | ||
---|---|---|
Назад | Глава 4. Безопасность рабочей станции | Вперёд |
Тогда как доступ пользователей к средствам администрирования — важный вопрос, волнующий администраторов в организации, чёткое понимание того, какие сетевые службы работают, крайне важно для всех, кто устанавливает систему Linux и работает в ней.
Многие службы, существующие в Red Hat Enterprise Linux, являются сетевыми. Если на компьютере работает сетевая служба, это значит, что серверное приложение, называемое демоном, ожидает подключений к одному или нескольким сетевым портам. Каждую из этих служб следует рассматривать, как возможное направление атаки.
Сетевые службы в системе Linux могут быть опасны. Ниже приведён список некоторых основных угроз безопасности:
Атаки на переполнение буфера — Службы, подключенные к портам с 0 по 1023, должны работать от имени администратора. Если в этом приложении происходит переполнение буфера, нападающий сможет получить доступ к системе с правами пользователя, запустившего демона. Так как переполнения буфера нередки, взломщики применяют автоматические программы для выявления систем с такими уязвимостями и, получив к ним доступ, они используют инструменты скрытого управления (rootkits) для сохранения этого доступа.
Атаки типа отказ в обслуживании (DoS - Denial of Service Attacks) — При атаке такого типа служба забрасывается запросами, и система может просто остановиться, пытаясь обработать все запросы и ответить на них.
Атаки уязвимых сценариев — Если сервер выполняет на своей стороне сценарии, как обычно делают веб-серверы, взломщик может провести атаку на сценарии, написанные с ошибками. Такие атаки часто приводят к переполнению буфера или позволяют взломщику изменить файлы на этом компьютере.
Чтобы снизить вероятность атак на сетевые службы, все ненужные службы должны быть отключены.
В целях усиления безопасности многие сетевые службы, установленные в Red Hat Enterprise Linux, по умолчанию выключены. Однако есть и некоторые исключения:
cupsd — Сервер печати, используемый в Red Hat Enterprise Linux по умолчанию.
lpd — Альтернативный сервер печати.
portmap — Обязательный компонент NFS, NIS и других RPC протоколов.
xinetd — Суперсервер, управляющий подключениями к подчинённым серверам, например, vsftpd, telnet и sgi-fam (необходимой для работы файлового менеджера Nautilus).
sendmail — Почтовый агент Sendmail по умолчанию включен, но настроен на приём соединений только от локального узла.
sshd — Служба OpenSSH, ставшая безопасной заменой Telnet.
Определяя, какие службы следует оставить, лучше руководствоваться здравым смыслом и перестраховаться, чем что-то упустить. Например, если у вас нет принтера, отключите службу cupsd. То же самое касается portmap. Если вы не подключаете тома NFS и не используете NIS (служба ypbind), следует отключить portmap.
В Red Hat Enterprise Linux входят три программы, предназначенные для включения и отключения служб. Это Настройка служб (redhat-config-services), ntsysv и chkconfig. Информацию о них вы найдёте в главе Управление доступом к службам Руководства по системному администрированию Red Hat Enterprise Linux.
Если вы не знаете, для чего предназначена та или иная служба, прочитайте её описание в утилите Настройка служб, как показано на рисунке 4-3.
Но простого определения служб, запускаемых при загрузке, недостаточно. Хорошие системные администраторы также должны проверять открытые порты. Вы узнаете об этом больше в разделе 5.8 Определение открытых портов.
Все сетевые службы потенциально небезопасны. Вот почему так важно отключать неиспользуемые службы. Уязвимости обнаруживаются и исправляются постоянно, поэтому очень важно своевременно обновлять пакеты, связанные с любыми сетевыми службами. За дополнительной информацией об этом обратитесь к главе 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
portmap
rwhod
sendmail
smb (Samba)
yppasswdd
ypserv
ypxfrd
Дополнительные сведения о защите сетевых служб вы найдёте в главе 5 Безопасности сервера.
В следующем разделе рассматриваются средства настройки простого брандмауэра.