Jump to content
Калькуляторы

Ищу совет для отражения DDOS атаки

Привет всем,

 

Уже 3-й день сижу под DDOS атакой. HTTP flood, отягощённый SYN flood'ом.

~# netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'| sort |uniq |wc -l
300
~# sysctl -a | grep ip_conntrack_count
net.ipv4.netfilter.ip_conntrack_count = 171667

 

Имею LVDS с 2гб памяти, физически сервер находится в США, 50% посетителей -- из одной из стран Европы. Хостер пока помогает слабо.

 

Установил APF, активировал RAB, затюнил Апач

 

MaxKeepAliveRequests 0
KeepAliveTimeout 15
ServerLimit 128

 

 

Помогает слабо.

 

 

Share this post


Link to post
Share on other sites

1. поставть легковесный прокси (nginx (?) - я не знаю других)

2. Писать скрипт который будет смотреть логи, выявлять IP которые досят и банить файрволлом.

 

Выявлять досящих по особенностям запроса...

Share this post


Link to post
Share on other sites
1. поставть легковесный прокси (nginx (?) - я не знаю других)

2. Писать скрипт который будет смотреть логи, выявлять IP которые досят и банить файрволлом.

 

Выявлять досящих по особенностям запроса...

Вот думаю, что надо было тему постить в "Покупку и Продажу". Бо я готов заплатить за помощь. У самого уже упали руки. Ботнет большой и очень много новых адресов постоянно включаются. в работу. Недавно отфильтровал IP в логах апача, посмотрел на IP, которые атаковали в данный момент, и не нашёл ни одного.

 

Вот прокси -- это да, это вариант.

Share this post


Link to post
Share on other sites

Пока что я просто фильтрую все страны кроме одной с помощью mod_geoip в Апаче. Помогает с трудом, потому что для обслуживание такой толпы ботов мне нужно как минимум 500 апачей.

 

 

Share this post


Link to post
Share on other sites

Синкукис включили?

 

Но, по личному опыту - вы ничего не сделаете с тем, что у вас есть. Трафик надо очищать еще перед сервисами.

 

Адреса на хостинге РА? Я бы уже советовал ставить минимальный ттл на зону в днс и готовил переезд на хостинг, предоствавляющий очистку трафика. Если у провайдера есть AGM или что-то такого же класса - проситесь на протект.

Share this post


Link to post
Share on other sites

PS.

 

1. Возьмите старые логи апача до начала атаки, выберите из них адреса и сделайте по ним белый список, список попросите провайдера повесить на порт железки, к которой вы подключены ну или на роутере (фильтровать средствами фаервола сервера - быстро упретесь в потолок по коннектам), все остальные адреса - в блэкхол.

 

2. Соберите список подсетей, выделенных для APNIC и LACNIC, их тоже в блэкхол (у вас же немного азиатско-южноамериканских клиентов?)

 

3. Весь не TCP/80 трафик (или что там еще для сервисов) - тоже, в первую очередь запрещаем ICMP/UDP (если ДНС не там стоит).

Edited by chainick

Share this post


Link to post
Share on other sites
Синкукис включили?

 

Но, по личному опыту - вы ничего не сделаете с тем, что у вас есть. Трафик надо очищать еще перед сервисами.

 

Адреса на хостинге РА? Я бы уже советовал ставить минимальный ттл на зону в днс и готовил переезд на хостинг, предоствавляющий очистку трафика. Если у провайдера есть AGM или что-то такого же класса - проситесь на протект.

Синкукиз включил, это первым делом ;-)

 

Что такое PA -- не знаю, AGM -- тоже. Если вы -- чайник, то я наверно король чайников, однако.

 

Кто-нибудь может подсказать провайдера из Западной Европы, предоставляющего очистку трафика?

Share this post


Link to post
Share on other sites

РА - провайдерские адреса, т.е. у вас своей автономки нету, как я понял.

 

AGM - цисковский модуль для защиты от ддос, но производитель не важен, просто я лично сталкивался с аномали гардом.

 

 

Насчет провайдера, сорри, не знаю, мы защищаемся собственными силами.

Share this post


Link to post
Share on other sites

mikhailian

Дык сила в динамике!

раз в минуту аналайзиить лог и блочить файрволом тех кто ДДОСит - и пойдет война полос, если ваших 100 мбит (или сколько там?) хватит - отобъетесь.

 

Особенно если Вы по логам можете ТОЧНО отличить бота от посетителя.

Есть такие боты что хрен отличишь.

Share this post


Link to post
Share on other sites

Вы до войны полос войну ппс выиграйте. Теоретики...

Share this post


Link to post
Share on other sites
mikhailian

Дык сила в динамике!

раз в минуту аналайзиить лог и блочить файрволом тех кто ДДОСит - и пойдет война полос, если ваших 100 мбит (или сколько там?) хватит - отобъетесь.

 

Особенно если Вы по логам можете ТОЧНО отличить бота от посетителя.

Есть такие боты что хрен отличишь.

Этих по формальным признакам не отличить, единственное, что сейчас помогает -- это фильтровать через geoip. Т Но на уровне апача оно довольно дорого, так что я отфильтрованные IP из лога апача греплю и блокирую через iptables. Другое дело, что в iptables у меня уже пара тысяч строк, думаю, что больше не стоит, иначе буду лежать из-за iptables.

 

Сейчас попробую тряхнуть стариной и написать на C обработчик для libipq, чтобы можно было эффективно блокировать десятки тысяч.

 

ЗЫ: канала пока хватает.

Share this post


Link to post
Share on other sites

mikhailian - посмотрите на ipset. Или у вас нет возможности менять ядро?

Еще можно сделать на iproute2 (tc filter), там есть хеши

Share this post


Link to post
Share on other sites

Можно скачать с http://ipgeobase.ru/cgi-bin/Archive.cgi список российских сеток, добавить их в разрешение, а остальное лесом. Через пару дней все устаканится. Ну и наблюдать за российскими естественно. Опять же, если целевая аудитория сайтов из Новой Гвинеи, тогда метод неверен. Если для русских - я бы делал именно так.

Share this post


Link to post
Share on other sites

у знакомого держащего популярный проект (12к хостов в день) фильтрацией ддосов занимается отдельная виртуалка. на уровне ИП. дальше nginx

Share this post


Link to post
Share on other sites

Каналов вам пока хватает не потому, что их не могут прогрузить, а потому, что вы не успеваете отвечать на весь говнотрафик :)

 

Кстати, вариант блокировки вместо фаерволама роутами в null может немного разгрузить систему.

Share this post


Link to post
Share on other sites
mikhailian - посмотрите на ipset. Или у вас нет возможности менять ядро?

Еще можно сделать на iproute2 (tc filter), там есть хеши

Да, посмотрел я на ipset. Мощная тулза для любителей P2P. Требует JAVA и настраивается только через графический интерфейс. Во всяком случае, ipset наверно у меня бы работал от винта, без перекомпиляции ядра, но как-то очень странно при DDOS ставить яву и поднимать X сервер. Тем более что скриптовать ipset наверно нельзя.

 

 

 

 

 

Можно скачать с http://ipgeobase.ru/cgi-bin/Archive.cgi список российских сеток, добавить их в разрешение, а остальное лесом. Через пару дней все устаканится. Ну и наблюдать за российскими естественно. Опять же, если целевая аудитория сайтов из Новой Гвинеи, тогда метод неверен. Если для русских - я бы делал именно так.

В последнее время лезут либо российские адреса, либо те, которые на host не отзываются (заспуфленные)?

 

К счастью, российский трафик для меня не очень важен.

Edited by mikhailian

Share this post


Link to post
Share on other sites
mikhailian - посмотрите на ipset. Или у вас нет возможности менять ядро?

Еще можно сделать на iproute2 (tc filter), там есть хеши

Да, посмотрел я на ipset. Мощная тулза для любителей P2P. Требует JAVA и настраивается только через графический интерфейс. Во всяком случае, ipset наверно у меня бы работал от винта, без перекомпиляции ядра, но как-то очень странно при DDOS ставить яву и поднимать X сервер. Тем более что скриптовать ipset наверно нельзя.

Вру, перепутал с iplist. ipset не работает, ядро перекомпилировать не могу.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this