The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз xtables-addons 1.32 с поддержкой ipset 5

04.01.2011 21:29

Вышел очередной релиз проекта xtables-addons, предоставляющего набор расширений для фреймворка netfilter. Данный релиз xtables-addons особо примечателен тем, что в него, помимо старой стабильной версии ipset 4, включена и представленная недавно версия ipset 5.

Проект xtables-addons представляет собой набор модулей-расширений для входящего в ядро Linux фреймворка фильтрации и преобразования пакетов netfilter. В этот набор включаются расширения, которые по тем или иным причинам пока не были приняты в основную ветку разработки ядра Linux. Таким образом, данный проект является альтернативой устаревшему patch-o-matic(-ng). Ключевое отличие xtables-addons от предшественника состоит в отсутствии необходимости в наложении патчей на ядро и iptables, что значительно упрощает процесс сопровождения и установки расширений. Во времена patch-o-matic часто бывало сложно найти версию патча, совместимую с нужной версией ядра и/или iptables, в то время как для работы xtables-addons достаточно наличия ядра версии >=2.6.17 и iptables >= 1.4.3 (впрочем, в случае использования ipset 5 требования становятся несколько более жесткими — версия ядра не менее 2.6.35, дополнительно требуется библиотека libmnl). В числе других преимуществ xtables-addons над patch-o-matic(-ng) можно упомянуть расширенную поддержку IPv6 и более высокое качество кода. Подробнее эти вопросы рассмотрены в презентации разработчика xtables-addons Яна Энгельгардта, представленной на конференции Netfilter Workshop 2010.

Стоит особо подчеркнуть, что версия ipset 5, распространяемая в составе xtables-addons, не требует наложения патчей на ядро, в отличие от стандартной версии ipset 5. Это было достигнуто путем внесения некоторых изменений в код, в частности, заменой специализированного протокола взаимодействия ядро-userspace nfnetlink на genetlink. Таким образом, установка ipset 5 становится столь же простой, как и установка ipset 4.

