LINUX.ORG.RU
ФорумAdmin

помогите советом с ddos атакой

 , , post запросы


0

2

Добрый вечер, по ситуации есть сайт xxxx.com у него на главной странице находится форма входа, которая передает данные методом POST на login.php

В общем в логах полно запросов

103.9.126.93 - - [17/Jul/2013:09:58:36 +0200] «POST http://www.xxxx.com HTTP/1.1» 400 166 "-" "-" "-"

171.7.120.18 - - [17/Jul/2013:09:58:36 +0200] «POST http://www.xxxx.com HTTP/1.1» 400 166 "-" "-" "-"

49.201.47.143 - - [17/Jul/2013:09:58:36 +0200] «POST http://www.xxxx.com HTTP/1.1» 400 166 "-" "-" "-"

49.49.46.227 - - [17/Jul/2013:09:58:36 +0200] «POST http://www.xxxx.com HTTP/1.1» 400 166 "-" "-" "-"

178.207.59.161 - - [17/Jul/2013:09:58:37 +0200] «POST xxxx.com HTTP/1.1» 400 166 "-" "-" "-"

1.9.162.11 - - [17/Jul/2013:09:58:37 +0200] «POST xxxx.comm HTTP/1.1» 400 166 "-" "-" "-"

178.207.73.207 - - [17/Jul/2013:09:58:37 +0200] «POST http://www.xxxx.com HTTP/1.1» 400 166 "-" "-" "-"

78.188.175.126 - - [17/Jul/2013:09:58:37 +0200] «POST http://www.xxxx.com HTTP/1.1» 400 166 "-" "-" "-"

121.54.46.163 - - [17/Jul/2013:09:58:37 +0200] «POST xxxx.com HTTP/1.1» 400 166 "-" "-" "-"

36.73.54.134 - - [17/Jul/2013:09:58:37 +0200] «POST http://www.xxxx.com HTTP/1.1» 400 166 "-" "-" "-"

114.79.50.32 - - [17/Jul/2013:09:58:37 +0200] «POST http://www.xxxx.com HTTP/1.1» 400 166 "-" "-" "-"

75.120.125.174 - - [17/Jul/2013:09:58:37 +0200] «POST http://www.xxxx.com HTTP/1.1» 400 166 "-" "-" "-"

как можно отфильтровать такие POST запросы нацеленные на домен именно ? А то создают большую нагрузку, и доходят до бекенда.

Пробовал натравить fail2ban на данные логи nginx, но что то ничего у меня не вышло видимо с регуляркой.

failregex = ^<HOST> - .* «POST http://www.xxxx.com HTTP.*» 403 [0-9]{1,} ".+" ".+«$

или как можно просто этим ботам отдавать 444 ошибку в nginx , чтобы эти запросы не доходили до backend Можете подсказать ?



Последнее исправление: avalon-group (всего исправлений: 3)

Ответ на: комментарий от avalon-group

а, не понял вопроса. ну тогда либо домучать fail2ban, либо написать свою парсилку лога с той же функциональностью. я в свое время предпочел второй вариант.

dmiceman ★★★★★
()

Да, добавлять адреса в таблицу блокировки ipset можно тупым

tail -F <logfile> | awk '/<регулярка>/{system("ipset add <ddos-table> "$1)}'

om-nom-nimouse ★★
()
Последнее исправление: om-nom-nimouse (всего исправлений: 3)
Ответ на: комментарий от avalon-group

Блин. Тогда сложнее, с nginx я такие веши не подскажу. Можно попробовать rewrite rule натроить, правда. Впрочем, про парсилку логов всё правильно в любом случае.

om-nom-nimouse ★★
()
Ответ на: комментарий от om-nom-nimouse

ну спасибо и на этом. P>S а может кто поможет правильную регулярку сделать для fail2ban у меня в упор не получается ;(

avalon-group
() автор топика
Ответ на: комментарий от om-nom-nimouse

неа

Results
=======

Failregex: 0 total

Ignoreregex: 0 total

Summary
=======

Sorry, no match
avalon-group
() автор топика

Защита от ддос это полностью творческий процесс.

Самое примитивное это фильтровать запросы по значению Referer, User-Agent. Многие писатели ботов не додумываются их указывать.

Если ддосят с одних и тех же ип, можно написать какой нибудь анализатор логов который будет банить по ип через iptables.

Если ддосят в несколько потоков с каждого ип, можно средствами iptables ограничить количество параллельных соединений.


...

TDrive ★★★★★
()

на главной странице находится форма входа

Я не понял, а самый очевидный ответ - поставить капчу на форму - не рассматривается даже что ли?

ostin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.