LINUX.ORG.RU

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

 , , , ,


0

0

Вышел релиз 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-страницах.

>>> ChangeLog

★★★★

Проверено: maxcom ()
Последнее исправление: cetjs2 (всего исправлений: 1)

Ответ на: комментарий от m00n

>Шикарно. ЛОР во всей красе.

Да, верно. Ты ошибся с разделом/сайтом, выставляя свои эмоции здесь. Иди почитай секьюритифокус, там только серьезные дядьки пишут, а тут судя по тебе, ты теряешь время, ой как неправильно :)

gh0stwizard ★★★★★
()
Ответ на: комментарий от m00n

Ты не учитываешь структуру сети организации, когда для доступа в инет обязательна линукс-машина. Руководство будет в курсе, и заявление писать не придется.

mao-tm
()

Надо здесь ограничение вводить на выходных, ну и во время школьных каникул.

sid350 ★★★★★
()

Господа! Любите русский язык! Релизы не выходят, выходят новые версии программ, а релизы состояиваются.

smolnij
()
Ответ на: комментарий от smolnij

> Господа! Любите русский язык! Релизы не выходят, выходят новые версии программ, а релизы состояиваются.

Похоже на то, что ты сам его не очень-то любишь ;)

MadCat
()
Ответ на: комментарий от shutty

При чём тут мой мегахостинг? Следующим шагом станет обновление iptables на корневых роутерах у нас в люксембурге, а дальше...ну вы понели.

ArtemZ
()

Фингерпринты-шминты. Кто в курсе, функциональность patch-o-matic/ipset не собираются нормально прикрутить?

anonymous
()
Ответ на: комментарий от anonymous

>Фингерпринты-шминты. Кто в курсе, функциональность patch-o-matic/ipset не собираются нормально прикрутить?

В дебиане она уже прикручена.
http://packages.debian.org/lenny/netfilter-extensions-source
http://packages.debian.org/squeeze/xtables-addons-source

А вообще большинство вещей, которые были в POM пару лет назад, сейчас поддерживаются нативно.

nnz ★★★★
() автор топика
Ответ на: комментарий от wilkomen-to-lor

> по статистике, посетителей под ИЕ больше, чем вендузовых и бздевых тролей вместе взятых =>

вывод - большинство так называемых лунексоидов ещё большие вендузятники


у тебя грубые ошибки в логическом мышлении, звучит как:
травка зеленеет => солнышко блестит.

szh ★★★★
()
Ответ на: комментарий от gh0stwizard

>Однако применения шибкого я этому не вижу.

добавить в правило 25-й порт и редиректить почту с виндовых хостов на отдельную машину(на которой, к примеру, graylist накрутить).

se ★★
()

Вызываю КО для пояснения того, что означает эта дивная строчка с iptables-ом. Единственное, на что оказался способен мой мозг - сообразить что при traceroute с вендовых машин, проходящих через данный сервер, машина через одну будет показываться как ???. Есть ещё какие то последствия?

Legioner ★★★★★
()
Ответ на: комментарий от Lumi

Тут фишка не в том кому редиректить, а от кого. Так что вся почта с вендовых хостов будет идти через фильтр.

daemonpnz ★★★★★
()
Ответ на: комментарий от Legioner

>Вызываю КО для пояснения того, что означает эта дивная строчка с iptables-ом. Единственное, на что оказался способен мой мозг - сообразить что при traceroute с вендовых машин, проходящих через данный сервер, машина через одну будет показываться как ???. Есть ещё какие то последствия?

Данный конкретный пример блокирует только входящие соединения на сам сервер.
Для блокировки транзитных соединений достаточно заменить INPUT на FORWARD.

А трейс тут не при чем, да. Это только для TCP работает.

nnz ★★★★
() автор топика
Ответ на: комментарий от szh

это каждый понимает в меру своей логики и испорченности

разъясняю: среди линухоидов больше пользователей уиндоус, чем среди нашего брата

wilkomen-to-lor
()
Ответ на: комментарий от Legioner

OSF has following options:
--log 1/0.
If present, OSF will log determined genres even if they don't match desired one.
0 - log all matched and unknown entries,
1 - only first one.
2 - log all matched entries.

--ttl
0 - true ip and fingerprint TTL comparison. Works for LAN.
1 - check if ip TTL is less than fingerprint one. Works for global addresses.
2 - do not compare TTL at all. Allows to detect NMAP, but can produce false results.


Sylvia ★★★★★
()
Ответ на: комментарий от Legioner

>А в чём тайный смысл -ttl 2 ?

Е-мае, там же русским по синему написано

опция --ttl 2 предписывает не учитывать TTL при детекции

nnz ★★★★
() автор топика
Ответ на: комментарий от nnz

статика
снапшот с git
собрала с kernel headers 2.6.32
iptables 1.4.6

Sylvia ★★★★★
()

Интересно, я тут один на этом празднике жизни задаюсь вопросом: почему INPUT, а не FORWARD с соответствующими изменениями указан в примере?

BigBiker
()
Ответ на: комментарий от nnz

>Вызываю КО для пояснения того, что означает эта дивная строчка с iptables-ом. Единственное, на что оказался способен мой мозг - сообразить что при traceroute с вендовых машин, проходящих через данный сервер, машина через одну будет показываться как ???. Есть ещё какие то последствия?

Данный конкретный пример блокирует только входящие соединения на сам сервер. Для блокировки транзитных соединений достаточно заменить INPUT на FORWARD.

А трейс тут не при чем, да. Это только для TCP работает.

Опередили ;)

BigBiker
()

Да, развелось на ЛОР-е ПТУ-шников, аж жуть. Абы шо ляпнуть, по любой теме, особенно по той, в которой понятия не имеют...

Различать машинки по типу ОС очень удобно, поскольку почти всегда известно, какой порт/протокол используется конкретной болячкой конкретной ОС. Линуха тоже сканят и ломают, а если ПТУ-шник оставит рутовый пароль из словаря, тока англицскими буквами, то вероятность взлома и обсиживания глистами и мухами - 100%.

Очень удобно отбиваться, например от ботнетов в критической ситуации, когда нужно хоть доступ к тачке получить. Увидел загрузку вебсервера 20 с лишним - врубай правило из примера и свисти сисадмину. За одно можно и в лог IP адреса отписать...

Очень удобно на рутере провайдера заблокировать всем виндам входящий порт управлялки известного ботнета....

Мало ли чего убодно делать можно, лишь бы прикрыть голый зад несчастных пользователей убогой винды и убогих пользователей крутого линуха.

Именно по этой причине у умных людей рутеры на xBSD c pf имени Teo стоят, а не линух. А теперь и линух можно ставить, наверно :)

alukin
()
Ответ на: комментарий от alukin

>Именно по этой причине у умных людей рутеры на xBSD c pf имени Teo стоят, а не линух. А теперь и линух можно ставить, наверно :)

Умные люди такой хни не написали бы... Скажи, умный людишка, когда в xBSD появились аналоги iproute2, IMQ, HTB и подобных вещей, которые в линуксе есть минимум лет 15? Когда ответишь на этот вопрос, вытри сопли, смени памперс и убейся апстенку... Что касается определение ОС в линуксе, так оно лет 10 как есть, просто все в официальное ядро не входит, это не бзд, которое как сорока ворует все блестящее и тянет в свое гнездо при этом функционал все равно отстает лет на 5-10 от линукса.

anonymous
()
Ответ на: комментарий от nnz

> В дебиане она уже прикручена.

Ых. Еще один плюс дебиану, но с федоры пока уходить не буду.

большинство вещей, которые были в POM пару лет назад, сейчас поддерживаются нативно.

А как с списками сетей? Типа «iptables -A INPUT -m set --match-set RFC3330 [..]» и не только.

anonymous
()

А iptables уже научился добавлять правила, фильтрующиеся по пути к бинарнику приложения? (например, /usr/bin/firefox)?

Flaming ★★
()
Ответ на: комментарий от no-dashi

> Да, да!!! Макс, апгрейдимся!!! Я сам пересоберу для тебя ядро и iptables, и даже заверну в RPM!!! :-)

а хорошо бы логгировать ОС каждого TCP соединения... и даже сообщать в веб-странице...

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от anonymous

> А как с списками сетей?

Туплю. Погуглил по iprange из новости, это что, вот такая, например, конструкция будет нормально работать? Добавляться добавляется, в списке правил два условия тоже отображается.

iptables -A INPUT -p tcp -m iprange --src-range 192.168.1.100-192.168.1.200 -m iprange --src-range 192.168.1.220-192.168.1.230 -j ACCEPT

