29.08.2025 | IPS в NGFW: как не дать себя обмануть красивыми циферками |
Включили IPS на файрволе, а производительность просела на 60%? Добро пожаловать в клуб! История про то, как маркетинговые 99% детекта превращаются в реальные головные боли, знакома каждому сетевому инженеру. Сегодня разберём, что творится внутри системы предотвращения вторжений, почему она так безжалостно пожирает ресурсы и главное — как сделать так, чтобы IPS работала на вас, а не против. Забудьте про абстрактные схемы из презентаций вендоров. Поговорим конкретно: какие правила читает движок, что проверяет в потоке и почему одна неаккуратная сигнатура может положить весь продакшен. Принцип работы: никакой магии, только логикаNGFW пропускает трафик по своим политикам, а IPS параллельно сверяет содержимое с сигнатурами и выполняет указанное в них действие. Звучит просто, но дьявол кроется в деталях. IPS обрабатывает поток пошагово: видит протокол и направление, восстанавливает контекст сессии и сверяет полезную нагрузку с предикатами сигнатуры. При совпадении — действует ровно так, как сказано в правиле. Сигнатура — это точное описание признаков нежелательной активности, которое даёт системе формальный критерий: «это похоже на атаку, пора реагировать». Думайте о ней как о рецепте: чёткие ингредиенты, пропорции и последовательность действий. Только вместо борща получаем детект угрозы. Почему все говорят на языке Snort и SuricataОткрытые движки Snort и Suricata задали синтаксис де-факто. Даже когда вендор пишет собственный IPS, ему удобнее поддерживать «snort/suricata-язык», чтобы аналитики могли быстро формировать качественные правила. От качества формулировок зависит не только охват техник, но и производительность — чем умнее условие, тем меньше ложных совпадений в продакшене. В реальных продуктах часто используют собственный движок, но синтаксис оставляют совместимым — это снижает порог входа для экспертов, которые пишут и сопровождают правила. Как говорится, зачем изобретать велосипед, когда можно просто сделать его быстрее? Анатомия сигнатуры: разбираем живой примерЧтобы понять, как IPS принимает решения, разберём реальную сигнатуру для детекта активности Sliver C2 — кросс-платформенного фреймворка для red team операций: Общая информация
Основные условия срабатывания1. Тип трафика: HTTP на любых адресах и портах — правило не привязано к конкретным узлам 2. Состояние соединения: анализируются ответы при установленной сессии, то есть трафик от сервера 3. HTTP-заголовки:
4. Тело ответа: длинная «россыпь» слов из заглавных букв — маркер специфического кодирования команд 5. Контекст: ранее установленный flowbit подтверждает, что мы уже видели характерный этап обмена этого C2 Дополнительные параметрыАнтиспам-ограничение: не чаще одного совпадения в 300 секунд по источнику Привязка к MITRE ATT&CK: помогает отнести событие к правильной тактике и технике:
Логика сигнатуры: что ловим и почемуПравило рассчитано на HTTP-ответы без компрессии, где вместо обычных данных — длинные цепочки «слов» из заглавных букв. Такой паттерн отражает передачу команд/данных в рамках Sliver C2 через веб-трафик. Условие с flowbits гарантирует, что это не случайная строка, а продолжение распознанного обмена. В итоге правило ловит управляемые сессии фреймворка Sliver, не трогая нормальные ответы. Важная деталь — привязка к ранее установленному контексту: без соответствующего флага правило не сработает, что снижает шум. Пример трафика, который попадёт под сигнатуруВот HTTP-обмен, на который сработает наша сигнатура: Действия IPS: что происходит после детектаКогда контекст совпадений выстроен, IPS выполняет действие из правила - здесь это действие alert. При смене режима на блокирующий важно сначала проверить поведение в журналировании, затем переводить те же сигнатуры в блокировку на контролируемых сегментах. Сигнатуры поддерживают базовый набор действий движка, и понимать их семантику критично для правильной политики:
IPS vs потоковый антивирус: в чём разница?Частый вопрос: чем IPS отличается от потокового антивируса, если оба «на сигнатурах»? Пространством видимости и уровнем модели OSI. IPS работает на 3/4/7 уровнях, анализируя весь поток, а потоковый антивирус сфокусирован на объектах прикладного уровня. В реальности они дополняют друг друга: хостовый агент закрывает то, что сетевой экран не видит, а NGFW с IPS и песочницей снимает риски ещё до попадания файла на узел. Хостовый антивирус к тому же не влияет на полосу пропускания межсетевого экрана, поэтому для стойкости разумно использовать эшелонированную схему. Синтаксис: красота и проклятье совместимостиСинтаксис «как у Suricata» встречается повсеместно: в правиле всегда зафиксированы направление, протокол и искомый контент, а также параметры поиска (смещения, глубина, окно). Цена удобства — производительность: включение IPS у большинства производителей по даташитам заметно урезает паспортную полосу (порядка 60–70%), потому что движок выполняет глубокий разбор пакетов, восстанавливает сессии и применяет крупные наборы условий. Почему IPS превращает файрвол в тормозаПроизводительность проседает по честной причине: DPI разбирает каждый пакет, восстанавливает сессию, анализирует заголовки и полезную нагрузку на протоколах HTTP/HTTPS/DNS/FTP и др., а потом гоняет всё через большие множества правил. Чем шире и «тяжелее» набор сигнатур и чем глубже анализ (много PCRE, flowbits, декодеров), тем выше стоимость обработки. Поэтому использование IPS с настройками «по умолчанию» (когда включены все доступные правила без разбора) почти всегда приводит к падению сквозной скорости — и к разочарованию. Количество правил само по себе не равно качеству: куда важнее их релевантность вашим сервисам и точно сформулированные условия срабатывания. Под условиями срабатывания понимаются предикаты — логические выражения в сигнатуре, которые определяют, при каких именно обстоятельствах правило должно сработать. Например, проверка конкретного содержимого в HTTP-заголовках, анализ определённых байтовых последовательностей в полезной нагрузке или сочетание нескольких факторов одновременно. Чем точнее сформулированы эти условия, тем меньше ложных срабатываний и выше общая производительность системы. Контроль приложений: когда IPS становится умнееКонтроль приложений (Application Control) добавляет IPS контекст: по поведенческим признакам и TLS-фингерпринтам движок понимает источник трафика и применяет релевантные сигнатуры — меньше лишних проверок и выше точность детекта. Это помогает корректно распознавать «приложения поверх TLS» (вроде Skype over HTTPS или Telegram MTProto), где одних портов/адресов недостаточно. Работа под нагрузкой: что происходит на пикеНа пике нагрузки важно, как устроена логика работы NGFW. В некоторых системах IPS выключают, чтобы сохранить доступность. В других — как в PT NGFW — проверки на действующих сессиях не останавливаются, а просто перестают открываться новые, чтобы атака не прошла под шумок. Такой подход уменьшает окно для злоумышленника, который мог бы попытаться перегрузить устройство DDoS-ом и пройти дальше при выключенном движке. Тестирование: как не попасться на маркетинговые цифры«Сделаем быстро и без просадки» — заманчиво, но бесполезно, если сигнатуры поверхностные. Качество IPS меряют в двух плоскостях: руками и с помощью специализированных средств. Эталон — сочетать оба метода и проверять не только факт детекта, но и влияние на производительность. Ручное тестирование: медленно, но честноРучной подход — заведомо уязвимые сервисы, Metasploit, эксперимент с ICMP-туннелем — даёт прозрачный результат и ценную отладку компенсирующих мер, но требует времени и аккуратности. Плюс этого пути — максимально приближённая к реальности проверка, где видно, как IPS ведёт себя на конкретных протоколах и полезных нагрузок вашей инфраструктуры. Сканеры автоматизируют рутину и хорошо закрывают стадию разведки из MITRE ATT&CK (адреса, порты, сервисы), но не претендуют на полноту по всем тактикам/техникам/процедурам.
Результаты нужно уметь интерпретировать. Полезно фиксировать, какие именно этапы «цепляет» IPS и почему: это облегчает настройку правил и харденинга после тестов. Синтетические тесты: красивые цифры, сомнительная пользаМногие вендоры NGFW тестируют IPS на IXIA: экран подключают двумя интерфейсами и гоняют поток со «страйками» — наборами атак, подобранных по актуальности, сервисам и CVSS. Смысл есть только тогда, когда страйки совпадают с реальными сервисами вашей инфраструктуры. Итог дают в одной цифре — catch rate, доле отражённых атак. Цифру легко «надуть» сигнатурами, заточенными под синтетику: на бумаге 99–100%, в живом трафике — шум, ложные срабатывания и сожжённый CPU. Из-за дефицита экспертизы синтетика нередко становится единственным мерилом, хотя рынку нужна общая, прозрачная методика оценки NGFW. Реальная эксплуатация: как не отключить IPS «временно»Плохо написанные правила либо режут легитимный трафик, либо тормозят железо, и администратор их просто отключит — устойчивость упадёт. Ответственность за качество лежит на вендоре: экспертные центры, разбор реальных инцидентов, «экономные» и точные сигнатуры. В реальности всё, что мешает продакшену, чаще всего сначала отключают «временно», а потом об этом попросту забывают. Так нередко и заканчивается история IPS — печальный, но типичный сценарий. Два подхода к применению правилЧтобы этого не случилось, важно понимать, как именно движок проверяет поток у разных вендоров. В целом встречаются два подхода:
В обоих случаях нельзя забывать об обновлениях. База правил регулярно меняется, и после очередной выгрузки нагрузка на устройство может подрасти — если новые или переработанные сигнатуры сделаны неаккуратно. А может и не измениться вовсе — всё упирается в качество экспертизы поставщика. Практические советы: как внедрить IPS без болиКогда сеть меняется — появляются новые сервисы, подсети и доступы — важно не «убить» перегретый межсетевой экран при включении IPS на новом сегменте. Рабочая схема простая: зеркалировать весь трафик с интерфейсов через ответвители, а шифрованный — с NGFW через сетевой брокер в NTA; на брокере обязательно исключать шифрованный поток. Это даёт возможность заранее изучить трафик новых сегментов, увидеть, какие сигнатуры срабатывают, и осознанно добавить нужные в набор IPS у соответствующего правила NGFW. Если NTA нет, включите полный набор сигнатур в режиме alert, отследите ложные срабатывания на легитимный трафик, затем переведите безопасные правила в drop/reject. На границах критичных сегментов IPS заметно повышает защищённость, а гранулярные политики доступа по геолокации, TCP/UDP-портам, приложениям и пользователям сужают поверхность атаки и мешают латеральному перемещению. Заключение: сигнатуры — это код вашей безопасностиNGFW остаётся ключевым элементом сетевой архитектуры и инструментом реагирования — выбирайте и эксплуатируйте его аккуратно. В сухом остатке: сигнатуры — это код вашей безопасности. Чем качественнее они написаны, чем аккуратнее подобран набор и чем прозрачнее процесс валидации, тем тише спят пользователи и тем спокойнее живёт ваш NGFW. Помните: красивые цифры в презентациях вендоров — это одно, а реальная работа в продакшене — совсем другое. Тестируйте, настраивайте постепенно и не забывайте, что IPS — это не панацея, а важная часть эшелонированной защиты. Правильно настроенная система может стать вашим надёжным щитом, а плохо настроенная — головной болью на долгие месяцы. |
Проверить безопасность сайта