Пакет wrapper выполняет две основные функции: регистрирует обращения к интернет-службам и реализует механизм управления доступом для систем Unix.
Регистрация обращений к конкретным сетевым службам - полезная функция наблюдения, особенно при поиске возможных нарушителей. Даже не имея иной функциональности, пакет wrapper был бы полезен. Однако его настоящая сила заключена в способности управлять доступом к сетевым службам.
Программа wrapper входит в состав многих вариантов систем Linux и Unix. Кроме того, tar-архив wrapper, содержащий исходный текст на языке С и файлы сборки, необходимые для компиляции демона tcpd, доступен на ряде сайтов в сети Интернет.
Если в вашей системе Unix нет программы wrapper, загрузите ее исходный текст, соберите tcpd, а затем установите программу в каталог, где хранятся прочие сетевые демоны. Отредактируйте файл /etc/inetd.conf и замените путь для всех демонов сетевых служб, доступ к которым необходимо разграничить, путем к демону tcpd. Установка tcpd влияет лишь на одно поле файла /etc/inetd.conf - шестое, а именно то, которое содержит путь к сетевому демону.
К примеру, запись демона finger в файле /etc/inetd.conf нашей системы Solaris 8 выглядит так:
finger stream tcp6 nowait nobody /usr/sbin/in.fingerd in.fingerd
Значение шестого поля - /usr/sbin/in.fingerd. Чтобы контролировать доступ к демону finger, укажите в этом поле значение /usr/sbin/tcpd, как показано ниже:
finger stream tcp6 nowait nobody /usr/sbin/tcpd in.fingerd
Теперь, получив запрос к демону fingerd, inetd запустит tcpd. tcpd фиксирует обращение к fingerd, сверяется с данными управления доступом, а затем, при наличии разрешения, запускает уже собственно демон finger, который и обрабатывает запрос. Таким образом, tcpd выступает в роли сторожа для других демонов.
Внесите подобные изменения в записи всех служб, для которых необходимо осуществлять управление доступом. Подходящие кандидаты - ftpd, tftpd, telnetd и fingerd. Очевидно, tcpd не может напрямую управлять доступом к службам, которые не находятся под контролем inetd, таким как sendmail и NFS. Однако другие инструменты, например portmapper, используют файлы настройки tcpd для определения собственной политики управления доступом. Таким образом, настройка wrapper может положительно влиять на безопасность даже тех демонов, которые запускаются независимо от inetd. В большинстве систем Linux применять wrapper еще проще. Не требуете искать и устанавливать программу tcpd - она входит в состав системы. Не требуется даже редактировать файл /etc/inetd.conf, поскольку шестое поле записей этого файла уже указывает на программу tcpd:
finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd -w