The OpenNET Project / Index page

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

Несколько релизов в рамках проекта Netfilter

17.07.2010 17:07

В течение минувшей недели проект Netfilter, занимающийся разработкой одноименного фреймворка для фильтрации и преобразования пакетов в ядре Linux, объявил о выходе новых версий сразу нескольких субпроектов, развивающихся под его эгидой:

  • libnetfilter_queue 1.0.0. Данная библиотека позволяет ядру передавать пакеты на обработку userspace-приложениям, обеспечивая взаимодействие с модулем nfnetlink_queue через интерфейс nfnetlink. Этот механизм заменяет собой устаревший интерфейс ip_queue/libipq. Библиотека libnetfilter_queue используется в ряде проектов, таких как:
    • l7-filter-userspace — может определять протокол прикладного уровня путем анализа пакета с применением регулярных выражений.
    • NuFW — обеспечивает разрешение или блокирование трафика для определенных IP-адресов в зависимости от авторизации тех или иных пользователей на соответствующих хостах.
    • iplist — хранит в памяти большие списки IP-адресов и позволяет блокировать или пропускать пакеты в случае наличия их исходных адресов или адресов назначения в этих списках. Таким образом, iplist является своеобразной userspace-альтернативой проекту ipset.
    • mxallowd — реализация антиспам-механизма nolisting.

    В новой версии libnetfilter_queue исправлен ряд ошибок и улучшена документация.

  • libnetfilter_log 1.0.0. Эта библиотека позволяет ядру передавать пакеты различным userspace-логгерам, обеспечивая взаимодействие с модулем nfnetlink_log через интерфейс nfnetlink. Основное отличие механизма log от упомянутого чуть выше механизма queue — при логгировании передача информации производится только в одном направлении, от ядра в userspace. Интерфейс nfnetlink_log/libnetfilter_log заменяет собой устаревший механизм ipt_ULOG/libipulog, использовавшийся в ветке ulogd-1.x (см. ниже). В новой версии включена поддержка вывода логов в формате XML, а также добавлена новая документация, созданная при помощи Doxygen.
  • libnetfilter_conntrack 0.0.102. Данная библиотека обеспечивает взаимодействие userspace-приложений с netfilter-подсистемой conntrack, выполняющей отслеживание состояний соединений для облегчения stateful-фильтрации и учета трафика. Взаимодействие осуществляется через модуль nf_conntrack_netlink посредством интерфейса nfnetlink. Библиотека libnetfilter_conntrack используется утилитами из набора conntrack-tools (см. ниже), демоном ulogd-2.x (см. ниже) и рядом других программ, таких, как iptstate (top-like утилита для отслеживания соединений). В новой версии libnetfilter_conntrack исправлен ряд ошибок, а также добавлена поддержка conntrack zones (механизма, позволяющего корректно отслеживать соединения в случае подключения к нескольким подсетям с одинаковыми адресными пространствами).
  • conntrack-tools 0.9.15. Этот комплект программ включает:
    • Утилиту conntrack, позволяющую системному администратору работать с таблицами существующих и ожидаемых соединений (просматривать эти таблицы, удалять из них записи, менять маркировку соединений), а также отслеживать события conntrack (открытие, закрытие соединений, изменение их состояния) в реальном времени,
    • Демон conntrackd, обеспечивающего возможность создания stateful-фаерволов на кластерах высокой доступности посредством непрерывной синхронизации таблицы соединений между нодами (в случае выпадения одной из нод кластера, обрабатываемые ею соединения будут «подхвачены» другими нодами и корректно обработаны с учетом состояний). Также conntrackd может быть использован для удаленного сбора статистики по соединениям.

    В новой версии улучшена фильтрация выводимых утилитой conntrack соединений по критериям, относящимся к NAT, реализовано отслеживание окна TCP (требуется ядро >= 2.6.35), а также добавлена поддержка conntrack zones.

  • ulogd 2.0.0beta4. Демон ulogd предназначен для реализации гибких схем регистрации пакетов, с возможностью записи информации в различные базы данных.

    В настоящее время стабильной является ветка ulogd-1.x, разработка которой ограничивается только исправлениями ошибок, а все новые возможности интегрируются в ulogd-2.x, находящийся сейчас в бета-стадии разработки. В ulogd-1.x получение информации возможно только через устаревший интерфейс ipt_ULOG/libipulog (современной альтернативой ему является nfnetlink_log/libnetfilter_log, см. выше), а запись информации возможна только формате PCAP или в СУБД MySQL, PostgreSQL или SQLite.

    Новый ulogd-2.x использует механизм плагинов, в частности, имеются плагины для получения данных (информацию о пакетах можно получать через современный механизм libnetfilter_log или устаревший libipulog, кроме того, через libnetfilter_conntrack можно собирать информацию о соединениях), плагины для обработки данных (например, созданный в качестве примера плагин PWSNIFF позволяет выделять из трафика пароли FTP и POP) и плагины вывода данных (поддерживается запись в файлы формата PCAP или syslog-like, регистрация в СУБД MySQL, PostgreSQL и SQLite, а также передача информации стандартному демону syslog).

    В новой версии исправлен ряд ошибок, а также добавлен плагин для вывода в формате XML.



  1. Главная ссылка к новости (http://lists.netfilter.org/pip...)
Автор новости: Sergey Ptashnick
Тип: Программы
Короткая ссылка: https://opennet.ru/27332-netfilter
Ключевые слова: netfilter, conntrack, nfnetlink, ulogd
Поддержать дальнейшую публикацию новостей на OpenNET.


Обсуждение (18) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 20:24, 17/07/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Давно ничего не слышно о nftables - замена iptables.
     
     
  • 2.2, аноним (?), 20:54, 17/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Давно ничего не слышно о nftables

    Она утонула.

     
     
  • 3.3, chemtech (ok), 23:08, 17/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Захлебнулась говорите???
     
     
  • 4.6, аноним (?), 00:57, 18/07/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, просто главный баг архитектуры netfilter, с которого все начиналось (необходимость перезагружать всю таблицу при добавлении одного правила) успешно устраняется мейнстримным проектом xtables2, а все прочие соображения (синтаксис и т.п.) не являются весомыми аргументами.

    В git-репе nftables несколько мелких коммитов от 6 июля, а до этого последние вообще были год назад. Разве это разработка?

     
     
  • 5.16, Аноним (-), 10:34, 19/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Нет, просто главный баг архитектуры netfilter, с которого все начиналось (необходимость перезагружать
    >всю таблицу при добавлении одного правила) успешно устраняется мейнстримным проектом xtables2,
    >

    Хм. А кто сказал, что это баг, когда это всю жизнь было фичей? Хочешь большой список правил - используй iptables-restore, всегда так жили.
    И не могли бы Вы рассказать, как именно он устраняется в xtables2? До каких версий апгрейдиться, чтобы пощупать?

    Сам по себе nftables - да, никому и не был нужен. Более того, на первый взгляд сильно усложнял работу с фаерволлом своим гораздо более идиотским синтаксисом.

     
     
  • 6.17, аноним (?), 12:44, 19/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Хм. А кто сказал, что это баг, когда это всю жизнь было фичей? Хочешь большой список правил - используй iptables-restore, всегда так жили.

    Теперь будем жить лучше =)

    >И не могли бы Вы рассказать, как именно он устраняется в xtables2?

    Как-то так
    >The internal structure of the ruleset is switched from the serialized blob format (concatenated packed structs) to linked lists.

    Подробности можно почитать здесь: http://lwn.net/Articles/345176

    >До каких версий апгрейдиться, чтобы пощупать?

    Это просто набор патчей, которые потихоньку коммитят в ядро. Обычные юзеры и админы не должны заметить никакой разницы - отличия будут видны только разработчикам.

     

  • 1.4, alexanderyt (??), 23:43, 17/07/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    iplist vs ipset и что интереснее ?
     
     
  • 2.8, аноним (?), 01:01, 18/07/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >iplist vs ipset и что интереснее ?

    Если кратко: ipset - для серверов, iplist+ipblock - для домохозяек.
    Выбирайте в зависимости от задачи.

     

  • 1.5, Аноним (-), 00:46, 18/07/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Скорее бы взяли "под крыло" ipt_NETFLOW - единственная нормальная реализация экспорта netflow для Linux.
     
     
  • 2.7, аноним (?), 01:00, 18/07/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Скорее бы взяли "под крыло" ipt_NETFLOW - единственная нормальная реализация экспорта netflow для Linux.

    Раз не взяли, то, видимо, и не возьмут. Скорее для ulogd плагин сделают. Что вполне согласуется с линуксовой традицией весь потенциально опасный сетевой хлам (ppp и проч.) держать в юзерспейсе.

     
     
  • 3.11, Аноним (-), 16:19, 18/07/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Бедные процессоры.

    ipt_NETFLOW — единственное решение, которое себя хорошо показало на высоконагруженном PPPoE-концентраторе.

     
     
  • 4.13, аноним (?), 03:26, 19/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Вы пробовали ulogd2? Говорят, во второй ветке его переписали с нуля, и он получился очень быстрым. Правда, пока что в netflow экспортировать не умеет =(
     
  • 4.15, Аноним (-), 10:20, 19/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Бедные процессоры.
    >
    >ipt_NETFLOW — единственное решение, которое себя хорошо показало на высоконагруженном PPPoE-концентраторе.

    Плюсую.

    BTW, есть ли инфа, почему ещё не "взяли под крыло"? Что-то сходу ничего не нагуглилось. Где-нибудь в xtables-addons ему сейчас самое место.

     
     
  • 5.18, аноним (?), 12:49, 19/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >BTW, есть ли инфа, почему ещё не "взяли под крыло"? Что-то сходу
    >ничего не нагуглилось. Где-нибудь в xtables-addons ему сейчас самое место.

    Может, напишете человеку, который занимается xtables-addons (http://jengelh.medozas.de/contact/)?
    Кстати, если вас не затруднит, отпишитесь потом здесь. Не то чтобы лично для меня судьба ipt_NETFLOW так уж важна, просто самому любопытно, в чем же дело.

     
  • 5.19, Zamir (??), 11:46, 20/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю проблемы только из-за того что протокол разработан cisco и соответсвенно права принадлежат ей.
     

  • 1.10, goof.gooffy (ok), 11:48, 18/07/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    "проект Netfilter, занимающийся разработкой одноименного фреймворка"

    фреймворк там, фреймворк тут. Нынче стало модно заменять все слова на "фреймворк"?

     
  • 1.12, Gular (ok), 20:00, 18/07/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати, подскажите, как задавать несколько подсетей в --dst у iptables. Нужен матч, или таки можно штатными средствами?
     
     
  • 2.14, аноним (?), 03:28, 19/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Начиная с 1.4.6 - можно.
    iptables -A OUTPUT -d 192.168.0.0/16,172.16.0.0/12,10.0.0.0/8 -j ...

    При этом автоматически добавятся три правила, каждое для одной подсети, в остальном одинаковые.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:
    При перепечатке указание ссылки на opennet.ru обязательно



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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