SmartCode Relay
Робочі процеси

Layer 7 DDoS: від експортованого логу до ранбука

03
Сценарій

Сплеск трафіку на невеликому сайті магазину

Ваш сайт-магазин уночі сповільнився. Чому? Пояснити це можуть і рекламна кампанія, і флуд прикладного рівня. У вас є експортований лог доступу та копія налаштувань сервера, а цей посібник перетворює їх на підсумок, чернетку обмеження частоти запитів і ранбук.

01

Відкрийте теку проєкту

Покладіть експортований лог доступу й копію налаштувань сервера в одну теку, а потім відкрийте її в SmartCode Relay.

02

Підсумуйте запити

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

03

Складіть обмеження частоти

Нехай він відредагує копію налаштувань, прочитайте diff і запустіть власну команду перевірки на цій копії.

04

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

Збережіть ddos-runbook.txt, прочитайте його рядок за рядком і скористайтеся Plan only, щоб скласти перелік того, що лишилось, перш ніж щось застосовувати.

Приклад: ранбук реагування на одну сторінку

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-адрес не може спиратися на блокуванні однієї адреси, тож порівняйте підрахунки за адресами та за шляхами у вашому підсумку. Багато дрібних відправників складаються в потік. Захист від DDoS на рівні layer 7 спирається на ліміти за шляхами, бо кожен окремий запит виглядає звичайно. Shell знову запускає ваш скрипт для підсумку логу, цього разу групуючи за шляхом, а grep шукає в новому підсумку потрібні шляхи. Коли DDoS-атаки не вщухають і на сервері їх не спинити, ранбук підкаже, коли телефонувати провайдеру. Переглядайте підсумок у режимі Ask first і перевіряйте кожен новий ліміт на копії.

SmartCode Relay для Windows

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

Завантажити SmartCode Relay ↗