The OpenNET Project / Index page

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

Обзор последних новшеств в пакетном фильтре PF

24.04.2007 13:50

В обзоре "What's new with PF in 4.1?" рассказано о новшествах пакетного фильтра PF, вошедшего в комплект операционной системы OpenBSD 4.1, релиз которой намечен на 1 мая 2007 года.

  • "keep state" включен по умолчанию для "pass" правил, для отмены слежения за состоянием соединения нужно явно указывать "no state";
  • флаг S/SA (out of SYN and ACK, exactly SYN may be set) используется по умолчанию для TCP сессий для которых включен контроль состояния;
  • оптимизатор правил может быть включен через pf.conf (set ruleset-optimization basic);
  • утилита pfctl может использоваться для задания времени жизни записей в таблицах состояния (pfctl -t badssh -T expire 86400);
  • новый демон для балансировки нагрузки hoststated;
  • возможность использования нескольких раздельных псевдоинтерфейсов в pflog и pfsync;
  • средства для прямого указания макросов-контейнеров правил (anchor) в файле pf.conf (ранее только через включение из внешнего файла).
  • в pf может манипулировать несколькими таблицами маршрутизации (rtable).

    1. Главная ссылка к новости (http://undeadly.org/cgi?action...)
    Лицензия: CC BY 3.0
    Короткая ссылка: https://opennet.ru/10572-firewall
    Ключевые слова: firewall, pf, openbsd
    При перепечатке указание ссылки на opennet.ru обязательно


    Обсуждение (62) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, hedgehog (?), 14:35, 24/04/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а как с динамическим управлением шириной каналов, можно это сделать?
     
     
  • 2.18, Andrew Kolchoogin (?), 08:47, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Class-based queueing для "тупого" CBWFQ, Hierarchical Fair Service Curve для сервисов, требующих гарантированного времени прохода пакета.
    HFSC настраивается немного сложновато, но на асимметричных каналах работает лучше классически применяемого для аналогичных целей HTB (на симметричных каналах обе дисциплины работают примерно одинаково хороошо).
     

  • 1.2, belkin (?), 15:49, 24/04/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как и прежде - ни одной приктически полезной дисциплины. При сравнении pf, ipf и ipfw можно понять, что только в FreeBSD, что характерно, в родном ipfw это сделано для реального использования а не для "галочки".
     
     
  • 2.4, belkin (?), 15:52, 24/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Это я про Traffic Control.
     
  • 2.8, Linus Torvalds (?), 21:41, 24/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    А можно пример "одной приктически полезной дисциплины" ... а то может я чего пропустил?
     
  • 2.10, Dyr (??), 22:20, 24/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    +1.
    Где, блин, аналог dummynet'овских раздаваний отдельных очередей на каждый ip одной маской?
    Будет ли destination NAT для пула адресов?
     
     
  • 3.16, Andrew Kolchoogin (?), 08:44, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    > Будет ли destination NAT для пула адресов?
    Э-э-э-э-э?

    Это как?

    А что, его не было когда-то?

    ===
         bitmask
               The bitmask option applies the network portion of the redirection
               address to the address to be modified (source with nat, destination
               with rdr).
    ===

    pf.conf(5) не читан?

     

  • 1.3, belkin (?), 15:51, 24/04/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тогда уж и quick сделали по-умолчанию - чего уж там.
     
  • 1.5, WAG (?), 20:52, 24/04/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Единственные плюсы PF -работа с таблицами адресов и удобный NAT.
    Но для регулировки скорости -IPFW.
    Так что пока два фаерволла оставляем :(
    А хотелось бы один!
     
     
  • 2.6, guest (??), 21:19, 24/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    iptables - only and forever.
     
     
  • 3.20, Andrew Kolchoogin (?), 08:51, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Оно уже научилось делать rate limit control со складываением оверлоадящих хостов в таблицу, доступную для манипуляции извне (из userland'а)?
     
     
  • 4.22, Дохтур (?), 09:10, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    А практическое применение этому можно?

    Гораздо болеее интересна ситуация, когда у нас есть сеть /22, которая разбита на 4 сетки по /24. Каждому хосту в 1й /24 надо дать 256кбит/с, каждому во 2й - 512кбит/с, каждому в 3й - 1мбит/с, а 4й отдать остатки.

     
     
  • 5.25, Andrew Kolchoogin (?), 09:23, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    > А практическое применение этому можно?
    Ну, хотя бы вот такое, хрестоматийное (взято, кстати, по наводке с OpenNet.ru):

    ===
    table <ssh-bruteforce> persist

    pass all

    block drop in quick on $if_195 from <ssh-bruteforce> probability 65%
    block drop in quick on $if_62 from <ssh-bruteforce> probability 65%

    pass in quick on $if_195 inet proto tcp from any to $if_195_ip port ssh flags S/SFRA keep state \
            (max-src-conn 5, max-src-conn-rate 3/60, overload <ssh-bruteforce> flush global)
    pass in quick on $if_62 inet proto tcp from any to $if_62_ip port ssh flags S/SFRA keep state \
            (max-src-conn 5, max-src-conn-rate 3/60, overload <ssh-bruteforce> flush global)
    ===

    Можно не обязательно block drop, можно, там, шейперу скормить, или ещё что-нибудь...

    > Гораздо болеее интересна ситуация, когда у нас есть сеть /22, которая разбита на 4 сетки > по /24. Каждому хосту в 1й /24 надо дать 256кбит/с, каждому во 2й - 512кбит/с, каждому в > 3й - 1мбит/с, а 4й отдать остатки.
    CBQ вполне с этим справляется. Делается суперкласс на пропускную способность апстрима, классы на каждую из трёх сетей с фиксированной bandwidth и borrow от суперкласса, и четвёртый класс на четвёртую сеть просто с borrow из суперкласса.

     
     
  • 6.28, Дохтур (?), 09:51, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так это... есть модуль recent в iptables. Содержимое его таблиц доступно через /proc, так что каких-либо проблем не вижу.

    >CBQ вполне с этим справляется. Делается суперкласс на пропускную способность апстрима, >классы на каждую из трёх сетей с фиксированной bandwidth и borrow от суперкласса

    ага-ага. И как у вас полоса поделится внутри одного класса? Какпопало? Всемпоровну?

     
     
  • 7.32, Andrew Kolchoogin (?), 10:29, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну так это... есть модуль recent в iptables. Содержимое его таблиц доступно через /proc, так что каких-либо проблем не вижу.
    А поменять их тоже можно через /proc?

    > ага-ага. И как у вас полоса поделится внутри одного класса? Какпопало? Всемпоровну?
    Per flow.

     
     
  • 8.34, Andrew Kolchoogin (?), 10:33, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Можно, кстати, и per IP wrr включить ... текст свёрнут, показать
     
     
  • 9.52, dem (?), 23:44, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    wrr - Где можно почитать давно искал подобное для опенка ... текст свёрнут, показать
     
  • 8.36, Дохтур (?), 10:40, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    а зачем и прочитали бы вы man iptables в той части что про recent Вообще, вс... текст свёрнут, показать
     
     
  • 9.37, Andrew Kolchoogin (?), 10:50, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    А хочется Вот меня всегда убивал аргумент типа если мы это не умеем, значит, в... текст свёрнут, показать
     
     
  • 10.43, Дохтур (?), 12:05, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    вообще-то, можно ручками добавлять выносить Причём выносить можно как позвав ip... текст свёрнут, показать
     
     
  • 11.49, Andrew Kolchoogin (?), 13:31, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Мнда Посмотрел я на этот ipt_recent Удивительная поделка Она стэйты как дропа... текст свёрнут, показать
     
  • 9.38, Andrew Kolchoogin (?), 10:54, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда это делается выносом каждого хоста в отдельный класс Согласен, что конфиг... текст свёрнут, показать
     
     
  • 10.39, Дохтур (?), 11:12, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    ага и т к задание полноклассовой дисциплиной может быть кто-то один т е либо ... текст свёрнут, показать
     
     
  • 11.42, Andrew Kolchoogin (?), 11:48, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, про HFSC в оригинальном задании не было ни слова, а у CBQ таких ограниче... текст свёрнут, показать
     
     
  • 12.55, Dyr (??), 17:49, 26/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Какая ещё жопа у вас между ipfw и PPTP ... текст свёрнут, показать
     
  • 12.56, гомег (?), 22:47, 27/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Тоже интересно стало про жопу, работаю с этой связкой уже долгое время и не разу... текст свёрнут, показать
     
     
  • 13.57, GateKeeper (ok), 07:06, 28/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Сколько PPTP-сессий одновременно ходят через Ваш pf ... текст свёрнут, показать
     
     
  • 14.58, Dyr (??), 09:01, 28/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    У нас ipfw, но сути это менять не должно PPTP самый обычный маршрутизируемый пр... текст свёрнут, показать
     
     
  • 15.59, GateKeeper (??), 16:19, 28/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    С GRE как поступаете ... текст свёрнут, показать
     
     
  • 16.61, Dyr (??), 23:19, 28/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    ipfw allow gre from any to any... текст свёрнут, показать
     
     
  • 17.63, GateKeeper (ok), 15:12, 29/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    http groups google com group mailing freebsd net browse_thread thread 7e9f2126... текст свёрнут, показать
     
  • 15.60, Freedom (?), 16:27, 28/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    в PPTP опеределено, что с одного src IP может быть один коннект, для ведения та... текст свёрнут, показать
     
     
  • 16.62, Dyr (??), 23:20, 28/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Не сталкивались пока с такой необходимостью Кстати, пользуем ng_nat... текст свёрнут, показать
     
     
  • 17.64, Freedom (?), 16:56, 06/05/2007 [^] [^^] [^^^] [ответить]  
  • +/
    везет он сделан на базе ядерной libalias ... текст свёрнут, показать
     
  • 2.15, Осторожный (?), 08:27, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Таблицы адресов есть и в ipfw

    NAT через natd :)

     
     
  • 3.17, Andrew Kolchoogin (?), 08:45, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    > NAT через natd :)
    Времени микропроцессора на copyin()/copyout() не жалко?
     
  • 3.31, michelle (??), 10:10, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Угум!

    Таблицы адресов есть, а ты можешь в одну таблицу вогнать очень много адресов???
    Насколько я помню, длина строки там (ipfw) не более чем 255 символов!

     
  • 2.47, belkin (?), 12:59, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    В PF ещё Traffic Normalization (e.g. scrub) полезен.
     

  • 1.7, dem (?), 21:32, 24/04/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    to belkin & co
    Все что написал - бред сивой кобылы или не пробовал HFSC.
     
     
  • 2.23, Дохтур (?), 09:12, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    btw, у hfsc есть лимит на количество очередей.
     
     
  • 3.27, Andrew Kolchoogin (?), 09:26, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    А у keep-state есть лимит на количество динамических правил. Во _всех_ firewall'ах. И что теперь, пойти топиться в ближайшей луже?
     
     
  • 4.29, Дохтур (?), 09:54, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >А у keep-state есть лимит на количество динамических правил. Во _всех_ firewall'ах. И что теперь, пойти топиться в ближайшей луже?

    Ну в netfilter количество стейтов ограничено лишь количеством доступной памяти.
    А число очередей в hfsc by default 64шт(и их количество hardcoded)

     
     
  • 5.33, Andrew Kolchoogin (?), 10:32, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Ах, вот ты про что. Тогда не очередей, а классов, это разные вещи.
    Ну, поправь константу HFSC_MAX_CLASSES в altq_hfsc.h, и пересобери ядро, делов-то.
     
     
  • 6.40, Дохтур (?), 11:19, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну, поправь константу HFSC_MAX_CLASSES в altq_hfsc.h, и пересобери ядро, делов-то.
    Это то да. А чего по дефолту столь маленькое значение?
     
     
  • 7.41, Andrew Kolchoogin (?), 11:44, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >> Ну, поправь константу HFSC_MAX_CLASSES в altq_hfsc.h, и пересобери ядро, делов-то.
    > Это то да. А чего по дефолту столь маленькое значение?
    А зачем больше-то?
    Я так понимаю, это всё идёт ещё от оригинального ALTQ им. Sony Computing Laboratory, видимо, японцам так показалось адекватным. ;)
     

  • 1.9, BB (??), 21:57, 24/04/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Судя по всему господа не видели реализации pf опене, так как во фре он кастрированный.Так что советую изначально внимательно прочитать заголовок новости, а потом уже нести свой "свободный поток сознания" :Е
     
     
  • 2.13, Аноним (-), 06:45, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    +1 freebsd'ишки пальцы веером и вперед. Прям атака клоунов, блин.:) Как еще linux и iptables при этом не задели.
     
     
  • 3.21, Andrew Kolchoogin (?), 08:54, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    А что, в OpenBSD уже спортировали NetGraph?-)

    Нет?

    То есть, mpd работать не будет? Мне не удастся лишить себя на OpenBSD'шном PPTP- (PPPoE-)концентраторе счастья видеть мульён запущеных ppoed/pptpd/pppd?

     
     
  • 4.50, BB (??), 21:18, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем оно ? :)Вернее спросим по другому, какие задачи можно решить исключительно с помощью netgraph и которые имеют непосредственное отношение к функциям fw ?
     
     
  • 5.53, belkin (?), 10:45, 26/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >А зачем оно ? :)Вернее спросим по другому, какие задачи можно решить
    >исключительно с помощью netgraph и которые имеют непосредственное отношение к функциям
    >fw ?

    Потому что сказали о Linux с iptables вместо FreeBSD с PF. А мы ответили, что у Linux'a нет аналога MPD, а его главное непобедимое пока преимущество основано на применении ng.

     
  • 2.19, Andrew Kolchoogin (?), 08:50, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Э-э-э? И чем же он кастрированный? Конечно, multiple kernel forwarding tables во FreeBSD нет (пока?), тут я не спорю, ну а так -- реализация практически идентична.
    Хотя, бесспорно, в OpenBSD все новшества появляются быстрее, PF под Опёнком разрабатывается.
     

  • 1.11, Till (??), 23:48, 24/04/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зато работает в ядре и ALTQ есть.
     
  • 1.12, Stelz (?), 23:57, 24/04/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мда.. естественно, эта новость не для поклоняющихся freebsd..
     
     
  • 2.24, Дохтур (?), 09:14, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    всяким поклоняющимся место в храме/у идола.
    Личные предпочтения не должны играть роли при выборе рабочего инструмента.
     
     
  • 3.26, Andrew Kolchoogin (?), 09:24, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    -1

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

     
     
  • 4.54, TrecK (?), 17:34, 26/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    +1

    абсолютно точно

    >-1
    >
    >Самая короткая дорога -- та, которую лучше всего знает водитель.
    >Самый лучший инструмент -- тот, которым лучше всего владеет тот, кого заставляют
    >работать.


     

  • 1.14, Осторожный (?), 08:26, 25/04/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Почему это ?
    Надеюсь в следующий релиз FreeBSD скорее всего портируют новую версию pf.
     
  • 1.30, Аноним (-), 10:06, 25/04/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    iptables and iproute рулит уже давно ))))
     
     
  • 2.35, Andrew Kolchoogin (?), 10:34, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Да? Его уже попатчили на предмет неработы нескольких таблиц роутинга на ATM-интерфейсах?-)
    Люблю слово "рулит" для подсистем, в которых с каждой новой версией ядра что-то новое ломают. ;)
     
     
  • 3.44, Дохтур (?), 12:06, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Да? Его уже попатчили на предмет неработы нескольких таблиц роутинга на ATM-интерфейсах?-)

    позвольте спросить, а где ж вам пришлось с этим столкнуться?

     
     
  • 4.48, Andrew Kolchoogin (?), 13:26, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >> Да? Его уже попатчили на предмет неработы нескольких таблиц роутинга на
    >> ATM-интерфейсах?-)
    > позвольте спросить, а где ж вам пришлось с этим столкнуться?
    Буквально на предыдущем месте работы.
     
  • 2.51, BB (??), 21:22, 25/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    согласен с предыдущим оратором, все прелесть pf (да и остальных базовых систем) в составе OpenBSD это его неразрывная жесткая связь с ядром системы. Так сказать некая защита от человеческого фактора. Чем такое решение и подкупает :)
     

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



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

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