В нижеследующих параграфах под DDoS-атакой я буду подразумевать высокоинтенсивный флуд, если не указано иного. В общем смысле это неверно, но по определенным причинам такой подход довольно популярен.
Конечно, скачать какую-нибудь программу с хакир.ру и нажать на кнопку особого ума не надо, но где они берут ботнет? Для меня это загадка. Это первый пунктик, который я не могу понять. Сами собирают? Это не быстро, не безопасно и не просто.
Иногда бывает, что многие люди одновременно сами осознанно запускают "вредоносную" программу (см. hacktivism, loic и прочая), т.е. ботнет не нужен. Иногда бывает (amplification attacks), что достаточно десятков скомпроментированных серверов (у них пропускная способность выше), чтобы сгенерировать несколько гигабит/c трафика, которые затем многократно умножатся и придут к жертве.
Если уязвимость используют общедоступную, то она быстро трется.
Не все уязвимости, используемый для организации DDoS-атак, так просто закрыть, в частности, из-за количества подверженных им устройств.
Вторая философская загадка кроится в том, что вроде как защита есть, можно запросы фильтровать, перенаправлять и вообще нагрузки на разные сервера распределять, но в то же время канал не резиновый все равно и при желании большими объемами трафика можно положить что угодно, даже фэйсбук, и куда после этого постить фотографии кота? Т.е. под большими объемами уязвимы все.
Скажем так, чтобы к жертве пришло N гигабит/с трафика,их должен кто-то сгенерировать. Поэтому чем более сконцентрирована цель и чем более "распределен" атакующий, тем больше вероятность успешной атаки. И наоборот.
1. Как понять что тебя ддосят, если твой сервер лежит и не отвечает? мало ли что там может быть такого убаюкивающего для него. Как понять, что идет именно ддос?
При помощи внятного заранее настроенного мониторинга. Необходимо заранее рассмотреть возможные варианты атаки, спрогнозировать (смоделировать) их влияние на оперативно отслеживаемые метрики (утилизация каналов в bps/pps, утилизация CPU, поведение веб-сервера или сервера приложений), иметь отдельную консоль (в смысле dashboard) со всему релевантными метриками, уметь их правильно истолковать.
2. Что можно сделать самому на сервере, чтобы максимально быть готовым к ддосу? Кроме правил iptables есть ли еще какие-то фичи?
Разрешить только рабочий трафик, запретить весь остальной. Организовать out-of-band доступ к серверам/инфраструктуре. С моей точки зрения, стоит стремиться к тому, чтобы рабочий сервер мог в штатном режиме обработать трафик, утилизирующий всю его канальную емкость.
3. Законно ли перенаправлять атакующий трафик назад? С одной стороны, он сам нарвался же. С другой, зараженные сервера ботнета могут быть полезными, вдруг там порносайт какой, а я его ответным трафиком положу... Есть ли где-то инструкции или чтиво по теме отражения атак?
По поводу законности подобных действий ничего не могу сказать, к тому же вы не указали юрисдикцию.
4. если я купил много прокси серверов и провожу ддос атаки на свой с целью проверить нагрузки и отказоустойчивость, это я тоже закон нарушил? Ботнет же, атаки во все поля....
Опять же ничего не могу сказать касательно законности подобных действий. Намекну, если неизвестный аноним, соблюдая минимальные предосторожности, заказал двум-трем популярным DDoS-сервисам [тестовую] атаку на вашу инфраструктуру, то вы-то тут при чём?
5. Отслеживается ли вообще активность таких атак как-то по сети? Не зря же китайцы фаервол себе захерачили, наверное отслеживается? Почему тогда школьников не попересажали еще, вероятно, отслеживается плохо?
Подобная активность, насколько мне известно, в основном отслеживается профильными организациями (
например, Arbor networks). Касательно второго и третьего вопросов ничего не могу сказать.
6. Как ведут себя провайдеры? им проще клиента отключить, как я понимаю, верно? Но если ДНС прописаны на сервера хостинг провайдера, как его не выброси, атаки пойдут именно туда. Все равно придется фильтровать как-то... Как вообще борятся с атаками хостинги и провайдеры? Не сидят же они сложа руки?
Если трафик до клиента представляет угрозу работоспособности хостинга в целом (например, вследствие чрезмерной утилизации аплинков), то трафик до него, как правило, блокируется (вручную при помощи ACL на оборудовании вышестоящего провайдера, при помощи BGP blackhole и т.д.). При наличии, может использоваться специализированное оборудование.
Ну и любые советы, книги, статьи по данному направлению приветствуются.
Особенно интересны методы защиты.
Статьи:
www.incapsula.com/blog
https://blog.cloudflare.com/
www.arbornetworks.com/asert
www.arbornetworks.com/resources/media-library/ente...
nsfocusblog.com/tag/anti-ddos
www.team-cymru.org/articles.html
Некоторые технологии, полезные для защиты: BGP Anycast, BGP RTBH, BGP flowspec,
BPF. В области L7-анализа и фильтрации различных технологий и подходов больше.
А то сплю плохо.
Высыпайтесь.