Введение

Система сетевой безопасности с отслеживанием соединений

В вычислительной технике, файрвол с состоянием (stateful firewall) – это сетевой файрвол, который индивидуально отслеживает сеансы сетевых соединений, проходящие через него. Инспекция пакетов с учетом состояния (stateful packet inspection), также известная как динамическая фильтрация пакетов, является функцией безопасности, часто используемой в некоммерческих и корпоративных сетях.

Описание

Файрволл с состоянием отслеживает состояние сетевых соединений, таких как потоки TCP, UDP-датаграммы и сообщения ICMP, и может применять метки, такие как LISTEN, ESTABLISHED или CLOSING. Записи таблицы состояний создаются для потоков TCP или UDP-датаграмм, которым разрешено взаимодействовать через файрволл в соответствии с настроенной политикой безопасности. Как только они попадают в таблицу, все RELATED-пакеты сохраненной сессии обрабатываются быстрее, требуя меньше циклов процессора, чем стандартная проверка. Связанные пакеты также разрешаются возвращаться через файрволл, даже если нет правила, разрешающего связь с этим хостом. Если в течение определенного времени не поступает трафика (время ожидания зависит от реализации), соединение удаляется из таблицы состояний. Это может привести к неожиданным разрывам соединения приложений или полуоткрытым TCP-соединениям. Приложения могут быть разработаны для периодической отправки keepalive-сообщений, чтобы предотвратить отключение соединения во время бездействия или для приложений, которые по своей природе имеют длительные периоды тишины. Метод поддержания состояния сессии зависит от используемого транспортного протокола. TCP – это протокол, ориентированный на установление соединения, и сессии устанавливаются посредством трехстороннего рукопожатия с использованием SYN-пакетов и завершаются отправкой FIN-уведомления. Файрволл может использовать эти уникальные идентификаторы соединения, чтобы знать, когда удалить сессию из таблицы состояний, не дожидаясь истечения времени ожидания. UDP – это протокол без установления соединения, сообщения ICMP отличаются от TCP и UDP и передают управляющую информацию самой сети. Хорошо известным примером является утилита ping. Ответы ICMP будут разрешены через файрволл. В некоторых сценариях UDP-связь может использовать ICMP для предоставления информации о состоянии сессии, поэтому ответы ICMP, связанные с UDP-сессией, также будут разрешены.