Я просматриваю правила ipfw для нашего веб-сервера, и меня поразило, что мы используем проверку / сохранение состояния для всего исходящего трафика. У нас только несколько портов открыты в обоих направлениях. У нас не так много исходящего трафика, и 99% его приходится на порт 80 (например, PHP / CURL). Может существовать потенциальный риск заполнения таблицы состояний, поэтому я думаю, что, возможно, вообще нет необходимости использовать keep-state. Мы не используем его при поступлении (по понятным причинам). Какова вообще цель использования keep-state?
Исходящее состояние сохранения динамически открывает порты для ответов на исходящий трафик. Эти ответные пакеты могут возвращаться на любой порт, поэтому keep-state снижает уязвимость при открытии случайных портов, используемых внешней службой, что позволяет возвращать ответные пакеты. В особых случаях сервер может работать без keep-state, без внешнего трафика, но на практике большинство систем используют внешние службы. Многоуровневая система может быть настроена для ответа на определенных портах, но конфигурация по умолчанию для большинства служб общего пользования такова; известный порт входящий - случайный исходящий порт. DNS, исходящая электронная почта, удаленное ведение журнала, пинг, балансировка нагрузки или контрольные сигналы сторожевого таймера, уведомления пейджера / сотового телефона, некоторые или все являются обычным исходящим трафиком на серверах, которые «не имеют исходящего трафика».