Брандмауэры и специальное программное обеспечение 8 Часть 4
Вид материала | Реферат |
СодержаниеСимвольные расширения Разнообразные особенности |
- Муниципальное общеобразовательное учреждение средняя общеобразовательная школа №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.
Символьные расширения
Символьные расширения — это комбинации специальных символов, которые в процессе обработки текстовой информации заменяются некоторыми данными. Допускается использовать следующие символьные расширения:
- %а (%А) — адрес сетевого узла клиента (сервера);
- %с — какая-либо информация о клиенте (в зависимости от того, что известно), это может быть запись в формате пользователь@узел и IP-адрес или просто IP-адрес; - %d — имя процесса демона (например, in.teLnetd);
- %h (%H) — имя сетевого узла или IP-адрес клиента (сервера);
- %n (%N) — имя сетевого узла клиента (сервера) или «unknown» или «paranoid» если имя недоступно;
- %р — идентификатор процесса (PID) демона;
- %s — информация о сервере: демон@узел или IP-адрес или просто имя демона, в зависимости от того, какая информация доступна;
- %u — имя пользователя (или unknown);
- %% — в результирующем тексте заменяется на обычный символ процента (%).
'
Разнообразные особенности
Несмотря на свою гибкость и богатый набор возможностей, программа TCP Wrappers обладает рядом недостатков. Во-первых, TCP Wrappers не может корректно работать с UDP. Если бы эта программа могла бы обслуживать UDP, ее автор назвал бы ее IP Wrappers или TCP/UDP Wrappers. Одна из причин этого кроется в том, что метадемон inetd вызывает службы UDP с ключом wait (ожидание). Демоны, вызываемые с ключом wait, не покидают очередь ожидания сразу же после приема пакета UDP. Таким образом, информация о первом подключившемся к службе клиенте будет внесена в журнал, однако если второй клиент подключится к этой же службе раньше, чем демон покинет очередь ожидания, сведения о нем не будут внесены в журнал. Помимо этого TCP Wrappers не будет корректно работать также в отношении служб, основанных на RPC, то есть таких, которые в файле /etc/services помечены как rpc/tcp.
Программу TCP Wrappers не следует использовать совместно с web-сервером Apache. Дело в том, что этот сервер обладает встроенным механизмом TCP Wrappers и использование совместно с ним программы tcpd является излишеством. Конфигурирование Apache выполняется приблизительно так же, как и конфигурирование tcpd, поэтому если вы освоили работу с tcpd, вы сможете выполнить также настройку Apache.
tcpdchk
Утилита tcpdchk позволяет проверить наличие синтаксических ошибок в файле hosts.allow. Утилита поддерживает множество ключей командной строки и режимов работы. Например, ключ -d предписывает утилите использовать файл hosts.allow (и hosts.deny, если он используется), расположенный в текущем каталоге, а не в каталоге /etc. Конечно, если текущий каталог совпадает с каталогом /etc, этот режим будет бесполезным для вас, однако воспользовавшись ключом -d, вы сможете протестировать разрабатываемый вами набор правил, прежде чем использовать его на практике.
При использовании ключа -v утилита tcpdchk будет отображать на экране каждую обрабатываемую строку, а также порядок ее обработки. Пример вывода этой утилиты представлен в листинге 15.1. В этом листинге осуществляется обработка набора правил, рассмотренного в самом начале, с внесенными в него добавлениями из дальнейшего текста.
Листинг 15,1. Вывод утилиты tcpdchk
# tcpdchk _v
Using network configuration file: /etc/inetd.conf
>>> Rule /etc/hosts.allow line 1:
daemons: ALL
clients: .void.org EXCEPT david@bar.void.org
option: ALLOW
access: granted
>>> Rule /etc/hosts.allow line 2:
daemons: ALL EXCEPT in.telnetd
clients: david@bar.void.org
option: ALLOW
access: granted
>>> Rule /etc/hosts.allow line 4:
daemons: in.telnetd
clients: david@bar.void.org
option: spawn (/usr/sbin/safe_finger _1 @client_hostname | /usr/bin/mail root) &
option: DENY
access: denied
>>> Rule /etc/hosts.allow line 5:
daemons: in.ftpd
clients: ALL
option: ALLOW
access: granted
>>> Rule /etc/hosts.allow line 6:
daemons: ALL
clients: ALL
option: DENY
access: denied
Если утилита tcpdchk не может обнаружить используемый вами файл inetd.conf, вы можете воспользоваться ключом -i, после которого следует указать полный путь к файлу inetd.conf. Этот же ключ может оказаться полезным в процессе тестирования пробной конфигурации inetd (когда тестовый файл inetd.conf располагается в каталоге, отличающемся от /etc).
Наконец, ключ -а проверяет наличие возможности доступа, который явно не разрешен в составе конфигурации tcpd, иными словами, какие демоны могут быть запущены клиентами благодаря тому, что в файле hosts.allow отсутствуют правила, явно разрешающие доступ к этим демонам.
tcpdmatch
Утилита tcpdmatch позволяет выполнять конкретные тесты в отношении ваших конфигурационных файлов. Ключ -d позволяет тестировать файл hosts.allow, расположенный в вашем текущем каталоге (как и в случае с утилитой tcpdchk). Ключ -i позволяет указать полный путь к файлу inetd.conf.
При запуске tcpdmatch необходимо использовать следующий формат:
tcpdmatch демон[@сервер] [пользователь@]клиент
Параметр сервер можно использовать для сетевых узлов, оснащенных несколькими сетевыми картами. Некоторые примеры показаны в листинге 15.2.
Листинг 15.2. Пример вывода утилиты tcpdmatch
# tcpdmatch in.telnetd bar
warning: bar: hostname alias
warning: (official name: bar.void.org)
client: hostname bar.void.org
client: address 192.168.0.2
server: process in.telnetd
matched: /etc/hosts.allow line 1
option: ALLOW
access: granted
# tcpdmatch in.telnetd david@bar
warning: bar: hostname alias
warning: (official name: bar.void.org)
client: hostname bar.void.org
client: address 192.168.0.2
client: username david
server: process in.telnetd
matched: /etc/hosts.allow line 4
option: spawn (/usr/sbin/safe_finger _1 Pbar.void.org | /usr/bin/mail root) &
option: DENY
access: denied
# tcpdmatch in.ftpd locutus2.calderasystems.com
client: hostname locutus2.calderasystems.com
client: address 207.179.39.2
server: process in.ftpd
matched: /etc/hosts.allow line 5
option: ALLOW
access: granted
# tcpdmatch in.telnetd locutus2.calderasystems.com
client: hostname locutus2.calderasystems.com
client: address 207.179.39.2
server: process in.telnetd
matched: /etc/hosts.allow line 6
option: DENY
access: denied