Пара слов о keep state в PF

Posted by alex on Dec 27, 2010 in Packet Filter |

И пара слов о keep state. Когда программа (например, браузер из доверенной сети) лезет в интернет — разрешение на исходящий от нас трафик мы указываем явно правилом :

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

БЕЗ keep state (или указав no state), то запрос на сайт поступит, а ответ наш файрвол зарежет. Вот зачем нужен keep state.
И еще одна особенность keep state. Начиная с FreeBSD версии 7.0 (аналогичная версия pf входит в поставку OpenBSD 4.1) keep state применяется ко всем правилам по умолчанию. Если вы не хотите чтобы к некоторым (или ко всем) правилам применялось keep state — пишите явно no state.

Пример из конфига выше.

FreeBSD версии 7.0 и выше (или OpenBSD версии 4.1 и выше)
воспримет правило как :

а FreeBSD ниже версии 7.0 (или OpenBSD ниже версии 4.1)
воспримет это правило как :

в новых версиях BSD (FreeBSD 7.0 и OpenBSD 4.1) лично я предпочитаю все равно явно писать keep state (хотя это необязательно и принимается по умолчанию), потому что особого труда это не составляет, а обратная совместимость со “старыми” версиями PF в наличии. Например, конфиг из пункта 2 взят с сервера под управлением ОС FreeBSD 7.0, но у меня есть сервер и на 6.3, на котором сейчас IPFW в качестве файрвола, потом когда буду переводить все на PF меньше шансов запутаться на такой мелочи как состояния keep state.

Источник: http://www.lissyara.su/

Copyright © 2018 Заметки по UNIX All rights reserved.
Desk Mess Mirrored v1.4.3.1 theme from BuyNowShop.com.