LINUX.ORG.RU
решено ФорумAdmin

DDoSят


0

2

Уже 3и сутки буйствует ддос, у меня серв, на нем все на вирт машинах, так вот ддосят машину с вебом, атаку я отбиваю, но основная машина принимает весь поток мусора, и как следствие страдать начинают остальные вирт машины.
Может настройки какие сетевые подогнать на основной или еще что посоветуете ?
По трафу - атака незаметна, просто тупые запросы 1й и той же страницы ххххраз с каждого ип, причем
iptables -I INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 25 --connlimit-mask 32 -j DROP
не помогает почему-то(но это на вебе, как основную машину защитить я не догадываюсь).

Ответ на: комментарий от spunky

соединения устанавливаются без проблем, ощущение что они коннлимит игнорируют вообще
netstat -npt|grep :80| grep 77.45.239.61|grep CLOSING|wc -l
668
netstat -npt|grep :80| grep 77.45.239.61|wc -l
683
как пример, да я не умею закрывать такое, и только сейчас додумался посмотреть статус соединений

zlofenix
() автор топика
Ответ на: комментарий от spunky

тоже есть, тоже не помогает
-A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 25 --connlimit-mask 32 -j DROP

zlofenix
() автор топика
Ответ на: комментарий от zlofenix

в общем-то выглядит правильно, но на самом деле зачем тебе проверять остальные флаги? Оставь только SYN.

У меня есть больной способ разбора проблемы, и я ко всем к ним пристаю: попробуй деспицифицировать правило, пусть коннлимит будет не на www-порт, а просто на количество соединений с определённого адреса? Да и протокол не особо важен, ИМХО.

И другая идея - может твоё правило отрабатывает корректно, а большое количество соединений держится за счёт неубитых старых?

spunky ★★
()
Ответ на: комментарий от spunky

фокус: --syn при записи в фаер = --tcp-flags FIN,SYN,RST,ACK SYN при iptables -S
порт и протокол - по сути да, но и ни на что не влияют, хотя у меня еще торрент-анноунсер, поэтому лучше таки по порту, а то перебанит лишнее
я вижу атаку как:
ип создает кучу подключений и запрашивает страницу, на ответ ему пофигу, после получения(а может и во время или до) именно страницы - дропает свой коннект, поэтому все висят в CLOSING
фаер не считает уже закрывающиеся и поэтому не набирает на правило
количество атакующих ип решительно > 1

zlofenix
() автор топика
Ответ на: комментарий от zlofenix

сейчас хочу попробовать извращение:
-A FORWARD -m conntrack --ctstate NEW -m recent --update --seconds 10 --hitcount 10 -m string --string «GET / HTTP» -j DROP
взлетит ?

zlofenix
() автор топика
Ответ на: комментарий от zlofenix

ну еще туда же ип и порт назначения, забыл

zlofenix
() автор топика
Ответ на: комментарий от spunky

в итоге получилось
iptables -A FORWARD -p tcp --dport 80 -d ххх -m conntrack --ctstate NEW -m recent --update --seconds 10 --hitcount 10 -m string --algo kmp --icase --string «GET / HTTP» -j DROP

1861 packets captured
11362 packets received by filter
9492 packets dropped by kernel

вроде стало получше, но все же на вебе:
netstat -npt|grep :80|wc -l
4161
может еще не поотваливались просто, а может и не взлетело

Запомните дети: караван плохая компания, им пофиг на ваши ддосопроблемы(ну или могут предложить «защиту» за 20 в месяц)

zlofenix
() автор топика
Ответ на: комментарий от zlofenix

Итоговое извращение
rmmod xt_recent
modprobe ipt_recent ip_list_tot=5000 ip_pkt_list_tot=100
iptables -N ddos
iptables -A ddos -m recent --name ddos --update --seconds 10 --hitcount 10 -j DROP
iptables -A ddos -m recent --name ddos --set -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -d хххх -m string --algo kmp --icase --string «GET / HTTP» -j ddos

