• Домен. Домен можно задавать так же, как вы задается доменное имя одного компьютера. Отличие состоит лишь в том, что в данном случае имя должно начинаться с точки. Если в файле указано имя . threeroomco.com
, оно определяет все компьютеры, принадлежащие домену threeroomco.com
.
• Имя группы NIS. Если последовательность символов начинается со знака @
, оно интерпретируется как имя группы NIS (Network Information Services — сетевая информационная служба). Этот метод предполагает, что в сети функционирует сервер NIS.
В списке клиентов могут присутствовать ключевые слова, определяющие групповые операции. Назначение этих ключевых слов описано ниже.
• ALL
. Идентифицирует все компьютеры.
• LOCAL
. Определяет все локальные компьютеры на основании анализа имени узла. Если в имени отсутствует точка, соответствующий узел считается локальным.
• UNKNOWN
. Данное ключевое слово задает все компьютеры, чьи доменные имена не могут быть получены средствами преобразования имен.
• KNOWN
. Идентифицирует компьютеры, доменные имена и IP-адреса которых известны системе.
• PARANOID
. Определяет компьютеры, имена которых не соответствуют IP-адресам.
При использовании последних трех ключевых слов надо соблюдать осторожность, поскольку, если они присутствуют в списке клиентов, компьютер обращается к серверу DNS. Неисправность сетевого оборудования может привести к ненадежной работе сервера DNS. Если сервер DNS недоступен, получить доменное имя компьютера не удастся. Пример файла /etc/hosts.allow
, содержащего две строки, приведен ниже.
telnet,ftp : 192.168.34. dino.pangaea.edu
ssh : LOCAL .pangaea.edu
Первая строка задает правила установления соединений для серверов Telnet и FTP, разрешая доступ к ним только из сети 192.168.34.0/24 и с компьютера dino.pangaea.edu
. Вторая строка сообщает о том, что доступ к серверу SSH разрешен только для машин локальной сети, а также для компьютеров, принадлежащих домену pangaea.edu
. Поскольку другие серверы не указаны в списках демонов, TCP Wrappers не блокирует доступ к ним. Например, если вы запустите через inetd
и TCP Wrappers Apache, обратиться к этому серверу сможет каждый желающий.
Используя в списке клиентов записи типа пользователь @ компьютер
, вы можете управлять доступом отдельных пользователей, работающих на удаленных узлах. Для того чтобы это было возможно, на клиентском компьютере должен выполняться сервер ident
(в некоторых системах он называется auth
), который возвращает имя пользователя, работающего с конкретным сетевым портом. Компьютер, использующий TCP Wrappers, передает запрос клиентской машине и получает имя пользователя. В этом случае соединение устанавливается с некоторой задержкой, а информация о пользователе, полученная из Internet, не всегда заслуживает доверия. Поэтому данную возможность лучше использовать в локальной сети, где вы имеете возможность контролировать конфигурацию всех компьютеров.
В составе правила может присутствовать дополнительное ключевое слово EXCEPT
. Оно определяет исключения из этого правила. Рассмотрим следующую запись, содержащуюся в файле /etc/hosts.deny
:
www : badcracker.org EXCEPT goodguy@exception.badcracker.org
В данном случае доступ к Web-серверу запрещается для всех компьютеров, принадлежащих домену badcracker.org
. Исключением являются лишь запросы, полученные от пользователя goodguy@badcracker.org
. Аналогичный результат можно получить, включив правило для goodguy@exception.badcracker.org
в файл /etc/hosts.allow
.
Если перед вами стоит задача максимально повысить безопасность системы, вы можете начать настройку с создания файла /etc/hosts.deny
, содержащего следующую информацию:
ALL : ALL
Эта запись блокирует доступ ко всем серверам, поддерживаемым TCP Wrappers, с любого компьютера, независимо от его адреса. Затем можно постепенно разрешать доступ к серверам, составляя соответствующие правила и записывая их в файл /etc/hosts.allow
. Возможности доступа должны ограничиваться необходимым минимумом. В частности, к серверам, чувствительным к попыткам взлома извне, например к Telnet, следует разрешить доступ только для определенных компьютеров. (Дело в том, что в процессе Telnet-взаимодействия данные, в том числе пароль, передаются в незашифрованном виде. Строго говоря, если компьютер содержит важные данные, на нем не следует вовсе устанавливать Telnet-сервер. Подробно эти вопросы будут обсуждаться в главе 13.)
Читать дальше