Мониторинг и корректировка защиты ML WAF
В разделе описано, как отслеживать работу ML WAF (Yandex Malicious Score) после обновления модели и корректировать настройки защиты. Модель регулярно дообучается, поэтому значение score для одного и того же запроса может измениться. Если score достигнет или превысит заданный порог аномальности, вердикт по запросу может измениться. Ревизия модели не отображается в логах, но изменения score и вердиктов позволяют заметить изменение ее поведения. При пороге 90 гарантируется стабильность вердиктов. Начните с этого значения, отслеживайте срабатывания и при необходимости корректируйте настройки.
Чтобы ваша инфраструктура всегда была под защитой:
- Включите расширенное логирование.
- Зафиксируйте базовые показатели защиты.
- Локализуйте область изменения.
- Скорректируйте минимально возможную область защиты.
- Проверьте эффект по показателям безопасности и доступности.
- Когда обращаться в поддержку.
Включите расширенное логирование
Настройте логирование через Smart Web Security и включите запись:
- Запросов с вердиктами
DENYиCAPTCHA. - Доли запросов с действием
ALLOW. Для разрешенного трафика доступна выборка от1до100процентов. Чем выше доля, тем больше информации, но и больше объем логов.
Для анализа срабатываний ML WAF используйте поля логов:
actionиdry_run_matched_rule_verdict— итоговый и тестовый вердикт по запросу;waf_applied_rule_set_id— набор правил, который принял решение;waf_matched_rulesиdry_run_waf_matched_rules— сработавшие правила WAF, включая тестовый режим;rule_id,rule_set_id,rule_group_id— идентификаторы правила, набора и группы правил;score— значение аномальности, полученное при проверке запроса;matched_data_variable,matched_data_key,matched_data_value— часть запроса, в которой обнаружена аномалия;waf_matched_exclusion_rules— сработавшие правила-исключения.
Зафиксируйте базовые показатели защиты
Перед тем как менять настройки ML WAF, зафиксируйте отдельно по каждой группе атак:
- количество и долю запросов с вердиктами
ALLOW,DENYиCAPTCHA; - распределение значений
score; - топ маршрутов, параметров запроса и частей запроса, на которых срабатывают правила;
- долю ответов
4xxи5xx, доступность сервиса и бизнес-метрики критичных сценариев; - текущую конфигурацию профиля WAF, включая идентификатор и версию набора правил.
Базовые показатели помогают отличить эффект от обновления модели от сезонных колебаний трафика, изменения его состава или собственных изменений конфигурации.
Локализуйте область изменения
При выявлении ложного срабатывания:
- Подтвердите по логам приложения, что запрос легитимен.
- Определите конкретную группу атак в ML WAF, правило, маршрут и часть запроса, на которой сработало правило.
- Временно повысьте порог аномальности проблемной группы или верните правило в режим Только логирование.
- После подтверждения создайте правило-исключение.
- Включите логирование исключения и проверьте по логам, что оно применяется только к ожидаемому трафику.
Важно
Не отключайте весь профиль WAF и не исключайте запрос целиком, если ложное срабатывание можно локализовать до одного правила, маршрута или поля запроса. Широкое исключение создает неконтролируемый обход защиты.
Сужайте правило-исключение одновременно по нескольким признакам:
- конкретное правило WAF;
- маршрут, хост или HTTP-метод;
- конкретная часть запроса — тело HTTP-запроса, Cookie, HTTP-заголовок или параметры строки запроса;
- конкретный параметр или заголовок, если он известен.
Скорректируйте минимально возможную область защиты
Начинайте с рекомендуемого порога аномальности 90 и включайте группы атак по одной.
Не совмещайте в одном изменении:
- включение новой группы атак;
- снижение порога аномальности;
- расширение области действия профиля.
При снижении порога аномальности учитывайте риск ложных срабатываний: чем ниже порог, тем выше чувствительность защиты.
Проверьте эффект по показателям безопасности и доступности
После каждого изменения контролируйте показатели безопасности и доступности.
Показатели безопасности:
- количество и структура срабатываний ML WAF;
- распределение значений
score; - подозрительный трафик и инциденты;
- изменение покрытия по группам атак.
Показатели доступности и бизнеса:
- доля ответов
4xxи5xx; - ошибки авторизации и платежей;
- успешность выполнения запросов API и интеграций;
- обращения пользователей в поддержку;
- конверсия критичных пользовательских сценариев.
Снижение доли заблокированных запросов не всегда означает улучшение защиты. Оно может быть связано как с устранением ложных срабатываний, так и с пропуском атак.
Когда обращаться в поддержку
Обратитесь в службу поддержки
- Массовое изменение вердиктов началось без изменений конфигурации с вашей стороны.
- Проблема одновременно проявилась на несвязанных между собой маршрутах.
- Срабатывания нельзя локализовать до одного правила или одного поля запроса.
- Безопасная компенсация требует широкого исключения или отключения ML WAF.
- Изменилась бизнес-метрика, но логов недостаточно, чтобы связать ее с конкретным правилом или запросом.
- Изменение по времени совпало с обновлением модели ML WAF или набора правил.
К обращению приложите:
- время начала изменения и часовой пояс;
- идентификаторы
security_profile_idиwaf_profile_id; - идентификатор и версию набора правил (
ruleSet.id,ruleSet.version); - проблемные
rule_idиrule_group_id; - несколько значений
alb_request_idилиunique_keyиз логов; - агрегированное сравнение показателей до и после изменения;
- описание уже предпринятых действий.