Обновлена 21.05.2014
Выдержка из документации:
“Операция состояния – путь для системы сетевой защиты, динамически создающей правила для определенных потоков при обнаружении пакетов соответствующих данному образцу. Поддержка операций состояния доступна через варианты правил check-state, keep-state и limit.
Иными словами, при использовании keep state при прохождении пакета через правило, создаётся динамическое правило в “другую” строну. Это позволяет поддерживать соединения. Точнее позволяет иметь 2 правило для двухстороннего обмена пакетами (второе создаётся автоматически и называется динамическим)
На первый взгляд это покажется очень полезным, но при DDoS атаках у вас может исчерпаться лимит на количество динамических правил, особенно, если вы используете ipfw.
Особенность файерволов поддержки keep-state называется statefull.
По умолчанию keep-state поддерживает только pf. Другие файерволы (ipfw, ipfilter, iptables) требуют указания соответствующих опций для отслеживания keep-state.
Если нужно принудительно отключить в pf отслеживание keep-state, то применяем конструкцию no state.
В ipf опция keep-state действует немного по другому, а именно сначала проверяется таблица состояние уже установленных соединений (established) и только потом просматриваются правила.