Компьютерные сети
Firewall: стена огня
1988 год: первый firewall - простой пакетный фильтр. 2024 год: NGFW расшифровывает ваш HTTPS, определяет приложение, ищет malware. Эволюция от "запретить порт" до "понять что происходит".
- **iptables/nftables** - встроенный firewall Linux, используется на миллионах серверов
- **AWS Security Groups** - stateful firewall для EC2, правила по IP/порту и security group ID
- **Palo Alto Networks** - лидер NGFW рынка, App-ID для идентификации 3000+ приложений
Предварительные знания
Типы файрволов: от пакетных до NGFW
**Firewall** фильтрует сетевой трафик по правилам: разрешает нужное, блокирует всё остальное. Эволюция: пакетные фильтры (L3/L4) → stateful inspection → application-layer (L7) → Next-Generation Firewall (NGFW).
**Packet Filter** проверяет каждый пакет отдельно. Не знает, что SYN-ACK - это ответ на ваш SYN. Приходится явно разрешать входящие ответы - сложно и небезопасно.
Современные firewall работают на **нескольких уровнях**: L3/L4 для базовой фильтрации по IP/портам, L7 для application control. NGFW добавляет threat intelligence, sandboxing, SSL decryption.
Что отличает stateful firewall от простого packet filter?
ACL: Access Control Lists
**ACL (Access Control List)** - упорядоченный список правил. Каждое правило: условие + действие (permit/deny). Правила проверяются сверху вниз, первое совпадение - финальное. В конце обычно implicit deny (запретить всё остальное).
**First match wins** - первое совпавшее правило определяет судьбу пакета. Специфичные правила должны быть выше общих. Ошибка порядка = дыра в безопасности.
На роутерах ACL применяется к интерфейсам: **inbound** (входящий трафик) или **outbound** (исходящий). Одно неверно применённое правило может заблокировать весь трафик.
Правило deny SSH идёт перед permit SSH для 192.168.1.0/24. Что произойдёт?
Stateful Inspection: отслеживание соединений
**Stateful firewall** хранит таблицу активных соединений (connection table). Когда вы открываете TCP-соединение, firewall запоминает его и автоматически пропускает ответные пакеты. Не нужно явно разрешать входящий трафик для каждого исходящего.
**TCP states**: NEW (первый SYN), ESTABLISHED (handshake завершён), RELATED (связанные соединения, например FTP data), INVALID (повреждённые пакеты).
Stateful inspection значительно упрощает правила: вместо явного разрешения входящих ответов достаточно `--state ESTABLISHED,RELATED -j ACCEPT`. Firewall сам определит, какие пакеты являются ответами.
Зачем stateful firewall хранит connection table?
NGFW: Next-Generation Firewall
**NGFW** объединяет традиционный firewall с дополнительными функциями безопасности: Deep Packet Inspection (DPI), Application Identification, IPS/IDS, антивирус, SSL decryption, threat intelligence.
**Application Identification** - NGFW определяет приложение по поведению, не по порту. Skype на порту 443? NGFW увидит, что это Skype, не HTTPS. Можно заблокировать Skype, разрешив HTTPS.
**SSL Inspection** - NGFW расшифровывает HTTPS-трафик (man-in-the-middle), проверяет содержимое и шифрует обратно. Требует установки CA-сертификата на клиентах. Спорно с точки зрения приватности.
Firewall на периметре сети достаточен для защиты
Современная защита требует сегментации: firewall между зонами, микросегментация, Zero Trust
Если атакующий преодолеет периметр (фишинг, VPN-credentials), он получит доступ ко всей сети. Микросегментация ограничивает перемещение внутри сети. Zero Trust требует аутентификации для каждого запроса, даже внутри сети.
Как NGFW определяет, что трафик - это Zoom, а не обычный HTTPS?
Итоги
- **ACL** - упорядоченные правила permit/deny. First match wins - порядок критичен!
- **Stateful Firewall** - отслеживает соединения, автоматически пропускает ответы. Проще и безопаснее packet filter
- **NGFW** - DPI, Application ID, IPS, SSL inspection. Видит приложение, не порт. Дорого, но эффективно
Связанные темы
Firewall защищает сеть на разных уровнях:
- TCP basics — Stateful firewall отслеживает TCP-состояния (SYN, ESTABLISHED)
- DDoS защита — Firewall - первая линия обороны от сетевых атак
Вопросы для размышления
- Почему stateful firewall безопаснее, чем разрешить все входящие пакеты с порта 443?
- Какие проблемы приватности создаёт SSL Inspection?
- Почему firewall на периметре недостаточен для Zero Trust архитектуры?