Информационная безопасность
Firewall и IDS/IPS
В 2013 году хакерская группа Target взломала розничную сеть через... HVAC-подрядчика. Firewall был настроен правильно, но сеть не была сегментирована: из сети вентиляции можно было добраться до POS-терминалов. Украдено 40 млн номеров кредитных карт. Firewall без правильной архитектуры сегментации - это замок на двери сарая, который стоит рядом с незапертым домом.
- **Zero Trust Architecture:** вместо периметрального firewall - проверка каждого соединения; Google BeyondCorp перешел на эту модель после взлома в 2009 году
- **Cloud WAF:** Cloudflare, AWS WAF, Akamai обрабатывают HTTP-трафик до попадания на сервер; Cloudflare блокирует более 124 млрд угроз ежедневно
- **EDR + NDR + SIEM:** endpoint detection, network detection и centralized logging - триада современного SOC (Security Operations Center)
Packet Filtering
Первый уровень защиты сети - пакетная фильтрация. Каждый IP-пакет проверяется по набору правил: адрес источника, адрес назначения, порт, протокол. Правила применяются последовательно - первое совпадение выигрывает. Это быстро и не требует памяти о соединениях, но у такого подхода есть фундаментальная слепота: он не понимает контекст.
Linux iptables / nftables - основа пакетной фильтрации в Linux. Таблицы: filter (INPUT, OUTPUT, FORWARD), nat (PREROUTING, POSTROUTING), mangle. Политика по умолчанию: DROP или ACCEPT. Порядок правил критичен - первое совпадение определяет судьбу пакета. nftables с 2014 года заменяет iptables, более эффективен при большом числе правил.
Пакетный фильтр разрешает входящий трафик на порт 80. Атакующий отправляет TCP-пакет с установленным флагом ACK на порт 80 без предшествующего SYN. Что произойдет?
Stateful Firewall
Stateful firewall помнит каждое TCP-соединение: SYN отправлен, SYN-ACK получен, соединение установлено. Только пакеты в контексте легитимного соединения проходят обратно. Это решает проблему ACK-сканирования и IP-спуфинга, но создает новую уязвимость: таблица состояний конечна. SYN-flood - атака именно на эту таблицу: тысячи SYN без завершения handshake заполняют таблицу и новые соединения перестают приниматься.
Connection tracking в Linux: /proc/net/nf_conntrack. Состояния: NEW (первый пакет соединения), ESTABLISHED (двусторонний обмен), RELATED (связанные, например FTP data), INVALID. SYN cookies - защита от SYN-flood: сервер не хранит состояние до получения ACK, кодирует ISN (Initial Sequence Number) из hash(src_ip, src_port, dst_ip, dst_port, timestamp).
Почему SYN-flood эффективен против stateful firewall, но не против stateless пакетного фильтра?
IDS - Intrusion Detection System
IDS наблюдает за трафиком и сигнализирует об аномалиях - но не блокирует. Это принципиальное архитектурное решение: лучше пропустить атаку и узнать о ней, чем заблокировать легитимный трафик. IDS работает в двух режимах: signature-based (база сигнатур известных атак) и anomaly-based (отклонение от baseline нормального трафика). Второй подход генерирует больше ложных срабатываний, но ловит zero-day.
Snort - де-факто стандарт open source IDS/IPS. Suricata - многопоточная альтернатива с поддержкой Lua-скриптов и Eve JSON логами. SIEM (Security Information and Event Management) агрегирует алерты от IDS, firewall, endpoint - корреляция событий помогает выявить атаки, невидимые в изоляции. Zeek (bro) - сетевой анализатор, создает структурированные логи всего трафика.
В чём ключевое различие между signature-based и anomaly-based IDS при обнаружении zero-day атак?
IPS - Intrusion Prevention System
IPS - это IDS с правом блокировать. Ставится inline (в разрыв трафика), а не как tap (пассивная копия). Цена этого права - критичность: если IPS падает или дает сбой, трафик либо останавливается (fail-closed), либо проходит незащищенным (fail-open). Каждый false positive теперь блокирует реального пользователя. Именно поэтому IPS тюнинг - отдельная дисциплина: баланс между обнаружением и точностью.
Next-Generation Firewall (NGFW) объединяет stateful firewall + IPS + deep packet inspection + application awareness + TLS inspection. Производители: Palo Alto Networks, Fortinet FortiGate, Check Point. WAF (Web Application Firewall) специализируется на HTTP: защита от OWASP Top 10 (SQLi, XSS, CSRF). ModSecurity - open source WAF для nginx/Apache, OWASP Core Rule Set (CRS) - набор правил.
Firewall защищает от всех атак - достаточно закрыть все порты кроме 80 и 443
Firewall защищает периметр; атаки через открытые порты (SQLi, XSS, API abuse) требуют WAF и IPS
Современные атаки используют разрешенные протоколы. SQL-инъекция идет через порт 443 в теле HTTP-запроса - firewall это не видит. Нужна глубокая инспекция пакетов (DPI) и понимание прикладного протокола.
WAF заблокировал запрос к /api/v1/users?search=O'Brien (апостроф в фамилии). Это пример чего?
Ключевые идеи
- **Stateless vs Stateful:** stateless быстрее, но слеп к TCP state machine; stateful понимает контекст соединения, но уязвим к SYN-flood
- **IDS vs IPS:** IDS наблюдает и сигнализирует, IPS блокирует inline; false positive в IPS = заблокированный пользователь
- **Defense in Depth:** firewall + WAF + IPS + SIEM - каждый слой закрывает слепые пятна другого; один инструмент не решает все проблемы
- **Signature vs Anomaly:** сигнатуры точны, но слепы к zero-day; аномалии ловят новое, но генерируют ложные тревоги
Связанные темы
Firewall и IDS работают в связке с другими инструментами безопасности:
- TLS/SSL и PKI — TLS-инспекция (MITM на уровне NGFW) необходима для анализа зашифрованного трафика IDS/IPS
- OWASP и веб-уязвимости — WAF защищает от OWASP Top 10; правила WAF строятся на понимании атак из OWASP
Вопросы для размышления
- Если организация переходит на Zero Trust Architecture, нужен ли периметральный firewall? Что он защищает в мире, где периметр исчез?
- Как IDS/IPS должен обрабатывать зашифрованный TLS-трафик - инспектировать (MITM) или доверять? Какие риски несет каждый подход?
- Почему автоматическое блокирование IPS при высоком false positive rate опаснее, чем отсутствие блокирования?