Как стать автором
Обновить

Комментарии 42

Это конечно хорошо.... Но нельзяли несколько подробнее? Что, как, куда, откуда... А то общая картина нарисовалась, но ясности не прибавилось...
Так для защиты нужна общая картина, а более углубленно нужно делать под каждую конкретную атаку, так как они почти все разные.
НЛО прилетело и опубликовало эту надпись здесь
а можно чтото типа рекомендация для Linux debian
просто что нужно затюнить в TCP стеке?
В общем и целом затюнить TCP мало поможет, в данном случае nginx решает проблему умного ddosa когда грузят скрипты и базы с ними.
Но вот от загаживания канала нужно разбираться на уровне железных решений :/
на 25mbps ddos можно не обращать внимания, если у хостера не 100мб на всех =)
это только если там просто засирание канала. Если атака поумнее, то может лечь база, например.
дык статья как раз про это и написана, как сервак уберечь.
дык чего вы тогда предлагаете на 25Мб/с не обращать внимания? (-:
ну 3-4 дня поддосят и все, если не удалось сайт завалить, какой смысл продолжать? Если ДЦ располагает оборудованием, тогда можно и это задушить. +-25мбпс фактически не заметно при нормальных объемах.
повторяю свою изначальную мысль... "поддосят 3-4 дня и отстанут" - только если это попытка забить 100Мб канал потоком всего в 25Мб. Если это достаточно умный ддос, формурующий запросы сильно нагружающие приложение (например, опять-же, базу данных), то, несмотря на относительно свободный интернет канал, атака будет успешной. Подскочат averages под сотню-другую и всё встанет раком. Именно поэтому стоит даже такие на первый взгляд безобидные ддосы отслеживать и пресекать.
О пресечении этого написана статья на 3 скролла выше. После проведения описанных действий в сетке все рано останется флуд, который либо душить, либо забить на него.
а, понял.
не только железом. если хостер (ДЦ) не дает делать BGP announce, можно воспользоваться связкой bash+netstat+awk/grep/cut/sort/uniq+pf - 40 Мбит/с проходит практически незаметно.
Большое спасибо за статью. Вы меня натолкнули на идею по некоторой доработке данной схемы. Постараюсь опубликовать, когда будет готово.
фильтрацию url например по критерию POST index.php?action=login с пустым реферером можно

Отбрасывает всех, кто пришел напрямую в "index.php?action=login"?
да
А ботнеты настолько тупые, что не умеют реферер выставлять?
Статья из блога ~ковр..~ или как-то так. Также оригинал давно был на opennet. Сейчас не могу найти, но ссылку хорошо бы поставить.
Как оригинально :) Написал же выше, что http://wiz.su/ это мой сайт!
Вот оригинал на опеннете: http://www.opennet.ru/base/net/ddos_nginx.txt.html
Это тоже стоит почитать: http://www.opennet.ru/base/net/tune_freebsd.txt.html (рекомендации Сысоева с РИТ2007)
а что делать с syn атаками?
или с icmp ддосом?
кому нибудь реально удавалось бороться с бот сетями размером от 5000 ботов?

недавно словил атаку ботами сначала get и post от 500 машин, затем icmp и syn запросы падали от 50000-80000 хостов, как мне показалось - на лицо был спуф адреса, так как реально держать такой ботнет тупо дорого.

Мои скрипты, которые отлавливали и втыкали правила на дроп в ipfw, обрезали кучу подсетей. Похоже просто ктото шалил, потому как на следующий день все прошло.
а отрезать ICMP никак? син-флуд вполне себе нормально можно убивать с помощью netstat+bash+хозяйство из /bin, /sbin+pf - но вы, я вижу, что-то похожее сами делали. единственное - я подсетями редко режу, каждый айпишник отдельно. ибо негоже из-за одного ламера отключать еще 200 человек.
Вы правы, я как раз подобными вещами и занимался. Но в том то и дело, что летело все с целых подсетей и по логике приходилось обрезать их всех(было похоже что бот рандомно подставлял себе последний байт ip адреса), что ни разу не гоже. С другой стороны если бот научился подменять последнюю цифру своего IP, то наверняка и любой другой разряд для него подменять не проблема (думаю реальных ботов итого за сутки было не более 500, судя по логам веб сервера), тогда и появляется проблема, которую я имел ввиду, с обрезанием целых подсетей гигантского ранга.
В моем случае присутствовали 500 ботов, которые смогли представиться 50000 хостами, а как бороться с ботнетами по 5000 зомбомашин?
Ну во первых, отрезать ICMP целиком нельзя - пакеты нескольких ICMP-типов все же придеться пропускать. Во вторых, ICMP пакеты замечательно фрагментируется и вы просто получите шквал ICMP фрагментов размером равным MTU. Любой пакетный фильтр бессилен - стандартная схема "положить канал".

SYN-флад вообще убить нельзя, тем более пакетным фильтром ;) В большинтсве случаев source адресса поддельные и что вы хотите добиться "с помощью netstat+bash+хозяйство из /bin, /sbin+pf" не очень понятно.
>>SYN-флад вообще убить нельзя, тем более пакетным фильтром
дело ваше - верить или нет. я убивал. причем эффективно. согласен с тем, что решение "костыльное", но в отсутствие доступа к BGP - единственное приемлемое. а решить, поддельные сорс-адреса или нет, можно "на глазок" - по хуизу десятка рандомно выбранных айпишников.
> а что делать с syn атаками?
> или с icmp ддосом?
> кому нибудь реально удавалось бороться с бот сетями размером от 5000 ботов?

Cisco Anоmaly Detector + Cisco Guard на границе сети. Жутко дорого, но здесь без вариантов.
вы на циско работаете, что ли? ;) если у вас ДЦ нормальный, у вас будет возможность дать BGP announce и заблэкхолить attack-destination адрес. Если даже на этом же сервере еще хоть пять сотен аккаунтов вписана, перебить ДНС зоны с экспайром пятиминутным - не проблема. в итоге ваши сайты не будут работать только у тех визиторов, у которых провайдер - идиот.
> если у вас ДЦ нормальный, у вас будет возможность дать BGP announce и заблэкхолить attack-destination адрес

и чего?
and blackhole all traffic coming to specific (attack-targeted) IP address :)
плохо что-то мысль получается сформулировать :(
Пригласите кого-то из Циски пускай вам расскажут о Guard и Anomaly Detector (я без сорказма)

В свое время я курировал тендер на защиту сетей одного крупного российского провайдера, много чего предлагали, рассказывали. Решили заморачиваться тендером после DDoS (на пике 600 Мегабит чистого флада, те самые фрагментированые ICMP пакеты, SYN-флад), сервера хостинга сдуло моментом (подключены по 100Мб), умудрились положить и MPLS сеть. На виртуальном хостинге около 2000 комерческих сайтов - рубить клиентов (тем более целыми сетками) у меня как инженера нет пермиссий (естесвенно). Ваш самый большой минус - то что вы человек, вы просто не в состоянии отследить/заметить то количество паттернов атак которые может заметить Anomaly Detecotor, и уж точно как человек вы не переварите 2Gb мусорного трафика как это делает Guard. Guard, кстати, фильтрует мусорный трафик, а не рубит все подряд.
вот тут спорить не буду. слава богу, больше 90МБит на своей шкуре не испытывал - не тот профиль. а сейчас, как ушел из хостинга, вообще забыл это страшное слово "DDoS" :)
не работал с циской, поэтому большое спасибо - почитаю, подумаю.
Как вриант, можете сравнить еще с TippingPoint от 3com. Говорят такие железки уже ставили в России, но решение от Циски куда более гибкое (а притом что Guard и Anomaly Detector бывают в виде стандартных модулей к шеститоннику, то еще и значительно _дешевле_).
Такая схема не сработает для самого частого вида атак - обычного флуда GET запросами основного индекса или любой другой страницы. А если в такой странице будет нечто ресурсоемкое, например тяжелые SQL запросы - сервер ляжет...

И еще, не мешало бы писать зачем выставлены те или иные значения переменных или установок конфига, хотя бы кратко... я не про логику.
До динамики можно без куки не допускать, nginx это делает прекрасно.
Но вот если атакующий просекает фишку с кукой - то опа - начинатеся гонка вооружений.
Молодцы, спасибо. на nginx + bsd давно сижу но подобного опыта пока слава богу (или к сожалению) небыло. вообще nginx мощная штука…
В вашем случае ддос был оч тупой, т.к. определить схему атаки было очень просто + видимо мало ресурсов требовали скрипты, к которым обращались боты. У знакомого была подобная ситуация, там дуал зеон и 4 гига рамы на 6.0 бсд вылетали очень быстро (при отключенных логах, потюненой системе) и модуле перловом, который загонял всех ботов в одну бан таблицу (ipfw). Масштабы были такие, что циска, которую дал пров как временную меру спасала не полностью. Так что раз на раз не приходится, а вообще полезно, спасибо.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории