Брандмауэры и специальное программное обеспечение 8 Часть 4
Вид материала | Реферат |
СодержаниеРеализация TCP Wrappers |
- Муниципальное общеобразовательное учреждение средняя общеобразовательная школа №12, 174.77kb.
- Управление экономикой и создание экономических информационных систем Изучив данную, 148.93kb.
- Программное обеспечение ЭВМ, 209.59kb.
- Программное обеспечение вычислительной системы, 824.71kb.
- Учебная программа (Syllabus) Дисциплина: Интерфейсы компьютерных систем (iks 3304), 321.31kb.
- Реферат по Информационной безопасности Тема: «Антивирусы», 711.1kb.
- Пк программный комплекс; по программное обеспечение; ппо прикладное программное обеспечение, 208.41kb.
- Лекция 4 Обеспечивающие подсистемы асу. Математическое, программное, лингвистическое,, 59.3kb.
- Математическое и программное обеспечение систем оперативной оценки характеристик сложных, 247.51kb.
- Учебная программа (Syllabus) Дисциплина «Инструментальные средства разработки программ», 374.12kb.
Реализация TCP Wrappers
Чтобы приступить к использованию TCP Wrappers, достаточно выполнить очень простую процедуру. Загляните в файл /etc/inetd.conf и найдите там строку:
telnet stream tcp nowait root /usr/sbin/in.telnetd /usr/sbin/in.telnetd
Замените ее на строку: telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
В результате такой замены при поступлении запроса к службе telnet метаде-мон inetd запустит демон tcpd, который запишет в журнал сведения о соединении «клиент:демон» и, в случае если все необходимые для этого условия выполнены, запустит демон telnetd.
ПРИМЕЧАНИЕ
Чтобы оповестить демон inetd о том, что файл /etc/inetd.conf был модифицирован, необходимо отослать этому демону сигнал SIGHUP. Этот сигнал необходимо посылать после каждой модификации файла /etc/inetd.conf. По этому сигналу метадемон inetd заново читает в память и обработает содержимое файла /etc/inetd.conf.
Не удивляйтесь, если увидите, что упомянутая строка в файле /etc/inetd.conf уже содержит в себе tcpd. Во многих комплектах Linux программа TCP Wrappers используется по умолчанию. Однако в этом случае конфигурация tcpd, как правило, является наиболее универсальной. О том, как настроить tcpd в соответствии с вашими собственными предпочтениями, рассказывается далее.
После того как вы внесете в файл /etc/inetd.conf предложенные ранее изменения, суперсервер inetd вместо сервера telnet будет запускать демон tcpd, который будет документировать сведения о любых попытках подключения к порту telnet в журнале. Вы можете настроить таким способом любую службу, упоминаемую в файле /etc/inetd.conf. Для этого в качестве целевой запускаемой программы для данной службы следует указать tcpd, а в качестве аргумента указать имя демона данной службы, как показано ранее. Естественно, данная строка не должна быть закомментирована. Следует также помнить, что tcpd не поддерживает надежного функционирования совместно со службами, основанными на UDP, а также совместно со службами «r» (rlogin, rsh, rexec).
Однако если помимо документирования сведений о попытках подключений вы желаете также либо вообще блокировать доступ к службе, либо разрешить доступ только для определенных клиентов, вы должны использовать для этой цели два файла: /etc/hosts.allow (разрешенные узлы) и /etc/hosts.deny (запрещенные узлы). Вне зависимости от того, разрешены или запрещены соединения при помощи файлов /etc/hosts.allow и /etc/hosts.deny, сведения о любых подключениях и попытках подключения по-прежнему будут документироваться в журнале, благодаря чему вы по-прежнему будете получать информацию об источниках этих попыток, если, конечно, вы не используете исполняемый файл, откомпилированный в режиме PARANOID.
СОВЕТ
Если для блокирования доступа к порту вы используете IP Chains или netfilter (об этом рассказывается в главе 16), программа TCP Wrappers не будет протоколировать сведений о подключениях через этот порт, так как подключение запрещено правилами брандмауэра. Таким образом, если вы хотите установить для некоторого порта ловушку (TCP Wrappers запускает специализированный сценарий оболочки) или желаете при помощи TCP Wrappers отправить обратно клиенту некоторое сообщение, не следует блокировать данный порт с использованием правил брандмауэра.
Изначально для функционирования tcpd требуются оба файла: /etc/hosts.allow и /etc/hosts.deny. Однако при желании вы можете объединить всю необходимую информацию о разрешенных и запрещенных соединениях в одном файле /etc/ hosts.allow и в дальнейшем работать только с одним этим файлом. Такая конфигурация с использованием только одного файла будет рассматриваться позже в данной главе. Чтобы обеспечить работу в таком режиме, необходимо убедиться, что демон tcpd откомпилирован с использованием параметра PROCESS_OPTIONS (в OpenLinux, равно как и в некоторых других комплектах Linux, этот параметр используется по умолчанию). Формат некоторых записей (в особенности команд оболочки) в файле /etc/hosts.allow различается в зависимости от того, был ли использован во время компиляции параметр PROCESS_ OPTIONS, поэтому вы не должны объединять два файла в один, не выполнив предварительной проверки. В противном случае результаты могут оказаться нежелательными.
ПРИМЕЧАНИЕ
Добавляя записи в файлы /etc/hosts.allow и /etc/hosts.deny, помните, что при обнаружении первой подходящей строки поиск подходящих записей прекращается. Таким образом, все остальные подходящие записи не обрабатываются.
Записи файла /etc/hosts.allow обладают следующим форматом:
демон(ы) : клиент(ы) : параметр : параметр ...
Каждая строка — это разделенный двоеточиями список, состоящий из двух или большего количества колонок. Если вы используете только файл /etc/hosts.allow (как подразумевается в данном тексте), первая колонка параметров обязательна, а все остальные могут отсутствовать. В первой колонке указывается демон или демоны, доступ к которым вы желаете обезопасить. Во второй колонке перечисляются клиенты, в отношении которых действует эта запись. В третьей и последующих колонках перечисляются параметры. Это могут быть программы, которые требуется запустить, или действия, которые требуется выполнить. Если в составе какого-либо параметра используется символ двоеточия (например, в выражении PATH), который не является признаком разделения колонок, перед таким символом двоеточия следует поставить символ обратной косой (\). Кроме того, каждая строка, включая последнюю строку файла, должна завершаться символом новой строки. В противном случае строка не будет обработана.
СОВЕТ
Обратная косая (\) используется для того, чтобы интерпретировать специальные символы как обычные символы. Если некоторый символ имеет специальное значение, а вы хотите, чтобы Ьн был обработан как обычный символ, поставьте перед ним символ обратной косой ( \ ).