2009-12-11

iptables 1.4.6 с поддержкой критерия OS Fingerprinting

Вышел релиз iptables 1.4.6 — интерфейса к Linux-фаерволу netfilter.

Основным новшеством данного релиза является поддержка критерия osf (passive OS fingerprinting), аналогичного критерию os OpenBSD-фаервола pf. Оба этих критерия позволяют по TCP SYN-пакету определить семейство и, в некоторых случаях, даже примерную версию операционной системы, отправившей этот пакет. Детекция производится на основании анализа ряда характеристик пакета, таких как размер TCP-окна, максимальный размер сегмента (MSS), опции TCP, бит DF и т.п. Совокупность значений этих параметров, позволяющая однозначно идентифицировать систему-отправителя, называет сигнатурой. Существующий на настоящий момент список сигнатур, сопровождаемый сообществом OpenBSD, весьма обширен.

Пример использования:

iptables -I INPUT -p tcp -m osf --genre Windows --ttl 2 -j DROP


позволит заблокировать соединения, инициируемые операционными системами семейства Windows (опция --ttl 2 предписывает не учитывать TTL при детекции).

Критерий osf был реализован Евгением Поляковым (разработчиком POHMELFS и автором порта CARP под Linux) еще в 2003 году. Однако соответствующий модуль netfilter был принят в ядро лишь в июне текущего года, а интерфейс к нему на уровне iptables появился только сейчас.

Заметим, что для использования данного критерия необходима утилита nfnl_osf, обеспечивающая подгрузку базы сигнатур для модуля детекции через интерфейс nfnetlink. Будем надеяться, что мейнтейнеры соответствующих пакетов в наших любимых дистрибутивах вскоре обратят свое внимание на эту проблему. Пока же самые нетерпеливые могут собрать эту утилиту по старинке, через make bin (для сборки нужны заголовки библиотеки nfnetlink).

Среди других изменений в данном релизе iptables можно отметить поддержку ядра 2.6.32, исправление ряда мелких проблем в отдельных модулях (xt_iprange, xt_conntrack), поправки в man-страницах.

Комментариев нет: