Комментарии 96
От долбежки по HTTP до ICMP флуда. В общем, все возможные виды атак.
гм… мне это пока не актуально, но все равно спасибо. приятно видеть доброту.

ЗЫ пришло в голову: IT-тимуровцы :) защита слабых от DDoS, бесплатные баннеры для старушек, развертывание форумов для инвалидов.
Что самое интересное — если еще и хозяев ботнетов искать — то практически так и выходит)
Угу, а на стенках защищеных от ДДОС-атак серверов IT-муровцы рисуют краской вместо красной звезды пингвина, или логотип Убунту =)
И сводки с полей — Отряд IT-муровцев «Красный пингвин» заборол очередной ботнет «Черная кошка». Жертв нет.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Кто-бы Ларина уговорил здесь статью написать, как защищаться от 300-400 мбитного ddos-a. Хотя даже дюжины купленных им впс-ов, судя по всему, пока не очень хватает.
А не мог бы кто объяснить — какой смысл ДДосить этот сайт? Другие библиотеки конкуренты, правообладатели или что-то другое?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Описания и методы борьбы читал, разумеется, так что представление имею
Как показывает практика — почти все познается на практике. Будет конкретная проблема — думаю будет и поиск решений нормальных. ИМХО конечно
Если быть точнее, стопорится сама ОС, выделяя все больше и больше памяти под вновь создаваемые сокеты :)
Она врядли может сетевую карту «стопорить», так как ни сетевуха, ни ее драйвер внутрь пакета не лезут. Разве что могут чуть-чуть лезть в заголовок TCP чтобы checksum посчитать аппаратно, но не глубже.

Проблема с synflood'ом обычно от того, что ядро на каждый такой пакет открывает запись о соединении, которое будет очень долго висеть в памяти (так как соединение не завершится, даже не установится)

А самый «дефолтный» метод защиты — через syncookies пробовали?
Вы главное напишите потом, продолжение, если оно будет!
Нет, цили сделать стартап нету. Есть цель прокачать опыт. Ну а там видно будет.
Подскажу идейку: есть компании занимающиеся топиком профессионально. В сущности их сервис выглядит так: у вас есть ресурс www.resource.com? Вас DDoS'ят? Переведите домен на наши DNS и сообщите нам IP вашего фронтенда / ваших фронтендов. Когда-то такие ребята неплохо помогли, преобразовав ~700 мбит DDoS'а в ~30 мбит чистого траффика. Корпоративы неплохо платят за подобное развлечение. Возможно Вам будет интересно развивать бизнес в данном направлении.
прошел по ссылке, думаю, что там как раз такая кампания. Долго не мог понять, где я… Потом только дошло, что это был просто пример сайта.
Одна из таких компаний — Prolexic, и одна из дорогих. У них несколько датацентров по америке, в лондоне, амстердаме и партнерство с DC на филипинах.
Позавчера на хайлоаде, делали доклад вроде как профессионалы-исследователи DDOSов.
highload.ru/papers2009/12217.html

Основной поинт следующий — они приглашают себе на площадку страдающие от DDOSа ресурсы, ну а сами изучают ботнеты, часто перехватывают управление и даже выходят на погонщиков ботнетов (которые весьма часто оказываются ламерами, и рулят ботнетами бесстыдно с рабочих мест).

Так что если кто страдающий от ддоса сюда забредет, посмотрите по ссылке в презентации последний слайд — там контактная информация этой группы.
Всё бы хорошо, но есть одно но.

При атаке используется нескольк уровней нападения.
1. син флуд с фиктивных ip
2. пачка шустрых ботов с GET /
3. udp траффик к атакуемому к днс где атакуемый домен расположен.

Проблему фиксить можно на уровне софта, это тупое блокирование по кол-ву однообразных соединений GET /

Например:
IP 22.22.22.22 посетил GET / больше чем 20 раз за минуту = DROP
(в логи попадают только реальные IP адреса, с которых приходит реальный траффик)

Фиктивные сины дропать бесполезно.

Включить син_куку.

udp трафф режется в зависимости от кол-ва обращений к днс

Первое что надо сделать, прописать на домене второго уровня IP адрес локалхоста, а на www.domain.tld поставить быстрый и очень маленький веб-сервер напр минихттпд или нгинкс и главную страницу на www.домене сделать статикой GET domain.tld > index.html
Подключить скрипт который будет считать кол-во обращений к атакуемому домену второго уровня и дропать всех кто превысил заданный лимит.
Далее когда обращения к домену второго уровня сведутся на нет, надо заменить на днс дефолтный IP и сделать редирект на www.domain.tld всё на уровне html страницы чтобы отсекать ботов от пользователей. Я использовал редирект через js, но можно и обычный редирект при помощи meta http-equiv=«refresh» content=«3; url=http://www.domain.tld» Это даст возможность сохранить пользователям доступ а ботов отсечь, так как боты не знают про такие редиректы ни-че-го.

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

