Фильтр пакетов
Фильтр пакетов — это программное или аппаратное средство, которое анализирует заголовки сетевых пакетов и принимает решение о их пропуске или блокировке на основе заданного набора правил. Фильтрация пакетов является одной из основных функций межсетевых экранов (брандмауэров) и маршрутизаторов, обеспечивающих сетевую безопасность.
Принцип работы
Фильтрация пакетов осуществляется на сетевом уровне (уровень 3) и транспортном уровне (уровень 4) модели OSI. При поступлении пакета фильтр проверяет его заголовки, не анализируя содержимое данных (полезную нагрузку). Решение о пропуске или отбрасывании пакета принимается на основе правил, которые могут учитывать следующие параметры:
- IP-адрес источника и назначения.
- Порт источника и назначения (для протоколов TCP и UDP).
- Тип протокола (например, TCP, UDP, ICMP, IGMP).
- Флаги TCP (SYN, ACK, FIN, RST и другие).
- Интерфейс входа/выхода (на маршрутизаторе или межсетевом экране).
Правила обычно задаются в виде списков контроля доступа (ACL). Каждое правило состоит из условия и действия (например, allow или deny). Пакет последовательно проверяется на соответствие правилам. Если пакет соответствует правилу, выполняется указанное действие. Если пакет не соответствует ни одному правилу, применяется политика по умолчанию (обычно — отбрасывание пакета).
Виды фильтрации пакетов
Статическая фильтрация (без сохранения состояния)
Статический фильтр (stateless) анализирует каждый пакет независимо от других, не сохраняя информацию о предыдущих пакетах того же соединения. Он проверяет только заголовки текущего пакета. Такой подход прост в реализации, но не позволяет обнаруживать атаки, основанные на подделке последовательности пакетов (например, IP-спуфинг). Статические фильтры широко применялись в ранних межсетевых экранах и маршрутизаторах.
Динамическая фильтрация (с сохранением состояния)
Динамический фильтр (stateful) отслеживает состояние активных сетевых соединений. Он ведёт таблицу состояний, в которой записывается информация о каждом установленном соединении (IP-адреса, порты, последовательность пакетов). При поступлении нового пакета фильтр проверяет, принадлежит ли он уже установленному соединению. Если да, пакет пропускается без повторной проверки правил. Если нет — пакет проверяется по правилам, и при положительном решении в таблицу состояний добавляется запись о новом соединении. Динамическая фильтрация эффективнее статической, так как позволяет блокировать пакеты, не соответствующие ожидаемому состоянию соединения (например, SYN-пакеты, приходящие на порт, который не был открыт).
Фильтрация на основе приложений (L7-фильтрация)
Хотя строго не относится к фильтрации пакетов на уровне 3/4, современные межсетевые экраны часто реализуют глубокую проверку пакетов (DPI) на прикладном уровне (уровень 7). Такие фильтры анализируют содержимое пакетов, включая данные протоколов прикладного уровня (HTTP, FTP, SMTP). Это позволяет блокировать не только пакеты по IP и портам, но и конкретные типы трафика (например, протоколы BitTorrent, Skype, определённые веб-сайты) или вредоносное содержимое.
Применение
Фильтрация пакетов является основой для реализации политик сетевой безопасности в различных сценариях:
- Межсетевые экраны (брандмауэры). Фильтры пакетов используются для ограничения доступа из внешних сетей (например, Интернета) к внутренним ресурсам (серверам, рабочим станциям). Например, можно разрешить входящие HTTP-запросы на веб-сервер, но заблокировать все остальные попытки подключения.
- Маршрутизаторы. Фильтрация пакетов на маршрутизаторах позволяет управлять трафиком между сегментами сети, блокировать нежелательные соединения и предотвращать атаки типа «отказ в обслуживании» (DDoS).
- Виртуальные частные сети (VPN). Фильтры пакетов используются для проверки трафика, проходящего через VPN-туннели, и для обеспечения соответствия политикам безопасности.
- Системы обнаружения и предотвращения вторжений (IDS/IPS). Многие IDS/IPS используют фильтрацию пакетов для выявления аномалий и атак на ранних этапах.
- Контроль доступа в сетях организаций. Фильтры пакетов позволяют ограничивать доступ сотрудников к определённым ресурсам (например, к социальным сетям, файлообменным сервисам) или к определённым протоколам.
Преимущества и недостатки
Преимущества
- Высокая производительность. Фильтрация пакетов на уровне 3/4 требует минимальных вычислительных ресурсов, что позволяет обрабатывать большие объёмы трафика с низкой задержкой.
- Простота реализации. Правила фильтрации легко настраиваются и понимаются.
- Независимость от приложений. Фильтрация работает на уровне протоколов, не требуя знания специфики прикладного ПО.
- Низкая стоимость. Программные фильтры пакетов входят в состав многих операционных систем (например, iptables в Linux, pf в BSD, Windows Firewall).
Недостатки
- Отсутствие анализа содержимого. Фильтр не может выявить вредоносное содержимое внутри пакета (например, вирус в HTTP-запросе).
- Уязвимость к спуфингу. Статические фильтры могут быть обмануты пакетами с поддельным IP-адресом источника.
- Сложность управления правилами. При большом количестве правил их поддержка и отладка становятся сложными.
- Невозможность фильтрации на основе пользователей. Фильтрация пакетов не учитывает аутентификацию пользователя, только сетевые адреса.
- Проблемы с протоколами, использующими динамические порты. Некоторые протоколы (например, FTP, SIP) могут открывать дополнительные порты во время сеанса, что требует динамической фильтрации или использования дополнительных модулей (например, conntrack в Linux).
Реализации
Фильтры пакетов реализованы в виде программных и аппаратных решений:
- Программные:
- iptables/nftables (Linux) — стандартные инструменты фильтрации пакетов в ядре Linux.
- pf (Packet Filter) (BSD) — межсетевой экран с фильтрацией пакетов, используемый в OpenBSD, FreeBSD, macOS.
- Windows Filtering Platform (WFP) — платформа для фильтрации пакетов в операционных системах Microsoft Windows.
- ipfw (FreeBSD, macOS) — утилита для управления фильтрацией пакетов.
- Аппаратные:
- Маршрутизаторы Cisco — используют списки контроля доступа (ACL) для фильтрации пакетов.
- Аппаратные межсетевые экраны (например, от компаний Palo Alto Networks, Fortinet, Check Point) — реализуют фильтрацию пакетов на уровне ASIC или FPGA для высокой производительности.
История
Первые фильтры пакетов появились в 1980-х годах вместе с развитием сетей TCP/IP. Ранние межсетевые экраны, такие как Packet Filter (1988 год, разработан в Digital Equipment Corporation), использовали статическую фильтрацию. В 1990-х годах с распространением Интернета и ростом угроз безопасности стали развиваться динамические фильтры (stateful inspection). В 2000-х годах появились системы глубокой проверки пакетов (DPI), которые дополнили фильтрацию пакетов анализом на прикладном уровне.
Правовое регулирование в России
В Российской Федерации использование фильтрации пакетов регулируется рядом нормативных актов, включая Федеральный закон «О связи», Федеральный закон «Об информации, информационных технологиях и о защите информации», а также приказы Министерства цифрового развития, связи и массовых коммуникаций РФ. Операторы связи обязаны устанавливать на своих сетях технические средства противодействия угрозам (ТСПУ), которые включают фильтры пакетов для блокировки доступа к запрещённым ресурсам (например, сайтам, содержащим экстремистские материалы, в том числе материалы организаций, признанных в РФ экстремистскими и запрещённых, таких как Meta, ИГИЛ, движение ЛГБТ). Также фильтрация пакетов используется для реализации «суверенного интернета» — централизованного управления маршрутизацией и фильтрацией трафика на национальном уровне.
Источники
- Столлингс В. «Компьютерные сети, протоколы и технологии». — СПб.: Питер, 2020.
- Таненбаум Э., Уэзеролл Д. «Компьютерные сети». — СПб.: Питер, 2019.
- Куроуз Дж., Росс К. «Компьютерные сети: нисходящий подход». — М.: Эксмо, 2018.
- RFC 791 — Internet Protocol.
- RFC 793 — Transmission Control Protocol.
- RFC 4301 — Security Architecture for the Internet Protocol (IPsec).
- Федеральный закон от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации».
- Федеральный закон от 07.07.2003 № 126-ФЗ «О связи».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →