Всем привет, такая проблема, есть нормальный VPS (8ГБ памяти), установлен nginx + лимиты +geoip , iptables + hashlimit + connlimit + limit, настроенные sysctl и mysl, но сайт отдает ошибку 504 nginx. Лимиты у Nginx не могу ставить меньше, так как сайт - это форум вместе со скриптами и ajax. Вырезка из логов во время ддоса: Code: 190.37.**.** - - [06/Feb/2014:00:00:34 +0400] "GET //?True HTTP/1.0" 403 162 "-" "Mozilla/5.0 (Windows NT 6.2; rv:24.0) Gecko/20100101 Firefox/24.0" "-" 190.72.**.** - - [06/Feb/2014:00:00:34 +0400] "GET //?True HTTP/1.0" 403 162 "-" "Mozilla/5.0 (Windows NT 6.2; rv:24.0) Gecko/20100101 Firefox/24.0" "-" 201.209.**.** - - [06/Feb/2014:00:00:34 +0400] "GET //?True HTTP/1.0" 403 162 "-" "Mozilla/5.0 (Windows NT 6.2; rv:24.0) Gecko/20100101 Firefox/24.0" "-" 190.37.**.** - - [06/Feb/2014:00:00:34 +0400] "GET //?True HTTP/1.0" 403 162 "-" "Mozilla/5.0 (Windows NT 6.2; rv:24.0) Gecko/20100101 Firefox/24.0" "-" 200.90.**.** - - [06/Feb/2014:00:00:34 +0400] "GET //?True HTTP/1.0" 403 162 "-" "Mozilla/5.0 (Windows NT 6.2; rv:24.0) Gecko/20100101 Firefox/24.0" "-" Слышал, что можно все это отрезать через iptables. Как именно? Прошу помочь, пожалуйста.
Можно сразу резать запросы с подобными строками через модуль string, можно установить на них и лимит, но лучше первый вариант. Code: -A INPUT -p tcp --dport 80 -m conntrack --ctstate ESTABLISHED -m string --string "GET //?True" --algo kmp --to 400 -j DROP