Если одного канала недостаточно для работоспособности веб ресурса, то надо использовать технологию round-robin, использовать несколько IP адресов находящихся в разных сетях у разных провайдеров. Тогда можно будет нормализовать общее кол-во траффика поступающее на атакуемый ресурс и при желании добавить ещё IP адресов к атакуемому домену.
При технологии round-robin используем на зеркалах редиректы как описано выше к серверу на котором ресурс www.domain.tld
www. обязателен, так как к домену второго уровня в основном вся атака сыпется. А пользователь должен будет редиректить на www где атаки нет.
Если атака изменяет свой алгоритм работы, к примеру припёрлась пачка ботов на www.domain.tld, делаем редирект на www2 и так далее. Главное что не надо ничего копировать с сервера на сервер, делать drbd устойчивый массив. Нам нужны только редиректы на тот сервер где сам ресурс расположен. А боты будут долбить всё подряд снижая тем самым свою эффективность.

P.P
Простите, ошибочку написал…
-Первое что надо сделать, прописать на домене второго уровня IP адрес локалхоста, а на www.domain.tld поставить быстрый и очень маленький веб-сервер напр минихттпд или нгинкс и главную страницу на www.домене сделать статикой GET domain.tld > index.html
+Первое что надо сделать, прописать на домене второго уровня IP адрес локалхоста, поставить быстрый и очень маленький веб-сервер напр минихттпд или нгинкс, главную страницу сделать статикой GET domain.tld > index.html
>боты не знают про такие редиректы ни-че-го.
уже давно знают
Опыт небольшой, но сабж интересен.
Предлагаю создать конференцию где желающие побороть ДДОС смогут совместно делать доброе дело.
1) постим сюда ссылку на свой сайт/бложек/етс
2) обещаем сиськи каждому пришедшему
3) получаем хабраэффект
4) жалуемся здесь же на упавший сайт
5) получаем помощь от выше отметившихся админов (админы получают экспиеренс)
6) ???????
7) ну, вы знаете
>Не атакуют, хоть убейся.
Ну так закажите себе ddos атаку, т.с. вызовите огонь на себя =) Мне спам с такими предложениями регулярно приходит в асю.
Точно, без русского ну никак админить нельзя, тем более от DDoS-a защищаться.
Хотел минусануть — промахнулся.
Интересно, топик плюсуют тоже безграмотные люди? Неужели приятно быть в списке людей, поддерживающих безграмотность?

PS: ошибку так и не исправили…
Вы про какую ошибку? Ни одной орфографической не нашел. С синтаксисом тоже все в порядке.
«Как говориться» в этом контексте пишется без Ь-знака.
Спасибо, поправил. Действительно, словарь Даля с вами согласен =)
Какбэ можно было отправить сей баг автору в личку, а не устраивать публичное самовыражение grammar nazy
Для практики могу организовать пару сотен мбит ddos'а (не ботнет) :)
Обращайтесь если надо.
В том то вся и соль, что атакуют в основном купленные ботнеты, а задача правильно отфильтровать трафик. А пару сотен мегабит ddos'a с одного IP очень быстро банятся.
Если атака выполняется одновременно с большого числа компьютеров, говорят о DDoS-атаке (от англ. Distributed Denial of Service, распределённая атака типа «отказ в обслуживании»).

Можно узнать как сделать пару сотен мегабит ddos'a с одного IP ???????
Я говорил образно про один IP. Весь смысл ddos именно в том, что в ней участвуют машины из разных сетей разных стран. И основная задача так отфильтровать трафик, чтобы при этом не порезать своих клиентов.
Получается чтобы сэмулировать ddos без ботнета, нужно обладать ботнетом :)
какой-нибудь synflood от множества разных IP легко можно сэмулировать через hping например:

--rand-source
This option enables the random source mode. hping will send
packets with random source address. It is interesting to use
this option to stress firewall state tables, and other per-ip
basis dynamic tables inside the TCP/IP stacks and firewall soft-
ware.

да и вообще можно сделать роутинг скажем сетки 10.0.0.0/8 на свою подсеть и с нее и генерировать DDoS трафик любого типа, хоть с одной машины, хоть с разных. И защищаться от него, делая вид, будто мы не знаем, что все 10.0.0.0/8 IP — ботнетовские :-). Ну или чтоб без мухлежа — пару IP среди них сделать «чистыми» и с них периодически ползать по сайту, чтобы убедиться что только трафик от ботов режется.
спуф рулит :)
а многие магистрали пропускают траффик, не числящийся среди их даунстримов :)
Можно будет попробовать. Вроде лимит трафика у меня большой)
Если атака выполняется одновременно с большого числа компьютеров, говорят о DDoS-атаке (от англ. Distributed Denial of Service, распределённая атака типа «отказ в обслуживании»).

