Настроить логирование через Application Load Balancer
Записывать логи можно с помощью двух сервисов: Yandex Cloud Logging и Yandex Audit Trails. Для Cloud Logging доступно два варианта сбора логов: через Smart Web Security и через L7-балансировщик Application Load Balancer, к которому подключен профиль безопасности.
Информация в этом разделе относится к сбору логов через Application Load Balancer. О логировании через Smart Web Security см. в разделе Настроить логирование через Smart Web Security.
Анализ логов Yandex Smart Web Security позволяет:
-
Тестировать работу правил безопасности, WAF и ARL в режиме Только логирование (dry run).
В этом режиме запросы пользователей не блокируются, но в логи записывается информация о срабатывании правил.
-
Посмотреть количество заблокированных и пропущенных запросов, оценить и скорректировать работу правил.
-
Посмотреть подробную информацию о запросе, выявить ложноположительные срабатывания.
-
Расследовать инциденты безопасности.
Особенности сервисов для сбора логов:
-
Cloud Logging — позволяет собирать базовые логи по трафику и сработавшим правилам профилей безопасности, WAF и ARL.
Логи Smart Web Security передаются через L7-балансировщик, к которому подключен профиль безопасности, и записываются в лог-группу.
-
Audit Trails — специализируется на записи событий безопасности и позволяет собирать более детальные аудитные логи по правилам WAF и ARL.
В Audit Trails события передаются не через L7-балансировщик, а напрямую от сервиса Smart Web Security. В Audit Trails есть два типа событий:
- Уровня конфигурации — действия, связанные с конфигурированием ресурсов Yandex Cloud. Например, создание или удаление профиля безопасности.
- Уровня сервисов — действия, которые происходят с ресурсами внутри сервисов Yandex Cloud. Например, срабатывание правила из профиля WAF.
Записывать события Audit Trails можно в бакет Object Storage, лог-группу Cloud Logging или поток данных Data Streams.
Чтобы начать работать с логами Smart Web Security:
Включить логирование
- В консоли управления
выберите каталог, в котором находится профиль Smart Web Security. - Выберите сервис Application Load Balancer.
- В списке выберите балансировщик, к которому привязан профиль безопасности.
- Нажмите
и выберите Редактировать. - В блоке Настройки логов:
- Включите опцию Запись логов.
- Выберите или создайте лог-группу Cloud Logging, в которую будут записываться логи балансировщика.
- Нажмите кнопку Добавить правило отбрасывания логов и настройте его параметры.
- Нажмите Сохранить.
Другие способы включения логов см. в разделе Настроить запись логов L7-балансировщика.
События Audit Trails можно записывать в бакет Object Storage, лог-группу Cloud Logging или поток данных Data Streams. В этой инструкции настроим запись событий в лог-группу.
-
В консоли управления
выберите каталог, в котором находится профиль Smart Web Security. -
Выберите сервис Audit Trails.
-
Нажмите кнопку Создать трейл.
-
Введите имя трейла, например
trail-sws. -
В блоке Назначение выберите объект назначения — Cloud Logging.
-
Выберите или создайте лог-группу Cloud Logging, в которую будут записываться события Smart Web Security.
-
В блоке Сбор событий с уровня сервисов включите сбор событий и выберите сервис Smart Web Security.
Для остальных настроек в этом блоке оставьте значения по умолчанию. Будут записываться все события Smart Web Security уровня сервисов в текущем каталоге. События уровня конфигурации записываться не будут.
-
В блоке Сервисный аккаунт создайте или выберите аккаунт с ролью
logging.writer. -
Нажмите Создать.
Другие способы включения записи событий см. в разделе Создание трейла для загрузки аудитных логов.
Просмотреть логи
-
В консоли управления
выберите каталог, в котором находится профиль Smart Web Security. -
Выберите сервис Application Load Balancer.
-
Выберите раздел Логи.
-
Выберите количество сообщений на одной странице и период: 1 час, 3 часа, 1 день, 1 неделя, 2 недели.
-
В строке Запрос укажите запрос на языке фильтрующих выражений и нажмите кнопку Выполнить.
Примеры запросов приведены ниже.
-
Чтобы посмотреть содержимое лога, разверните его.
Другие способы просмотра логов см. в разделах Посмотреть логи L7-балансировщика и Чтение записей.
Примеры готовых фильтров для логов
Логи поставляются в формате JSON. Одна запись в логах соответствует одному запросу клиента к L7-балансировщику.
Запросы для фильтрации логов составляются исходя из взаимосвязи профилей и правил Smart Web Security. Вы можете посмотреть логи активных, работающих правил или правил в режиме Только логирование (dry run).
Фильтры для активных правил
-
Показать запросы, заблокированные базовыми правилами с определенными условиями. Например, по списку или региону IP:
json_payload.smartwebsecurity.matched_rule.rule_type = RULE_CONDITION and json_payload.smartwebsecurity.matched_rule.verdict = DENY -
Показать запросы, для которых сработали правила Smart Protection с отправкой на капчу:
json_payload.smartwebsecurity.matched_rule.rule_type = SMART_PROTECTION and json_payload.smartwebsecurity.matched_rule.verdict = CAPTCHA -
Показать запросы, заблокированные по профилю WAF — правилами WAF из профиля безопасности:
json_payload.smartwebsecurity.matched_rule.rule_type = WAF and json_payload.smartwebsecurity.matched_rule.verdict = DENY -
Показать запросы, заблокированные правилами профиля ARL:
json_payload.smartwebsecurity.advanced_rate_limiter.verdict = DENY -
Показать запросы, для которых сработало конкретное правило ARL —
arl-rule-1:json_payload.smartwebsecurity.advanced_rate_limiter.verdict = DENY and json_payload.smartwebsecurity.advanced_rate_limiter.applied_quota_name = "arl-rule-1"
Таким же образом вы можете добавить в фильтры другие условия и изменять их с учетом особенностей вашего потока трафика.
Фильтры для правил в режиме логирования
-
Показать запросы, для которых сработали правила Smart Protection с отправкой на капчу:
json_payload.smartwebsecurity.dry_run_matched_rule.rule_type = SMART_PROTECTION and json_payload.smartwebsecurity.dry_run_matched_rule.verdict = CAPTCHA -
Посмотреть запросы, для которых сработали правила ARL (лимиты на запросы).
Для режима Только логирование не подойдет запрос с фильтрацией по вердикту
DENY, поскольку в этом режиме запросы не блокируются. Вердикт правил будетALLOWдаже после превышения лимита. Для отладки правил используйте параметрdry_run_exceeded_quota_names. Параметр показывает, какие правила ARL сработали на запросе. Если в этом параметре нет правил — лимиты не превышались.Пример фрагмента лога с параметром
dry_run_exceeded_quota_names:"smartwebsecurity": { "advanced_rate_limiter": { "applied_quota_name": "", "dry_run_exceeded_quota_names": [ "<rule_name_1>", "<rule_name_2>" ], "profile_id": "<profile_id>", "verdict": "ALLOW" },
В этом фрагменте лимиты превышены для правил <rule_name_1> и <rule_name_2> в профиле <profile_id>.
-
В консоли управления
выберите каталог, в котором находится профиль Smart Web Security. -
Выберите сервис Cloud Logging.
-
Выберите лог-группу, в которую передаются события Audit Trails.
-
Выберите количество сообщений на одной странице и период: 1 час, 3 часа, 1 день, 1 неделя, 2 недели.
-
В строке Запрос укажите запрос на языке фильтрующих выражений и нажмите кнопку Выполнить.
Логи Audit Trails записываются в формате JSON. Чтобы найти определенное событие, укажите его имя в формате:
yandex.cloud.audit.smartwebsecurity.<имя_события>Примеры составления запросов см. в разделе Примеры запросов для поиска событий в аудитных логах.
-
Чтобы посмотреть содержимое лога, разверните его.