Привет, меня зовут Александр Быков. В 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 плохо подойдет для больших проектов или приложений со сложной структурой. Однако если у вас небольшой парк веб-приложений и веб-серверов, то этот сервис справится со своей главной задачей.