Можно узнать как сделать пару сотен мегабит ddos'a с одного IP ???????
покупают выделенный сервер на порту 100мбит, начинают досить всё и вся. через какое-то время, суппорт хостинга замечает и вырубает сервер, деньги за сервер не возвращаются. всё очень просто :)
Ясно. Чукча не читатель чукча пейсатель! Каким образом выделенный сервер на порту 100 мегабит на 1 АЙПИ может атаковать одновременно с большого числа компьютеров что бы соотвествовать абривеатуре DDOS ????
каким образом — это вопрос организации ddos-сети. А вот что происходит — очень просто — забивается канал до сервера. Причем если самым узким местом является порт до сервера (в гигабитном маршрутизаторе порт 100мбит), то ничего другого до сервера не доходит. Если сервер нормальный и превышение системной нагрузки не вводит в ступор «сайт» или «скрипты», то ничего страшного не происходит — просто забит канал. А вот если одно обращение к скрипту дёргает базу или диск — то вполне вероятно убийство сервера от readonly-диска до крэша файловой системы или перегрева.

А если серверу есть куда расти по нагрузке — то увеличиваете канал до него (2-3 карты сверху по 100мбит, или сразу 1гбит), практически единственное решение, чтобы сервер продолжал предоставлять сервис.

Но в обычных дата-центрах вам не дадут реальный 100мбит порт, при наличии такой нагрузки — вас или выключат или вставят счёт за превышение трафика.
Дядя вы бредите! прочтите наконец то что я написал и не выдумывайте по ходу ответ на вопрос который меня не интеросовал, ваши трудности с чтением и пониманием прочитанного нужно исправлять в школе!
Еще раз вопрос как с 1 IP осуществить (по вашим словам проще простого) ДДОС сервера, если следовать определению что от англ. Distributed Denial of Service, распределённая атака типа «отказ в обслуживании»
ппц, учите матчасть!

DDoS — с 1 ip НИКАК! DoS — как 2 пальца.
Можно узнать как сделать пару сотен мегабит ddos'a с одного IP ???????

Вот вы за 3 поста и пришли к тому, что versus хотел сказать в самом начале этой ветки.
Я вот не могу понять, есть пионер, без опыта работы, с чисто теоретическими знаниями, готовый писать админам либрусека на полном серьезе, а то у них знаний наверное не хватает.
Интересно хоть кто-то пустил бы такого на свой сервак?
Представляю диалог:
-Так, давайте поменяем такой-то параметр
-поменял, !"№;%:
-что не получилось? тогда давайте поменяем вот такой, в книжке писали, что должно помочь
-сервак сдох ты ...."№;%%:??*№"
-обидно, а у меня было столько замечательных идей!
А кто сказал что без опыта работы?
Опыта нету только в защите от ддоса в боевых условиях.
Серверной оптимизацией, кстати, занимаюсь достаточно давно.
Насколько я понимаю, у либрусека сейчас банальное переполнение его 100-мбитного канала в 3-4 раза. Это пытаются исправить распределением приходящих запросов по куче проксирующих nginx-ов, поставленных на VPS-ки, но, судя по всему, это пока не очень удается.
У либрусека статика отдается на ура, nginx говорит 504. Вывод — канал есть, а вот бекенду крайне плохо.
Научите лучше, как бороться с поисковыми ботами, которых сейчас столько расплодилось, что сервер гнётся под их лишь гнётом! Какие и как забанить, какие оставить, но настроить на нежадность… Вот за это был бы очень благодарен :). К тому же подобных статей, похоже, пока нет. А явно пора — потому что не я один спрашиваю, судя по форумам.
Далеко не все боты «уважают» robots.txt. К тому же, например, я был бы благодарен за примеры реально работающих robots.txt, отсекающих боты «левых» поисковиков, не слишком актуальных для нашей страны. Ну и прочие полезные советы.
я был бы благодарен за примеры реально работающих robots.txt, отсекающих боты «левых» поисковиков

//Яндексу можно
User-agent: Yandex
Disallow: /

//Всему остальному низя
User-agent: *
Disallow:

А если в логах будет замечен какой-то поисковик, который это игнорирует — банить средствами вебсервера на уровне IP или Useragent'а.
Тьфу, все конечно же должно быть наоборот:

//Яндексу можно
User-agent: Yandex
Disallow:

//Всему остальному низя
User-agent: *
Disallow: /
Писать robots.txt я умею :). Я говорил об уже реально работающих robots.txt, заточенных под российские сайты, — здесь проблема не в написании robots.txt, а в классификации ботов. К тому же одних robots.txt недостаточно — как уже говорили, многие боты директивы из этого файла игнорируют.
Я наверное чего-то не понимаю, но… что мешает попрактиковаться в локальной сети?
Написать на форуме провайдера «поатакуйте меня немного»? =)
Эм)) Вообще-то я подразумевал локалку предприятия, где берется десяток компов и ДОСится какой-нить dev-сервачок класса Pentium 100. ;-)
Не интересно по причине того что некому создавать псевдополезный траффик — т.е. эмулировать реальных пользователей =)
А вот ссылки сохраню — полезные утилиты. Спасибо.
Но все равно в LAN масштаб не тот — интересно поиграться с многим кол-вом IP-шников/подсетей.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.