LINUX.ORG.RU — Русская информация об ОС Linux

[#]  
nnz

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-страницах.

>>> ChangeLog

Метки: iptables, linux, netfilter, openbsd, osf, pf, безопасность

nnz **** (10.12.2009 5:08:00)
Проверено: maxcom (10.12.2009 9:04:06)
Juick

[#] Ответ на: комментарий от m00n 10.12.2009 12:00:44  
gh0stwizard

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

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

gh0stwizard **** (10.12.2009 12:36:14)
[#] Ответ на: комментарий от m00n 10.12.2009 12:31:05  
mao-tm

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

mao-tm (10.12.2009 12:45:08)
[#]  
sid350

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

sid350 *** (10.12.2009 13:08:05)
[#]  
smolnij

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

smolnij (10.12.2009 13:18:52)
[#] Ответ на: комментарий от smolnij 10.12.2009 13:18:52  

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

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

MadCat * (10.12.2009 13:25:54)
[#] Ответ на: комментарий от shutty 10.12.2009 11:45:47  
ArtemZ

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

ArtemZ * (10.12.2009 13:29:32)
[#] Ответ на: комментарий от ArtemZ 10.12.2009 13:29:32  
wilkomen-to-lor

Банкротство из-за оттока клиентов?

wilkomen-to-lor (10.12.2009 13:39:14)
[#]  

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

anonymous (10.12.2009 13:42:25)
[#]  
Klayman

линукскапец

Klayman * (10.12.2009 13:59:44)
[#] Ответ на: комментарий от anonymous 10.12.2009 13:42:25  
nnz

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

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

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

nnz **** (10.12.2009 14:20:44)
[#]  
programmist

интересно, а в nftables такое будет?

programmist * (10.12.2009 14:28:04)
[#]  
ZeroDivisionError

А как у этого с производительностью? :)

ZeroDivisionError (10.12.2009 14:29:45)
[#] Ответ на: комментарий от wilkomen-to-lor 10.12.2009 12:22:56  

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


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

szh **** (10.12.2009 14:37:52)
[#] Ответ на: комментарий от gh0stwizard 10.12.2009 10:32:17  
se

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

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

se ** (10.12.2009 14:42:03)
[#]  
Legioner

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

Legioner ***** (10.12.2009 14:54:55)
[#] Ответ на: комментарий от se 10.12.2009 14:42:03  

А линуксоидам будет валиться спам нефильтрованный? Что они тебе плохого сделали?

Lumi ***** (10.12.2009 14:55:18)
[#] Ответ на: комментарий от Lumi 10.12.2009 14:55:18  
daemonpnz

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

daemonpnz **** (10.12.2009 15:39:15)
[#] Ответ на: комментарий от Legioner 10.12.2009 14:54:55  
nnz

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

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

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

nnz **** (10.12.2009 16:46:18)
[#] Ответ на: комментарий от szh 10.12.2009 14:37:52  
wilkomen-to-lor

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

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

wilkomen-to-lor (10.12.2009 16:56:07)
[#] Ответ на: комментарий от nnz 10.12.2009 16:46:18  
Legioner

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

Legioner ***** (10.12.2009 17:00:04)
[#] Ответ на: комментарий от Legioner 10.12.2009 17:00:04  

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 ***** (10.12.2009 17:03:15)
[#] Ответ на: комментарий от Sylvia 10.12.2009 17:03:15  

PS:
http://narod.ru/disk/15842889000/osf.tgz.html
32 bit

для тех кому лень или никак не собрать утилиту nfnl_osf

Sylvia ***** (10.12.2009 17:05:24)
[#] Ответ на: комментарий от Sylvia 10.12.2009 17:05:24  
nnz

Может не покатить, если версия libnfnetlink будет сильно отличаться.

nnz **** (10.12.2009 17:13:15)
[#] Ответ на: комментарий от Legioner 10.12.2009 17:00:04  
nnz

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

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

nnz **** (10.12.2009 17:14:12)
[#] Ответ на: комментарий от nnz 10.12.2009 17:13:15  

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

Sylvia ***** (10.12.2009 17:16:15)
[#]  

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

BigBiker * (10.12.2009 17:28:33)
[#] Ответ на: комментарий от nnz 10.12.2009 16:46:18  
>>-----Цитата---->>

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

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

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

<<-----Цитата----<<

Опередили ;)

BigBiker * (10.12.2009 17:31:42)
[#]  

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

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

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

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

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

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

alukin (10.12.2009 18:53:35)
[#] Ответ на: комментарий от nnz 10.12.2009 17:14:12  
Legioner

чёрт, извиняюсь за невнимательность :(

Legioner ***** (10.12.2009 19:54:17)
[#] Ответ на: комментарий от alukin 10.12.2009 18:53:35  

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

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

anonymous (10.12.2009 20:03:07)
[#] Ответ на: комментарий от nnz 10.12.2009 14:20:44  

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

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

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

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

anonymous (10.12.2009 20:13:29)
[#]  
Flaming

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

Flaming ** (10.12.2009 20:23:30)
[#] Ответ на: комментарий от no-dashi 10.12.2009 10:47:52  
www_linux_org_ru

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

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

www_linux_org_ru **** (10.12.2009 20:35:18)
[#] Ответ на: комментарий от anonymous 10.12.2009 20:13:29  

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

Туплю. Погуглил по 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 (10.12.2009 21:16:14)
[#]  

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

anonymous (10.12.2009 21:41:26)
[#] Ответ на: комментарий от anonymous 10.12.2009 21:41:26  

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

anonymous (10.12.2009 21:55:22)
[#] Ответ на: комментарий от d1337r 10.12.2009 9:43:48  

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

в 99000 раз :-)

kto_tama ***** (10.12.2009 22:16:01)
[#] Ответ на: комментарий от anonymous 10.12.2009 20:03:07  
iZEN

"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 ***** (10.12.2009 22:53:36)
[#] Ответ на: комментарий от anonymous 10.12.2009 20:13:29  
nnz

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

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

nnz **** (10.12.2009 23:09:40)
[#]  
Cyril

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

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

Cyril * (10.12.2009 23:14:42)
[#] Ответ на: комментарий от nnz 10.12.2009 23:09:40  

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

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

anonymous (10.12.2009 23:27:56)
[#] Ответ на: комментарий от anonymous 10.12.2009 23:27:56  
nnz

>Спасибо, это уже прочитал, но хотел знать, как с этим в ванили на даный момент. Если фишки аналогичные 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 **** (10.12.2009 23:47:40)
[#]  

>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 (10.12.2009 23:49:50)
[#] Ответ на: комментарий от anonymous 10.12.2009 23:49:50  
nnz

>-j TARPIT

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

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

nnz **** (10.12.2009 23:56:12)
[#]  

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

anonymous (11.12.2009 0:13:10)
[#] Ответ на: комментарий от anonymous 11.12.2009 0:13:10  
nnz

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

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

nnz **** (11.12.2009 0:50:36)
[#] Ответ на: комментарий от nnz 11.12.2009 0:50:36  
Cyril

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

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

Cyril * (11.12.2009 1:13:42)
[#] Ответ на: комментарий от praseodim 10.12.2009 11:56:47  
nnz

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

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

nnz **** (11.12.2009 2:25:15)
[#]  
FiXer

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

FiXer **** (11.12.2009 3:22:37)
[#]  
f00fc7c8

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

f00fc7c8 (11.12.2009 9:42:28)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru