Привет, меня зовут Александр Быков. В Nubes я руковожу направлением сервисов информационной безопасности. Мы продолжаем серию статей про тестирование межсетевого экрана Sangfor NGAF M5300. В этом посте речь пойдет про модуль WAF.  На рынке инфобезопасности есть множество продуктов, у которых по заявлению их разработчиков, есть функциональность WAF. Однако при ближайшем рассмотрении оказывается, что это всего лишь маркетинг, а не полноценные решения. А что же с модулем Sangfor WAF? Рассказываю про результаты нашего тестирования.  Sangfor я сегодня буду сравнивать в первую очередь со «взрослыми решениями». Для оценки были выбраны три критерия: Как WAF блокирует атаки сигнатурными методами из коробки. Как реализованы функции управления трафиком и сертификатами. Дополнительные «плюшки»» продукта: ML, Bot Protection и т.д. По этой же методике ранее я оценивал решения отечественных и ушедших из России иностранных вендоров. Я использовал утилиту GoTestWAF. Мы пытались тестировать WAF  с помощью других утилит, но Sangfor не отдает стандартные retcode (40x, 50x) в ответ на заблокированные сообщения. Поэтому большинство утилит неправильно распознавали корректно заблокированные запросы. В GoTestWAF такой вариант предусмотрен и решается добавлением  нескольких ключей --skipWAFBlockCheck и --blockConnReset при запуске программы. В тестах мы применяли запросы, которые должны обмануть WAF и донести запрос до атакуемого веб-сервера. Подробнее о методиках обхода и известных уязвимостях решений, можно прочитать в объемном материале Awesome-WAF. Также делали проверки на False Positive, когда отправляются запросы, которые не являются зловредными. Для теста использовались все паки сэмплов, предоставленных программой. На WAF все стандартные модули переведены в режим Deny, кроме модулей, которые по сумме сработок блокируют IP-адрес. Для сигнатур используются дефолтные действия. Вот какую оценку получили в результате тестирования: Оценку проводили по двум категориям: защита API и AppSec Вот как выглядит лог одного из заблокированных запросов: Для оценки полученных результатов GoTestWAF предлагает сравнить их с параметрами популярного WAF modsecurity: Результат по Application Security для ненастроенного WAF на достойном уровне.По защите API результаты хуже, но это можно исправить настройкой позитивной модели под каждый проект. В аспекте управления трафиком у Sangfor больше всего прослеживается, что WAF — это часть комплексного продукта и работает он в связке с файерволом L4. Обычно в WAF можно оперировать связкой доменное имя + IP-адрес, а также совершать операции с доменами, создавать для них отдельные профили, отправлять их на разные адреса. В Sangfor эта логика упрощена: для создания защиты сервиса необходимо работать с IP-адресами. Именно на IP-адрес «вешается» профиль WAF и к нему же привязывается SSL-сертификат. В итоге доменные имена защищаемых сервисов мы видим только в логах или используем URL при написании исключений для проверки. В Sangfor отсутствуют и некоторые другие привычные функции: Отсутствует умная балансировка по параметрам HTTP-запроса. Нет возможности настроить SNI на входящем интерфейсе (отдать его на бэкэнд сервер тоже нельзя). Нельзя защищать разные сайты разными профилями защиты, если они работают на одном IP-адресе. При этом возможность прятать и добавлять заголовки реализована. Во многих случаях, отсутствие вышеперечисленного функционала не вызывает никаких проблем, но иногда это может быть критичным и потребовать изменить сетевую схему или добавить в нее новые элементы в виде балансировщика. Из нестандартного функционала хочется отметить следующий: Machine Learning. Подкупает его лаконичность, нет перегруженности в интерфейсе и углубления в бизнес-логику. (Про ML подробно расскажем в следующей статье) Достойный встроенный сканер уязвимостей. Можно сканировать в активном и пассивном режиме.  После скана получаем подробный отчет, с вариантами решения проблемы с помощью NGAF или модификации приложения. Пример сработки из отчета встроенного сканера: Также есть много возможностей, которые часто применяются для защиты веб-приложений, но в Sangfor они вынесены за рамки модуля WAF. Например: блокировка по GEO, контроль количества подключений, блокировка на основе репутации. В целом модуль WAF на Sangfor оставил у меня приятные впечатления. Его можно эффективно применять для защиты небольшой или однородной инфраструктуры веб-приложений. Он вполне подойдет для публикации корпоративных порталов и сервисов. Формат комплексного продукта может упростить внедрение на многих проектах. Главный минус Sangfor WAF — решение не умеет управлять трафиком на уровне его продвинутых аналогов. Sangfor WAF плохо подойдет для больших проектов или приложений со сложной структурой. Однако если у вас небольшой парк веб-приложений и веб-серверов, то этот сервис справится со своей главной задачей.   Руководитель направления сервисов защиты