SmartCode Relay
Сценарии

Layer 7 DDoS protection: от экспортированного лога к runbook

03
Ситуация

Всплеск трафика на сайте небольшого магазина

Сайт вашего магазина вчера ночью тормозил. Почему? Объяснить это могла и рекламная кампания, и флуд седьмого уровня. У вас есть экспортированный журнал доступа и копия настроек сервера, а это руководство превращает их в сводку, черновик лимита запросов и runbook.

01

Откройте папку проекта

Положите экспортированный журнал доступа и копию настроек сервера в одну папку и откройте эту папку в SmartCode Relay.

02

Сведите запросы

Попросите агента запустить ваш скрипт сводки логов и сохранить запросы по адресам и по путям в файл CSV.

03

Набросайте лимит запросов

Пусть он отредактирует копию ваших настроек, прочитайте diff и запустите собственную тестовую команду на этой копии.

04

Напишите и проверьте

Сохраните ddos-runbook.txt, прочитайте его строка за строкой и с помощью Plan only перечислите, что осталось, прежде чем что-либо применять.

Пример: runbook реагирования на одну страницу

ddos-runbook.txt
# ddos-runbook.txt - small shop site
# Owner: site admin
trigger: slow pages and an odd log summary
step 1: check the provider status page
step 2: raise the provider protection level
step 3: review the log summary for top paths
step 4: apply a rate limit, then test it
step 5: keep the origin address private
step 6: record times, rules and who was called
rollback: remove the limit if real visitors are refused
review: update this file after each incident

Это обычный текст. Каждый шаг называет действие для вас или вашего провайдера, ни один не содержит команды атаки, а последние две строки говорят, как откатиться и когда пересматривать.

Ещё два сценария

Запишите пороги для собственного мониторинга DDoS

Пороги принадлежат системе мониторинга, которую вы уже ведёте, а агент лишь помогает выбрать числа. Сам он оповещения не настраивает. read_file открывает сводку лога за обычный загруженный день, grep ищет в ней важные пути, а write_file сохраняет короткий файл заметок со значениями для ввода. С DDoS-атакой на сайт справляться проще, если пороги записаны до той ночи, когда они понадобятся. Сначала используйте Plan only, чтобы прочитать план шагов, ведь этот режим ничего не запускает, затем переключитесь на Ask first, чтобы агент мог прочитать сводку, а write_file — сохранить заметки. Сверьте каждое число с вашей собственной аналитикой, введите его сами и внимательно понаблюдайте за первым оповещением.

Отличите один загруженный адрес от многих

Смягчение DDoS-трафика с распределённых IP-адресов не может строиться на блокировке одного адреса, поэтому сравните числа по адресам и по путям в вашей сводке. Много мелких отправителей складываются. Layer 7 DDoS protection опирается на лимиты по путям, потому что каждый запрос по отдельности выглядит нормально. Shell заново запускает ваш скрипт сводки логов, чтобы он группировал по пути, а grep ищет в новой сводке нужные вам пути. Когда DDoS-атаки кажутся неумолимыми и остановить их на сервере не удаётся, runbook подсказывает, когда звонить провайдеру. Просмотрите сводку в режиме Ask first и проверьте любой новый лимит на копии.

SmartCode Relay для Windows

Попробуйте на своём логе

Скачать SmartCode Relay ↗