<< Предыдущий раздел | /\ Содержание | >> Следующий раздел
Риск для безопасности, связанный с использованием компьютерных сетей, в основном сводится к трем факторам:
Первые две проблемы в основном могут быть решены путем использования пакета ssh вместо ftp, telnet и rlogin/rsh/rcp, а на третьей мы остановимся чуть подробнее.
Хотя в принципе "дыра" может обнаружиться в любой сетевой программе, исторически наиболее подверженными взлому являются подсистемы FTP, NFS, Samba (сеть MS-Windows), Sendmail (электронная почта) и NIS/NIS+ (Network Information System, она же YP -- "yellow pages", сетевая информационная система от фирмы Sun).
Самое простое решение -- не использовать эти системы, не всегда доступно. Если от FTP еще можно отказаться (а от NIS/NIS+ просто надо отказаться), то с остальными сложнее.
Для пакета Sendmail существует несколько аналогов, но отсутствие (точнее, необнаруженность) в них дыр объясняются в значительной степени их меньшей распространенностью.
Для NFS же реальной альтернативы попросту нет, и если сетевая файловая система реально нужна, то с риском приходится мириться. Собственно, с NFS связаны две проблемы. Первая -- собственно дыры в реализации. Вторая -- то, что авторизация выполняется по IP-адресам, и если злоумышленник установит для своего компьютера адрес доверенной машины, то в то время, когда та выключена (а при небольшой сноровке -- даже когда включена), он может получить доступ к экспортируемым ресурсам.
Использование же Samba-сервера на большинстве машин попросту ни к чему. Реально он требуется лишь на компьютерах, являющихся серверами для Windows-машин, а в таких случаях следует доверять заботу о серверах квалифицированным системным администраторам -- правильная настройка Samba в любом случае дело непростое.
|
Вообще говоря, система разделения ресурсов в Windows -- Netbios или SMB, весьма неудачна как по своей концепции, так и по реализации. Поэтому долгое время SMB являлась у хакеров излюбленным способом взлома Windows-машин, пока пальму первенства не отобрали еще более кривой пакет IIS (Internet Information Server) и программа ICQ (взлом через IIS или ICQ даже считается "неспортивным"). |
При реальной необходимости использования указанных систем остается два способа поддержания безопасности. Первый -- постоянное отслеживание новых версий. Второй -- ограничение доступа по сети.
Ограничение доступа по NFS рассмотрено в разделе "Сетевая файловая система NFS". Отметим лишь, что следует давать доступ как можно меньшему количеству машин, и при возможности -- доступ только на чтение, а не на чтение/запись.
Ограничение доступа к таким подсистемам, как ftp, finger, telnet, talk и т.д. осуществляется пакетом tcp-wrappers (программа tcpd).
При проверке разрешения на доступ tcpd просматривает файлы /etc/hosts.allow и /etc/hosts.deny и (вольный перевод фрагмента man-страницы):
Изначально /etc/hosts.allow и /etc/hosts.deny пусты, что означает "доступ разрешен всем и ко всему".
Язык описания правил доступа довольно гибкий, поэтому мы лишь приведем пример простейшего содержания файлов конфигурации для случая, когда доступ ко всем сервисам дается компьютерам Tom и Jerry из домена example.net, компьютеру Cathy разрешается finger, а всем остальным запрещено все.
Файл /etc/hosts.allow:
# # hosts.allow This file describes the names of the hosts which are # allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # ALL: Tom.example.net Jerry.example.net in.fingerd: Cathy.example.net |
Файл /etc/hosts.deny:
# # hosts.deny This file describes the names of the hosts which are # *not* allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # # The portmap line is redundant, but it is left to remind you that # the new secure portmap uses hosts.deny and hosts.allow. In particular # you should know that NFS uses portmap! ALL: ALL |
Имена компьютеров следует указывать полные -- с именем домена.
Если при такой конфигурации с компьютера VeryBad попробовать запустить на нашу машину finger или telnet, то доступ ему будет закрыт:
verybad:~% finger @bobby [bobby.example.net] verybad:~% telnet bobby Trying 192.168.100.15 ... Connected to 192.168.100.15. Escape character is '^]'. Connection closed by foreign host. verybad:~% _ |
Подробное описание файлов /etc/hosts.allow и /etc/hosts.deny можно найти в man-странице hosts_access(5).
<< Предыдущий раздел | /\ Содержание | >> Следующий раздел