В вычислительной технике межсетевой экран с отслеживанием состояния — это сетевой межсетевой экран , который индивидуально отслеживает сеансы сетевых подключений, проходящих через него. Проверка пакетов с отслеживанием состояния , также называемая динамической фильтрацией пакетов, [1] — это функция безопасности, часто используемая в некоммерческих и деловых сетях.
Межсетевой экран с отслеживанием состояния отслеживает состояние сетевых подключений, таких как потоки TCP , датаграммы UDP и сообщения ICMP , и может применять метки, такие как LISTEN , ESTABLISHED или CLOSING . [2] Записи таблицы состояний создаются для потоков TCP или датаграмм UDP, которым разрешено взаимодействовать через межсетевой экран в соответствии с настроенной политикой безопасности. После попадания в таблицу все СВЯЗАННЫЕ пакеты сохраненного сеанса упрощаются, занимая меньше циклов ЦП , чем стандартная проверка. Связанным пакетам также разрешено возвращаться через межсетевой экран, даже если не настроено правило, разрешающее связь с этого хоста. Если в течение определенного времени (зависит от реализации тайм-аута) трафик не отображается, соединение удаляется из таблицы состояний. Это может привести к тому, что приложения будут испытывать неожиданные отключения или полуоткрытые соединения TCP . Приложения могут быть написаны для периодической отправки сообщений keepalive [3] , чтобы предотвратить разрыв соединения межсетевым экраном в периоды бездействия или для приложений, которые по своей конструкции имеют длительные периоды молчания.
Метод поддержания состояния сеанса зависит от используемого транспортного протокола. TCP — это протокол, ориентированный на соединение [4], и сеансы устанавливаются с помощью трехстороннего рукопожатия с использованием пакетов SYN и завершаются отправкой уведомления FIN . [5] Брандмауэр может использовать эти уникальные идентификаторы соединений, чтобы знать, когда следует удалить сеанс из таблицы состояний, не дожидаясь истечения времени ожидания. UDP — это протокол без установления соединения, [4] что означает, что он не отправляет уникальные идентификаторы, связанные с соединением, во время связи. Из-за этого сеанс будет удален из таблицы состояний только по истечении настроенного времени ожидания. UDP hole punching — это технология, которая использует эту особенность для динамической настройки туннелей данных через Интернет. [6] Сообщения ICMP отличаются от TCP и UDP и передают управляющую информацию самой сети. Известным примером этого является утилита ping . [7] Ответы ICMP будут разрешены обратно через брандмауэр. В некоторых сценариях UDP-коммуникация может использовать ICMP для предоставления информации о состоянии сеанса, поэтому ответы ICMP, связанные с UDP-сеансом, также будут разрешены.