mikhailian Posted January 17, 2009 Posted January 17, 2009 Привет всем, Уже 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 Помогает слабо. Вставить ник Quote
sirmax Posted January 17, 2009 Posted January 17, 2009 1. поставть легковесный прокси (nginx (?) - я не знаю других) 2. Писать скрипт который будет смотреть логи, выявлять IP которые досят и банить файрволлом. Выявлять досящих по особенностям запроса... Вставить ник Quote
mikhailian Posted January 17, 2009 Author Posted January 17, 2009 1. поставть легковесный прокси (nginx (?) - я не знаю других)2. Писать скрипт который будет смотреть логи, выявлять IP которые досят и банить файрволлом. Выявлять досящих по особенностям запроса... Вот думаю, что надо было тему постить в "Покупку и Продажу". Бо я готов заплатить за помощь. У самого уже упали руки. Ботнет большой и очень много новых адресов постоянно включаются. в работу. Недавно отфильтровал IP в логах апача, посмотрел на IP, которые атаковали в данный момент, и не нашёл ни одного. Вот прокси -- это да, это вариант. Вставить ник Quote
mikhailian Posted January 17, 2009 Author Posted January 17, 2009 Пока что я просто фильтрую все страны кроме одной с помощью mod_geoip в Апаче. Помогает с трудом, потому что для обслуживание такой толпы ботов мне нужно как минимум 500 апачей. Вставить ник Quote
chainick Posted January 17, 2009 Posted January 17, 2009 Синкукис включили? Но, по личному опыту - вы ничего не сделаете с тем, что у вас есть. Трафик надо очищать еще перед сервисами. Адреса на хостинге РА? Я бы уже советовал ставить минимальный ттл на зону в днс и готовил переезд на хостинг, предоствавляющий очистку трафика. Если у провайдера есть AGM или что-то такого же класса - проситесь на протект. Вставить ник Quote
chainick Posted January 17, 2009 Posted January 17, 2009 (edited) PS. 1. Возьмите старые логи апача до начала атаки, выберите из них адреса и сделайте по ним белый список, список попросите провайдера повесить на порт железки, к которой вы подключены ну или на роутере (фильтровать средствами фаервола сервера - быстро упретесь в потолок по коннектам), все остальные адреса - в блэкхол. 2. Соберите список подсетей, выделенных для APNIC и LACNIC, их тоже в блэкхол (у вас же немного азиатско-южноамериканских клиентов?) 3. Весь не TCP/80 трафик (или что там еще для сервисов) - тоже, в первую очередь запрещаем ICMP/UDP (если ДНС не там стоит). Edited January 17, 2009 by chainick Вставить ник Quote
mikhailian Posted January 17, 2009 Author Posted January 17, 2009 Синкукис включили? Но, по личному опыту - вы ничего не сделаете с тем, что у вас есть. Трафик надо очищать еще перед сервисами. Адреса на хостинге РА? Я бы уже советовал ставить минимальный ттл на зону в днс и готовил переезд на хостинг, предоствавляющий очистку трафика. Если у провайдера есть AGM или что-то такого же класса - проситесь на протект. Синкукиз включил, это первым делом ;-) Что такое PA -- не знаю, AGM -- тоже. Если вы -- чайник, то я наверно король чайников, однако. Кто-нибудь может подсказать провайдера из Западной Европы, предоставляющего очистку трафика? Вставить ник Quote
chainick Posted January 17, 2009 Posted January 17, 2009 РА - провайдерские адреса, т.е. у вас своей автономки нету, как я понял. AGM - цисковский модуль для защиты от ддос, но производитель не важен, просто я лично сталкивался с аномали гардом. Насчет провайдера, сорри, не знаю, мы защищаемся собственными силами. Вставить ник Quote
sirmax Posted January 17, 2009 Posted January 17, 2009 mikhailian Дык сила в динамике! раз в минуту аналайзиить лог и блочить файрволом тех кто ДДОСит - и пойдет война полос, если ваших 100 мбит (или сколько там?) хватит - отобъетесь. Особенно если Вы по логам можете ТОЧНО отличить бота от посетителя. Есть такие боты что хрен отличишь. Вставить ник Quote
chainick Posted January 17, 2009 Posted January 17, 2009 Вы до войны полос войну ппс выиграйте. Теоретики... Вставить ник Quote
mikhailian Posted January 17, 2009 Author Posted January 17, 2009 mikhailianДык сила в динамике! раз в минуту аналайзиить лог и блочить файрволом тех кто ДДОСит - и пойдет война полос, если ваших 100 мбит (или сколько там?) хватит - отобъетесь. Особенно если Вы по логам можете ТОЧНО отличить бота от посетителя. Есть такие боты что хрен отличишь. Этих по формальным признакам не отличить, единственное, что сейчас помогает -- это фильтровать через geoip. Т Но на уровне апача оно довольно дорого, так что я отфильтрованные IP из лога апача греплю и блокирую через iptables. Другое дело, что в iptables у меня уже пара тысяч строк, думаю, что больше не стоит, иначе буду лежать из-за iptables. Сейчас попробую тряхнуть стариной и написать на C обработчик для libipq, чтобы можно было эффективно блокировать десятки тысяч. ЗЫ: канала пока хватает. Вставить ник Quote
nuclearcat Posted January 18, 2009 Posted January 18, 2009 mikhailian - посмотрите на ipset. Или у вас нет возможности менять ядро? Еще можно сделать на iproute2 (tc filter), там есть хеши Вставить ник Quote
firefly Posted January 18, 2009 Posted January 18, 2009 Можно скачать с http://ipgeobase.ru/cgi-bin/Archive.cgi список российских сеток, добавить их в разрешение, а остальное лесом. Через пару дней все устаканится. Ну и наблюдать за российскими естественно. Опять же, если целевая аудитория сайтов из Новой Гвинеи, тогда метод неверен. Если для русских - я бы делал именно так. Вставить ник Quote
woddy Posted January 18, 2009 Posted January 18, 2009 у знакомого держащего популярный проект (12к хостов в день) фильтрацией ддосов занимается отдельная виртуалка. на уровне ИП. дальше nginx Вставить ник Quote
chainick Posted January 18, 2009 Posted January 18, 2009 Каналов вам пока хватает не потому, что их не могут прогрузить, а потому, что вы не успеваете отвечать на весь говнотрафик :) Кстати, вариант блокировки вместо фаерволама роутами в null может немного разгрузить систему. Вставить ник Quote
mikhailian Posted January 18, 2009 Author Posted January 18, 2009 (edited) mikhailian - посмотрите на ipset. Или у вас нет возможности менять ядро?Еще можно сделать на iproute2 (tc filter), там есть хеши Да, посмотрел я на ipset. Мощная тулза для любителей P2P. Требует JAVA и настраивается только через графический интерфейс. Во всяком случае, ipset наверно у меня бы работал от винта, без перекомпиляции ядра, но как-то очень странно при DDOS ставить яву и поднимать X сервер. Тем более что скриптовать ipset наверно нельзя. Можно скачать с http://ipgeobase.ru/cgi-bin/Archive.cgi список российских сеток, добавить их в разрешение, а остальное лесом. Через пару дней все устаканится. Ну и наблюдать за российскими естественно. Опять же, если целевая аудитория сайтов из Новой Гвинеи, тогда метод неверен. Если для русских - я бы делал именно так. В последнее время лезут либо российские адреса, либо те, которые на host не отзываются (заспуфленные)? К счастью, российский трафик для меня не очень важен. Edited January 18, 2009 by mikhailian Вставить ник Quote
nuclearcat Posted January 18, 2009 Posted January 18, 2009 Ява? Иксы??? Я говорю про http://ipset.netfilter.org/ Вставить ник Quote
mikhailian Posted January 18, 2009 Author Posted January 18, 2009 mikhailian - посмотрите на ipset. Или у вас нет возможности менять ядро?Еще можно сделать на iproute2 (tc filter), там есть хеши Да, посмотрел я на ipset. Мощная тулза для любителей P2P. Требует JAVA и настраивается только через графический интерфейс. Во всяком случае, ipset наверно у меня бы работал от винта, без перекомпиляции ядра, но как-то очень странно при DDOS ставить яву и поднимать X сервер. Тем более что скриптовать ipset наверно нельзя. Вру, перепутал с iplist. ipset не работает, ядро перекомпилировать не могу. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.