The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Борьба с DDOS и DOS на уровне nginx (nginx dos ddos flood attack cache proxy web)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: nginx, dos, ddos, flood, attack, cache, proxy, web,  (найти похожие документы)
From: Леонид Шестера <http://wiz.su>; Date: Mon, 22 Feb 2008 14:31:37 +0000 (UTC) Subject: Борьба с DDOS и DOS на уровне nginx Оригинал: http://wiz.su/2007/10/28/borba-s-ddos-i-dos-na-urovne-nginx/ FreeBSD, сетевая Intel fxp, порт 100Мбит, polling, http accept-filter в sysctl sysctl kern.maxfiles=90000 sysctl kern.maxfilesperproc=80000 sysctl net.inet.tcp.blackhole=2 sysctl net.inet.udp.blackhole=1 sysctl kern.polling.burst_max=1000 sysctl kern.polling.each_burst=50 sysctl kern.ipc.somaxconn=32768 sysctl net.inet.tcp.msl=3000 sysctl net.inet.tcp.maxtcptw=40960 sysctl net.inet.tcp.nolocaltimewait=1 sysctl net.inet.ip.portrange.first=1024 sysctl net.inet.ip.portrange.last=65535 sysctl net.inet.ip.portrange.randomized=0 в nginx моменты worker_processes 1; worker_rlimit_nofile 80000; events { worker_connections 50000; } server_tokens off; log_format IP `$remote_addr'; reset_timedout_connection on; listen xx.xx.xx.xx:80 default rcvbuf=8192 sndbuf=16384 backlog=32000 accept_filter=httpready; фильтрацию url например по критерию POST index.php?action=login с пустым реферером можно реализовать так set $add 1; location /index.php { limit_except GET POST { deny all; } set $ban ""; if ($http_referer = "" ) {set $ban $ban$add;} if ($request_method = POST ) {set $ban $ban$add;} if ($query_string = "action=login" ){set $ban $ban$add;} if ($ban = 111 ) { access_log /var/log/[133]nginx/ban IP; return 404; } proxy_pass http://127.0.0.1:8000; #тут живёт апач } Дальше резали на уровне pf - загружали в таблицу IP с которых приходило слишком много хитов. PF с таблицами работает очень быстро. Исходники парсера логов (ddetect) есть на http://www.comsys.com.ua/files ну и по крону уже раз в минуту добавлять в ip table новые ip из лога 25Мбитный DDoS, преимущесвенно режущийся ip, остатки проходят на nginx, который по критерию обучает ip и остатки проксирует на апач - LA 0, сайт работает.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру