Управление доступом 469
В записях hosts.allow и hosts.deny допустимы специальные ключевые слова
ALL
и
LOCAL.
Ключевое слово ALL может использоваться в списке служб для ука-
зания всех служб сети, а также в списке узлов для указания всех имен узлов и
адресов. Второе ключевое слово,
LOCAL,
может использоваться только в списке
узлов. Оно соответствует всем локальным именам узлов, tcpd считает имя уз-
ла «локальным», если оно не содержит точек. Таким образом, имя узла ro-
dent соответствует указанию LOCAL, а имя rodent.wrotethebook.com - нет. Сле-
дующая запись относится ко всем службам и всем локальным узлам:
ALL : LOCAL
Чтобы лучше понять принципы применения tcpd, рассмотрим более слож-
ный пример. Прежде всего, предположим, что необходимо разрешить всем
узлам локального домена (wrotethebook. сот) доступ ко всем службам систе-
мы, но запретить доступ к каким-либо службам всем прочим узлам. Соз-
дайте в файле /etc/hosts.allow запись, разрешающую всем узлам локального
домена доступ к любым службам:
ALL : LOCAL, .wrotethebook.com
Ключевое слово ALL в списке служб говорит о том, что правило относится ко
всем сетевым службам. Двоеточие (:) отделяет список узлов от списка
служб. Ключевое слово LOCAL показывает, что допустимы все локальные име-
на без доменного расширения, а строка .wrotethebook.com - что все имена уз-
лов, дополненные доменным именем wrotethebook.com, также допустимы.
Разрешив доступ только тем системам, которые необходимо обслуживать,
следует явно запретить доступ всем остальным системам - в файле hosts.de-
ny. Чтобы запретить обращения со стороны прочих узлов, внесите такую за-
пись в файл /etc/hosts.deny:
ALL : ALL
Все системы, не соответствующие записи из /etc/hosts.allow, обрабатывают-
ся по правилам из /etc/hosts.deny. В данном случае запись запрещает доступ
всем, независимо от службы, о которой идет речь. Помните, даже в присут-
ствии ключевого слова ALL в списке служб правило действует только на
службы, работающие под управлением
inetd,
и только в том случае, если за-
писи этих служб в файле inetd.conf соответствующим образом изменены. Ав-
томатическая защита для всех прочих служб не предоставляется.
Синтаксис стандартного файла управления доступом для wrapper может
быть чуть более сложным, чем в приведенных примерах. Файл hosts.allow
может содержать такие записи:
imapd, ipopd3 : 172.16.12.
ALL EXCEPT imapd, ipopd3 : ALL
Первая запись разрешает доступ к службам IMAP и POP всем узлам, IP-ад-
реса которых начинаются с 172.16.12. Вторая строка разрешает всем узлам
доступ ко всем службам, кроме IMAP и POP. Данные записи ограничивают
доступ к почтовой службе одной подсетью, в то же время предоставляя все