Помимо уже упомянутых выше двух версий ipset, в состав xtables-addons входит множество других полезных модулей (критериев и действий iptables/netfilter), в частности,

  • TARPIT — широко известный в узких кругах инструмент для активного противодействия (D)DoS-атакам и сканированиям TCP-портов, способный в определенный обстоятельствах неплохо проучить атакующего. Суть его работы сводится к следующему: он подтверждает открытие входящего TCP-соединения, после чего устанавливает размер окна TCP равным нулю, что блокирует возможность корректного закрытия соединения. В результате система атакующего получает очередное «повисшее» соединение, в то время как ваша система ничего не замечает (хуки netfilter отрабатывают раньше, чем стандартный сетевой стек ядра, дополнительно может потребоваться отключение трекинга соединений в conntrack через действие NOTRACK). При агрессивной атаке подобная тактика может вызвать у атакующего серьезные проблемы. Особенно сильно такому воздействию подвержены системы семейства Windows, на которых, как правило, и работают атакующие ботнеты.
  • DELUDE — не столь опасный, но тем не менее тоже полезный инструмент противодействия сканированию TCP-портов. Работает он следующим образом: на SYN-пакеты он отвечает SYN,ACK-пакетами, создавая видимость открытого порта, на все остальные пакеты он отвечает RST (чтобы не создавать лишних проблем). Таким образом, DELUDE позволяет ввести атакующего в заблуждение, создав у него неверное впечатление о состоянии ваших портов.
  • CHAOS — еще один инструмент, позволяющий поставить атакующего в глупое положение. С заданной вероятностью он применяет к входящему пакету операцию TARPIT или DELUDE (в зависимости от настроек), либо стандартную операцию REJECT (отправка ICMP-уведомления о недоступности порта), либо операцию DROP (блокирование пакета без уведомления отправляющей стороны). По умолчанию вероятности применения TARPIT/DELUDE и REJECT составляют порядка одного процента, к остальному трафику применяется DROP.

    Подробное описание принципов работы трех вышеприведенных действий можно найти в работе Detecting and deceiving network scans with Chaostables (автором документа является разработчик xtables-addons Ян Энгельгардт).

  • IPMARK — действие, позволяющее присвоить пакету маркировку, определенную в результате арифметических операций над его исходным адресом (либо адресом назначения). Таким образом, грамотная организация адресного пространства в сочетании с элементарными арифметическими и побитовыми операциями могут заменить монструозные таблицы соответствия «адрес — маркировка», поиск по которым может отнимать значительную долю системных ресурсов. Особенно полезна данная операция при организации гибких систем шейпинга, когда несколькими командами можно настроить работу многих тысяч очередей.
  • LOGMARK — действие, дополняющее набор данных, выводимых стандартной операцией LOG, такими сведениями, как маркировка, идентификатор, состояние и статус соединения в системе conntrack, маркировка SELinux и классификационный код шейпера для данного пакета, имя родительского хука, внутренний код интерфейса и т.п.
  • RAWDNAT/RAWSNAT — операции «сырой» трансляции адресов, не использующие трекинг соединений. Могут быть использованы для увеличения гибкости стандартного NAT либо при ограниченности ресурсов в сочетании с большим количеством соединений, когда трекинг становится чересчур накладным.
  • ACCOUNT — простая, высокопроизводительная система учета трафика, поддерживающая работу с клиентскими сетями большого размера (вплоть до /8).
  • SYSRQ — инструмент, позволяющий при получении специальным образом сформированных (защищенных паролем) пакетов обращаться к системному триггеру. В частности, можно удаленно инициировать сброс кэша (sync) или даже выполнить ту самую последовательность REISUB, вне зависимости от работоспособности userspace.
  • DHCPMAC/dhcpmac — сочетание одноименных критерия и действия позволяет выделять и подменять MAC-адреса, фигурирующие в запросах и ответах DHCP.
  • condition — критерий, срабатывающий в зависимости от значения соответствующей булевой переменной, которое может быть задано из userspace (через procfs). Таким образом, работой правил netfilter можно управлять, не вмешиваясь в их структуру.
  • fuzzy — критерий, выделяющий пакеты на основании нечеткой логики (при скорости поступления пакетов ниже пороговой величины a, вероятность соответствия пакета критерию равна нулю, в диапазоне скоростей от a до b вероятность плавно возрастает до единицы, и при скорости выше b пакеты всегда соответствуют критерию).
  • geoip — критерий, позволяющий выделять пакеты на основании принадлежности их исходного адреса или адреса назначения заданному государству. Можно использовать базы данных от MaxMind или WIPmania.
  • iface — критерий, срабатывающий в зависимости от состояния заданного сетевого интерфейса. В частности, с его помощью можно организовывать отказоустойчивый доступ в интернет при наличии нескольких независимых каналов, с автоматическим исключением неработающих каналов.
  • ipp2p — критерий, позволяющий выделять трафик различных P2P-сетей, в частности, BitTorrent, eDonkey/eMule, DC, Gnutella, AppleJuice, WinMX, SoulSeek, Ares, KaZaA. Чрезвычайно удобен при организации эффективного шейпинга трафика. Является неплохой альтернативой критерию l7filter, который требует наложения патчей на ядро и поэтому не включен в проект xtables-addons.
  • lscan — разработанный Яном Энгельгардтом инструмент для выявления скрытных операций по сканированию TCP-портов. Подробное описание принципов его работы можно найти в уже упомянутом документе Detecting and deceiving network scans with Chaostables.
  • psd — более простой инструмент для выявления массовых сканирований TCP- и UDP-портов, основанный на принципе взвешенной суммы. С подробным обсуждением этого принципа можно познакомиться в статье Solar Designer'а Designing and Attacking Port Scan Detection Tools.
  • pknock — позволяет организовать защиту портов посредством технологии port knocking. Возможно дополнительное усиление защиты за счет использования HMAC256-шифрования отправляемых пакетов.
  • quota2, length2 — расширяют возможности стандартных критериев netfilter quota и length.

В заключение, хотелось бы упомянуть написанное все тем же Энгельгардтом руководство Writing your own Netfilter modules. В предисловии автор подчеркивает, что netfilter/iptables являются не только и не сколько законченным и замкнутым на себя продуктом, но и гибким фреймворком, позволяющим создавать и интегрировать модули, которые могут решать самые различные задачи по фильтрации и преобразованию трафика — и все это без каких-либо модификаций других компонентов ядра. «In fact, you can do almost everything you want in this world» — отмечает Энгельгардт.

