Раздел: Документация
0 ... 72 73 74 75 76 77 78 ... 125 ALL:ALL Затем можно разрешить в файле hosts .allow доступ только для выбранных вами узлов. При такой настройке будет запрещен доступ для всех узлов, которые tcpd не сумеет найти в файле hosts. allow. Возможно, вам пригодится также оператор EXCEPT, например: ALL : .twolnc.com EXCEPT zira.twolnc.com Если включить эту строку в файл hosts.allow, то все узлы в домене twoinc.com (кроме узла zira.twoinc.com) получат доступ ко всем службам. В правило полезно также включить необязательную команду оболочки. Такие команды запускаются в качестве дочерних процессов, стандартный ввод, вывод и вывод диагностики которых перенаправлен в /dev/null. При работе с командами оболочки всегда следует указывать полный путь к файлу команды. В табл. 13.2 перечислены некоторые переменные, используемые при этом. Таблица 13.2. Переменные, которые можно применять в командах оболочки Переменная Опигпни**, ... ? ; %a (или %А)Адрес клиента (или сервера) %сИнформация о клиенте. Имеет вид user@host, userSaddress либо содержит только имя или только адрес узла. Возвращаемое значение зависит от того, кокая информация доступна в данной версии системы %dИмя процесса демона (получаемое с помощью argv [ 0 ]) %h (или %н)Имя клиента (или сервера). Если имя не задано, возвращается адрес %п (или %N)Возвращает имя клиента (или сервера) либо одно из значений unknown или paranoid %рИдентификатор процесса демона %sИнформация о сервере. Имеет вид daemon@host, daemon@address либо содержит только имя демона. Возвращаемое значение зависит от того, какая информация доступна в данной версии системы %иВозвращает имя клиента или значение unknown %%Обозначает символ % Вот пример вызова команды оболочки: in.ftpd : .twoinc.com : (/usr/bln/safe fInger -1 @%h I /usr/ucb/mall -s %d-%h root)& Если включить это правило в файл hosts .deny, пользователь root получит сообщение электронной почты лишь при условии, что с какого-то из узлов домена twoinc. com будет предпринята попытка доступа к службе FTP, и сработает данное запрещающее правило. Обратите внимание, что в качестве имени клиента подставляется переменная %h, а в качестве имени службы - переменная %d. Что такое safe finger? Чтобы предотвратить проблемы, возникающие, когда хакеру удается получить ответ от демона finger, не устанавливайте версию finger, поставляемую вместе с системой. Как и в любой программе UNIX, написанной много лет назад, в ней имеются слабые места, которыми способен воспользоваться грамотный хакер. Применяйте вместо этого программу safe finger, входящую в состав TCP Wrappers. Безопасные версии этой программы (а их существует несколько!) лучше написаны и способны ограничивать объем информации, которую могут увидеть те, для кого она не предназначена. Как и другие компоненты данного пакета, эта программа распространяется в виде исходного текста на языке С и требует предварительной компиляции. Ограничения TCP Wrappers В табл. 13.2 были перечислены различные переменные, подставляемые в команды оболочки. Одна из них, %и, в соответствии с документом RFC 931 позволяет получать информацию о клиенте, с которого приходит запрос пользователя. Что такое RFC 931? Документ RFC 931 определяет протокол Authentication Server Protocol (протокол сервера аутентификации). С помощью данного протокола удается определить имя пользователя по номеру порта, задействованного для соединения между двумя узлами. Сервер протокола ожидает соединения на 13-м порту TCP. При подключении к этому порту сервер считывает строку данных с описанием соединения. Если соединение существует на сервере, то в ответ на запрос возвращается имя владельца соединения. Такая служба реализована не во всех версиях UNIX и TCP/IP, так что не следует слишком полагаться на нее. Кроме того, с момента написания RFC 931 вышли другие документы, например RFC 1413, в которых имя данной службы поменялось на Identification Protocol (протокол идентификации). Не забывайте также, что пакет TCP Wrappers не должен быть единственной линией защиты вашей системы. IP-адреса и имена узлов не трудно сфальсифицировать, a TCP Wrappers не всегда способен заметить это. Поскольку данный пакет служит лишь для первоначального запуска нужного демона, который будет обслуживать запрос, его не следует применять с такими службами, как NFS, обслуживающими после старта запросы нескольких клиентов. Воспользоваться TCP Wrappers в состоянии лишь службы, которые устанавливают соединение и запускаются демоном inetd. Фоновые демоны, запускаемые при загрузке системы, работают по-другому. Пакет TCP Wrappers содержит несколько утилит, позволяющих диагностировать ошибки настройки. Программа tcpdchk проверяет правила в файлах hosts.allow и hosts.deny и сообщает об обнаруженных проблемах. Посредством программы tcpdmatch контролируется работоспособность созданных правил. Синтаксис этой команды: tcpdmatch имя процесса имя узла или tcpdmatch имя процесса адрес Имя процесса - это имя службы в том виде, как оно записано в файлах правил. В качестве имени и адреса узла задаются соответствующие параметры узла, для которого вы собираетесь проверить работоспособность правил. Резюме Пакет TCP Wrappers применяется для управления доступом к стандартным службам TCP и UDP, которые запускаются на узле сети или межсетевом экране. Хотя демон этого пакета и не способен полностью удовлетворить потребности в защите сети, он оказывается полезным, в особенности благодаря предоставляемым им возможностям аудита. Помните, что межсетевой экран состоит из множества компонентов, и их выбор должен определяться вашей политикой безопасности п архитектурой сети и межсетевого экрана. 0 ... 72 73 74 75 76 77 78 ... 125
|