anonymous
()

этак линукс скоро до бсд дорастет. всего-то в 2009 году сделали то что в опенке уже хрен знает сколько.

anonymous
()
Ответ на: комментарий от anonymous

Вот когда в бсд сделают всё то, что есть в линуксе... ;) Хотя «не нужно» же, да.

anonymous
()
Ответ на: комментарий от d1337r

>> теперь переводить пользователей на линукс будет в 9000 раз проще :)

в 99000 раз :-)

kto_tama ★★★★★
()
Ответ на: комментарий от anonymous

«Prior to iptables, the predominant software packages for creating Linux firewalls were ipchains in Linux 2.2; and ipfwadm in Linux 2.0 which in turn was based on BSD's ipfw.» © Wikipedia :)))

iZEN ★★★★★
()
Ответ на: комментарий от anonymous

>А как с списками сетей? Типа «iptables -A INPUT -m set --match-set RFC3330 [..]» и не только.

ipset есть в дебиане (точнее, ставится за две команды).

nnz ★★★★
() автор топика

Забавная практически бессмысленная штучка... Но пусть будет, да - глядишь, для IPS'а какого сойдёт в будущем; хотя они и так, без этого, сейчас в основном на Linux.

P.S. Очень хотелось бы увидеть реальный пример применения, а не всю ту хрень дурную, что тут озвучили. И да - капча 10 perkiest намекает... Ж;-)

Cyril ★★
()
Ответ на: комментарий от nnz

> ipset есть в дебиане (точнее, ставится за две команды)

Спасибо, это уже прочитал, но хотел знать, как с этим в ванили на даный момент. Если фишки аналогичные ipset сюда постепенно перетягивают.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо, это уже прочитал, но хотел знать, как с этим в ванили на даный момент. Если фишки аналогичные ipset сюда постепенно перетягивают.

В ванилу емнип ipset брать не хотят (видимо, не нравится им что-то).

А вообще есть такая замечательная вещь, как recent. Например,

iptables -m recent --name test --rcheck -j бла-бла-бла
# Заполняется список так:
echo +1.2.3.4 >/proc/net/ipt_recent/test
echo +2.3.4.5 >/proc/net/ipt_recent/test
# ...
Правда, на текущий момент он не умеет хранить подсети, порты и маки. Зато, в отличие от ipset, позволяет учитывать количество обращений к записи (--hitcount) за заданный интервал времени (--seconds). Подробнее см. в википедии.

nnz ★★★★
() автор топика

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

Это не Ъ, вот настоящий Ъ:
iptables -I INPUT -p tcp -m osf --genre Windows --ttl 2 -j TARPIT

anonymous
()
Ответ на: комментарий от anonymous

>-j TARPIT

Вроде бы как проблему с orphaned connections в винде таки закрыли пару месяцев назад (не прошло и двадцати лет).

А так да, +1 (далеко не все пользователи винды ставят обновления).

nnz ★★★★
() автор топика

а скажите други добрые, если пакет win проходит через нат, который роутер на линакзе, то как его определит iptables?

anonymous
()
Ответ на: комментарий от anonymous

>а скажите други добрые, если пакет win проходит через нат, который роутер на линакзе, то как его определит iptables?

По идее должен нормально определить. Нат же только адреса меняет.
А вот pf со своим скрабом можеть серьезно подпортить малину :)

nnz ★★★★
() автор топика
Ответ на: комментарий от nnz

> А вот pf со своим скрабом можеть серьезно подпортить малину :)

Да много что может подпортить малину. А с учётом того, что задача фильтрации по платформе в принципе является на 99,(9)% надуманной...

Cyril ★★
()
Ответ на: комментарий от praseodim

>Тогда в него добавят фичу притворяться заданной ОС. Если еще не.

Сейчас полный скан портов легко зарезать через критерий psd (доступен в xtables-addons).

nnz ★★★★
() автор топика

Хотите отдохнуть от ЛОР? Прокастуйте Макскома до 6ого уровня и получите iptables -I INPUT -p tcp -m osf --genre Windows --ttl 2 -j DROP в подарок!

FiXer ★★☆☆☆
()

Давайте команду из примера выполним на всех линукс-роутерах планеты Земля!

f00fc7c8
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.