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;

Поиск

Метки

archlinux awk bash binlog cache console css debian docker ffmpeg filemanager hash healthcheck ipcam java jquery jscript loginza mail md5 mysql mysqldump netbeans nginx php PHP-функция на JScript python qemu quote redirect replication RSS session sniffer socat systemd tinymce unix-socket usb vim windows 7 youtube авторизация продвижение социальные сети

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

© 2023 Root Only