Root Only

подайте на пропитание, бывшему админу бывшего локалхоста

Menu
  • Администрирование
  • Программирование
  • Монетизация
  • Продвижение
  • Хлам
Menu

Защита от школьного DDoS

Сегодня представляю вниманию заготовку в виде конфигурации nginx, с помощью которой вы без труда сможете отбить распределенную аттаку седьмого уровня (L7) и такого-же класса средней школы.

Итак, все складываем в глобально подгружаемые конфиги, в дебиан это /etc/nginx/conf.d

задаем белый список, он же список исключений

geo $whitelist {
default 0;
127.0.0.1 1; # localhost
10.10.10.0/24 1; # office, internal network
}
map $whitelist $limit {
0 $binary_remote_addr;
1 "";
}

и активируем защиту

limit_req_zone $limit zone=main:16m rate=240r/m;
limit_req_log_level info;
limit_req zone=main burst=2400;
limit_req_status 444;
#limit_req_dry_run on;

В приведённом выше примере мы отбрасываем запросы с одного ip-адреса частотой более 240 запросов в минуту, с всплеском 2400.

Внимание, директива в последней стоке закомментирована, т.к. появилась в сравнительно новой версии nginx (1.17.6)

Если по каким-то причинам блокировка на основе ip-адреса не подходит, например, на сайт льётся мобильный траффик с ограниченного пула ip-адресов сотового оператора, то можно подмешать в словарь зоны порт клиента, http-метод и нормализованный uri, обьявление зоны в этом случае будет выглядеть так

limit_req_zone $binary_remote_addr:$remote_port:$request_method:$uri zone=main:32m rate=240r/m;

Поиск

Метки

adb antiddos bash bubble cache console ddos debian docker eclipse elasticsearch elk ffmpeg fs gentoo glusterfs grafana healthcheck hicam ipcam jquery jscript mail mysql mysqldump nginx nodejs php putty python redirect replication RSS serial socat ssh ssh-agent sysfs systemd tinymce uart usb vim vnc windows

Безопасность

© 2025 Root Only