и всеже непонятно работает или нет, но таблица начала наполнятся аресами

Еще вопрос: как сделать чтоб если ип попадает под правила выше и блокируется, он блокировался на очень долго, а лучше писался в отдельную таблицу с дропом ?

zlofenix
() автор топика
Ответ на: комментарий от zlofenix

может, всё-таки на fail2ban посмотреть как-нить? думаю, можно его заточить, чтобы банил через чур активных..

aol ★★★★★
()
Ответ на: комментарий от aol

не то, он на логах живет, на логах у меня и так есть, НО на виртуалке где живет веб серв, а позиции сдает хостмашина

zlofenix
() автор топика
Ответ на: комментарий от zlofenix

ну можно же прикостылить! (с) :-D
на хостовую машину fail2ban, чтобы тот мониторил спец лог, а гость в этот спецлог будет писать. что писать в этот лог - придумать не сложно ;)

aol ★★★★★
()
Ответ на: комментарий от zlofenix

согласен. я и сказал «прикостылить» а не «готовое решение». а что за виртуалка? а то, например, вмваря умеет прокидывать каталоги с хоста на гостя.

aol ★★★★★
()

-=:=-

Были подобные проблемы, но без вирта.
Сайт кривой был и Злыдни нашли вариант проДдосить тачку через Mysql - банально счекая страницу, которая генерилась через? да..мускль.
Тама стоял лайт.
Я сделал так - парсил логи и смотрел что имеено ддосят. Тааак. index_ololo_blablabla.php.
Агааа!
Обнуление лога access.log. #LABEL OLOLO
Sleep 5min.
Парсинг лога на тему этой странички и IP клиента И подсчет запросов с этого IP.
iptables -A INPUT -s ip -j DROP
Goto «OLOLO»
Набралось 2к ботов. Ддосер стал засасывать Вакуум.
*Profit*!

KosmiK ★★
()
Ответ на: -=:=- от KosmiK

Так и сделал на вебе, перед этим заблокировав 82 страны, с них один фиг никого не могло заходить в реальности.
Но с корневой проблемы-проблемы а очень извращений не хочется.

zlofenix
() автор топика

http://habrahabr.ru/blogs/sysadm/124492/#comment_4094950

Соль-перец по вкусу. Только не надо сильно гайки загручивать, и время от времени надо посматривать, что в таблицах, чтобы белй скписок подправить. Иначе убьете турбооперы и жадных операторов с натом на 1 IP.

Учтите, что у xt-recent дефолтный буфер не очень большой, поэтому модуль надо перегрузить с другими парметрами (по ссылке есть).

Vit ★★★★★
()
Ответ на: комментарий от Vit

Если попадутся продвинутые школьники, которые через keep-alive будут пытаться запросами CPU перегружать - тогда в nginx лимиты на зоны и уже по логам ошибок фильтровать.

Кстати, может кто придумает, как эффективно http-запросы, которые внутри одного соединения, подсчитывать? На уровне фаервола.

Vit ★★★★★
()
Ответ на: комментарий от Vit

Всем добра, помогла моя магия, которая написана выше.
Ну и конечно то, что я заказал впс(2 часа назад и до сих пор не сделали) чтоб через нее фильтровать трафф

zlofenix
() автор топика
Ответ на: комментарий от Vit

Неверно, у меня все сводится к проверке страницы, а уж потом раздаче банов. Даже поисковик не будет долбить 1 страницу 10 раз.

zlofenix
() автор топика
Ответ на: комментарий от zlofenix

А, не углядел. Просто обычно с корня на что-то другое переключаются. Я более универсальные фильтры давал.

Vit ★★★★★
()
Ответ на: комментарий от Vit

За 3 дня сменили 3 ссылки атаки - все 3 забил, утро покажет.
А так - да, не очень хорошо, понимаю, без скриптов-костылей или своего модуля нормально не сделать

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