TCP Wrappers (также известный как tcp_wrappers ) — это хостовая сетевая система ACL , используемая для фильтрации сетевого доступа к серверам протокола Интернета на ( Unix-подобных ) операционных системах, таких как Linux или BSD . Она позволяет использовать IP-адреса хоста или подсети , имена и/или ответы на запросы ident в качестве токенов для фильтрации в целях контроля доступа .
Оригинальный код был написан Витсе Венемой в 1990 году для отслеживания действий взломщика на рабочих станциях Unix на кафедре математики и компьютерных наук Эйндховенского технологического университета . [1] Он поддерживал его до 1995 года, а 1 июня 2001 года выпустил его под собственной лицензией в стиле BSD .
В архиве tar есть библиотека libwrap , реализующая реальную функциональность. Изначально только службы, которые создавались для каждого соединения с суперсервера ( например, inetd ), были упакованы с использованием программы tcpd . Однако большинство распространенных сегодня демонов сетевых служб можно напрямую связать с libwrap. Это используется демонами, которые работают без создания с суперсервера, или когда один процесс обрабатывает несколько соединений. В противном случае только первая попытка соединения будет проверена по ее ACL.
По сравнению с директивами управления доступом к хосту, которые часто встречаются в файлах конфигурации демонов, TCP Wrappers обладают преимуществом перенастройки ACL во время выполнения (т. е. службы не нужно перезагружать или перезапускать) и универсальным подходом к администрированию сети.
Это упрощает использование скриптов защиты от червей , таких как DenyHosts или Fail2ban , для добавления и прекращения действия правил блокировки клиентов при обнаружении чрезмерного количества подключений и/или большого количества неудачных попыток входа в систему.
Хотя изначально он был написан для защиты служб приема TCP и UDP , существуют также примеры использования для фильтрации определенных пакетов ICMP , например, «pingd» — ответчик на запросы ping в пользовательском пространстве . [2]
В январе 1999 года дистрибутивный пакет в Технологическом университете Эйндховена (основной сайт дистрибуции до того дня) был заменен модифицированной версией. Замена содержала троянскую версию программного обеспечения, которая позволяла злоумышленнику получить доступ к любому серверу, на котором она была установлена. Автор обнаружил это в течение нескольких часов, после чего переместил основной дистрибутив на свой личный сайт. [3] [4] [5] [6]