Проект xtables-addons может выступать в качестве накопителя для тех модулей, у авторов которых не хватает духу отослать свои творения непосредственно в основную ветку разработки ядра Linux. В частности, недавно принятые в ядро модули TEE и CHECKSUM начинали свой путь в xtables-addons.

  1. Главная ссылка к новости (http://xtables-addons.git.sf.n...)
  2. OpenNews: Вышла версия ipset 5.0 с поддержкой IPv6. Релиз библиотеки libmnl 1.0.0
  3. Официальный сайт проекта xtables-addons
  4. OpenNews: Релиз iptables 1.4.10
  5. OpenNews: Релиз iptables 1.4.9
Автор новости: Sergey Ptashnick
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/29198-iptables
Ключевые слова: iptables, netfilter, firewall, xtables-addons
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (29) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, pavlinux (ok), 01:23, 05/01/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Sergey Ptashnick - респект, за перевод и разжёвывание!!!

    > ту самую последовательность REISUB

    REISUB не интересно, вот REISUO - и админ вылетает из отпуска :)

    > condition — критерий,...  можно управлять, не вмешиваясь в их структуру.

    НАКАНЕЦЦТА, не прошло и 15 лет!
    Ещё пяток, и может до ipfilterC дорастет: c if-then-else, while-until-goto, for-case-do ...

     
     
  • 2.11, Аноним (-), 16:10, 05/01/2011 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Вся проблема в дурацкой архитектуре ядра Linux. Чтобы под него что-то путное сделать - нужно по 15 лет извращаться.
     
     
  • 3.13, анон (?), 16:38, 05/01/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Вся проблема в дурацкой архитектуре ядра Linux.

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

     
     
  • 4.15, Аноним (-), 17:13, 05/01/2011 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Небольшая просьба: если уж не можете сдержать свою черную зависть, то хоты бы завидуйте молча.

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

    Непонятно другое - чему или кому именно в данном случае можно завидовать? Если учесть, что сам Linux никому не принадлежит, и любой его может использовать, даже те, кто считает его архитектуру уродливой.

     
     
  • 5.17, анон (?), 19:35, 05/01/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Стремление некоторых заставить молчать всех, кто имеет другое мнение, при этом будучи не в силах его аргументировать - это вполне понятно и давным давно известно.

    Во-во. Допустим, Петя кричит, что "Вася - п*дорас", но при этом ничем не может подтвердить свое утверждение (на самом деле, оно вызвано тем, что Вася заработал себе на форд-фокус, а Петя даже на "копейку" накопить не может). Поэтому, в интересах общественного спокойствия, Васю надо попросить помолчать, опционально можно утереть ему пену у рта и налить валерьяночки.

    >Непонятно другое - чему или кому именно в данном случае можно завидовать?

    Ну, вы, например, завидуете пользователям Linux (извините, что приходится говорить очевидные вещи).

     
     
  • 6.18, анон (?), 19:37, 05/01/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Поэтому, в интересах общественного спокойствия, Васю надо попросить помолчать, опционально можно утереть ему пену у рта и налить валерьяночки.

    Т.е. Петю, конечно же. Вася и так молчит, своим менеджер-мобилем любуется :-)

     
     
  • 7.22, Аноним (-), 01:11, 06/01/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Т.е. Петю, конечно же. Вася и так молчит, своим менеджер-мобилем любуется :-)

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

     
  • 6.21, Аноним (-), 00:12, 06/01/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну допустим, у Пети сложилось такое мнение о Васе по каким-то другим причинам, а... большой текст свёрнут, показать
     
  • 3.25, pavlinux (ok), 16:19, 06/01/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Вся проблема в дурацкой архитектуре ядра Linux. Чтобы под него что-то путное
    > сделать - нужно по 15 лет извращаться.

    Да не, там всё нормально. Я про привязку какого-нибудь языка к iptables;
    Для не очень сложных вполне хватает bash, на уровне системы <linux/netfilter*>
    Но блин, это программирование, а не настройка брандмауэра.

     
     
  • 4.26, Аноним (-), 16:49, 06/01/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Да не, там всё нормально. Я про привязку какого-нибудь языка к iptables;
    > Для не очень сложных вполне хватает bash, на уровне системы <linux/netfilter*>
    > Но блин, это программирование, а не настройка брандмауэра.

    То есть по-вашему настройка - это не программирование?
    И чем же по-вашему настройки принципиально отличаются от программирования?

    Keep it simple, stupid!

    И после этого плавно возвращаемся к вопросу, "все ли там нормально?" Если большинство "настройщиков" Линукса (и его брандмауэра в частности) убеждены, что они программированием не занимаются.

    Каждая система достойна своей аудитории.

     
     
  • 5.27, pavlinux (ok), 22:38, 06/01/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Да не, там всё нормально. Я про привязку какого-нибудь языка к iptables;
    >> Для не очень сложных вполне хватает bash, на уровне системы <linux/netfilter*>
    >> Но блин, это программирование, а не настройка брандмауэра.
    > То есть по-вашему настройка - это не программирование?
    > И чем же по-вашему настройки принципиально отличаются от программирования?

    Cisco BDSM или как там в ASA/PIX интерфейс называется :)

     
     
  • 6.28, Аноним (-), 23:05, 06/01/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Но блин, это программирование, а не настройка брандмауэра.
    >
    >> То есть по-вашему настройка - это не программирование?
    >> И чем же по-вашему настройки принципиально отличаются от программирования?
    >>
    > Cisco BDSM или как там в ASA/PIX интерфейс называется :)

    Т.е. назвав какую-то аббревиатуру, которую вы даже толком не смогли вспомнить, и какую-то частную технологию, вы посчитали что ответили (по крайней мере самому себе) на более общий вопрос, почему по-вашему мнению настройки не относятся к программированию.

    В очередной раз убеждаемся, на какую аудиторию все больше и больше ориентируются разработчики ядра Linux (в частности с его брандмауэрами).

     
     
  • 7.29, pavlinux (ok), 00:23, 07/01/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Но блин, это программирование, а не настройка брандмауэра.
    >>
    >>> То есть по-вашему настройка - это не программирование?
    >>> И чем же по-вашему настройки принципиально отличаются от программирования?
    >>>
    >> Cisco BDSM или как там в ASA/PIX интерфейс называется :)
    > Т.е. назвав какую-то аббревиатуру, которую вы даже толком не смогли вспомнить,

    Всё я помню, а у вас видимо юмор пропал :)

    > почему по-вашему мнению настройки не относятся к программированию.

    Настройка - это использование фиксированного набора функций и переменных,
    имеющих строго детерминированные состояния.

    Программирование - это создание функций, переменных и их возможных состояний,
    в пределе на бесконечности.

    main() {

       char *ipaddr = "654.341.901.291/511";
       setup_iface_addr(eth0, ipaddr); /* работает в обод стека ядра */
    }

    #  iptables -t nat -i eth0 -s 654.341.901.291/511 -j DROP;

    Чуешь разницу?!


    > В очередной раз убеждаемся...

    Вы это, расстройство своего мозга на остальных не обобщайте.

     
     
  • 8.30, Аноним (-), 01:37, 07/01/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А ну да конечно, это вы оказывается так шутите, а на самом деле вы все-все знает... большой текст свёрнут, показать
     
  • 7.32, Serge (??), 04:19, 11/01/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Т.е. назвав какую-то аббревиатуру, которую вы даже толком не смогли вспомнить,

    BDSM == bondage, domination, sadism, masochism. "Тонкий" такой намек на cisco cli, даже со смайликом. Насколько же надо быть альтернативно одаренным, что бы не понять этого.

    Но вообще-то троллей кормить не собираюсь и другим не советую.

     

  • 1.3, стас (??), 01:26, 05/01/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    ого! и это в официальном релизе! нетерпится скорее попастьза комп и начать использовать.
     
     
  • 2.12, Аноним (-), 16:13, 05/01/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ого! и это в официальном релизе! нетерпится скорее попастьза комп и начать использовать.

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

     

  • 1.4, chemtech (ok), 08:14, 05/01/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Особенно понравилась фраза: "Особенно сильно такому воздействию подвержены системы сеймейства Windows, на которых, как правило, и работают атакующие ботнеты. "
     
  • 1.5, log (ok), 09:21, 05/01/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Sergey Ptashnick - респект, за перевод и разжёвывание!!!

    +1

     
  • 1.6, daevy (ok), 09:44, 05/01/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Detecting and deceiving network scans with Chaostables - интересное и полезное чтиво

    > REISUO - и админ вылетает из отпуска

    это да)))

     
  • 1.7, iCat (ok), 10:34, 05/01/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Изошёл слюной...
    Ща недельку почитаю, месяцок подумаю, пару деньков попишу, а потом - посмотрим, каково оно...
     
  • 1.10, Sw00p aka Jerom (?), 12:18, 05/01/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ipp2p O_o он ещё живой ?
     
     
  • 2.14, анон (?), 16:42, 05/01/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > ipp2p O_o он ещё живой ?

    Да, развивается потихоньку http://xtables-addons.git.sourceforge.net/git/gitweb.cgi?p=xtables-addons/xta

     
     
  • 3.23, Sw00p aka Jerom (?), 12:37, 06/01/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ))

    он то рабочий - помню ещё год назад его пилил

     

  • 1.16, анонимиус (?), 18:26, 05/01/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Шикарно!
     
  • 1.19, Денис (??), 20:23, 05/01/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как это чудо к CentOS 5 прикрутить ?
    Не собирается блажит на отсутствие xtables
     
  • 1.20, Аноним (-), 21:38, 05/01/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    REISUO - и вылетает из отпуска только админ, согласившийся на быдложелезо без удаленного управления типа RSA или DRAC  :) на правах флуда :)
     
     
  • 2.24, Анон (?), 15:20, 06/01/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Йопто, нашли новое! Классический хонипот LaBrea, _наконец-то_ реализованный в составе файра! А мужики-то и не знали!
     

  • 1.33, Аноним (33), 17:26, 25/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отличная штука. Защитился от скана портов. Инструкция - http://sysadm.pp.ua/linux/xtables-addons.html
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру