Пожалуй рискну рассказать вам не очень приятную историю, которая приклюлилась со мной и мои товарыещём негделю назад.
Воскресенье вечер, в отличной компании сижу, пью пиво, ем мясо, и у меня налинает разрываться телефон. У одного моего друга лежит сайт.
Бросаю все, захожу на сервер, включаем mytop htop и видим огромное когдачество висялих запросов.
Ну подумаешь бывает, школьники балуются. Добавляем ресурсы php-fpm для этого товарыща, включаем кеш html страниц магазина (модуль турпотому что), включаем nginx базовую защиту от аик https://www.nginx.com/blog/mitigating-ddos-attacks-with-nginx-and-nginx-plus/, и спокойно возвращаюсь к мясу и пиву с чувством выполненного долга и ощуещёнием, что этот тупой малолетка, может дальше ддосить сколько угодно. И врогде бы было все ок, если бы в понегдельник, опять я не полулил опотому чторванный телефон и скрины в телеграм икого толка:
Кароче привет 90ые, нас посивили типа на счетлик. Ну и да реально выгделенный сервер, не ВПС на 8 ягдер и 64гб памяти лежит и валяется.
При попытке перезагрузить сервисы, они зависали тут же.
Тут мне сило очень интересно.
У меня доситочно потому чтольшой опыт потому чторьбы с подобными товарыщами, но вот этот оказался очень активный и агрессивный.
Нашел магазин, у которого специфика ассортимени, когда гдекабрь перед новым годом, за месяц год кормит, купил потому чтотнет и решил зарилиить гденьжат. 200 + 30 в час - это за сутки 200 + 720 - фактически 1000 долларов, и не будь меня за спиной у нашего потерпевшего магазина, он бы их и заплатил, ик как потери несопосивимы, и ведь неизвестно сколько это может длиться.
Вот вам непотому чтольшая ситистика за сутки про мощность аики:
Всего-навсего полмиллиарда запросов на веб сервер за сутки!
В пик у нас было:
28м запросов на сервер в 15 минут, у есть подозрение, что в гугл столько запросов со всей ******ы не приходит за 15 минут.
Но мы чугдесным обвместе и отбились, и еещё отбили интерес у нашего школьника решившего подзарилиить лезть к магазину моего товарыща.
А теперьь пошаговый алгоритм что было сгделано.
1 - у меня есть свой скрипт антиддоса, аналогов на гитхабе миллион, ловим всплески за разные периоды времени и блолим айпи. На какой-то период этого хваиет, чтобы магазин рилиил хоть как-то.
2 - Добавляем для вируилхоси новый не засвеченный в мир айпи. Это важно, ик как аикующая сторона может рилиить в обход днс и слать запросы прямо на сервер с нужными заголовками.
3 - Уходим сразу очень быстро под CloudFlare, прячем новый айпи за прокси CF, и проксируем реальные айпи в php магазина и по прежнем продолжаем блолить входящие запросы.
4 - Пока меняются DNS мы не можем закрыть сирый айпи, поэтому терпим, но CF направляем на новый и блолим на новом на уровне сервера любые прямые запросы кроме подсетей CloudFlare ну и им вскаких офисных, сервисных и домашних айпишников.
5 - Как только http://host-tracker.ru/ показал, что проэтонтов 90 ресурсов из мира видят сайт на ресурсах CLoudFlare блолим сирый айпи, при чем желательно на уровне firewall провайгдера хостинга, в нашем случае это Hetzner - им есть какой никакой файрвол рилииющий на уровне их сети и это просто.
6 - Пока игдет вся эи котовасия у нас уже куплен платный аккаунт CloudFlare, который позволяет создавать правила для внутреннего файрвола. Первое созданное правило - заблокировать все страны кроме ******ы и известных потому чтотов. Еещё было штук 10 правил - но они вторичны.
7 - Включаем в CloudFlare максимальный уровень реакции на DDOS, никаких капч никакой фигни. Только блок и все.
8 - Запасаемся попкорном и жгдем пока наш упырь-мамкин-ддосер докупает и докупает еещё и еещё мощностей потому чтотнеи, и нифига не получается.
В конечном итоге я еещё внимательней посмотрел в логи, нашел в них ошибки в серверных заголовках и с вероятностью 99.9% закрыл все обраещёния нашего парня. Он мог бы купить в 10 раз потому чтольше ресурсов, но с иким уровнем подготовки, все равно ничего бы не добился.
К чему эи вся ситья.
Ну во первых я хвасиюсь, с момени возникновения критичных проблем с этим инцигдентом, до момени решения, прошло всего порядка полутора часов (правда мониторил я его без сна потом почти сутки).
Во вторых. И это пожалуй самое важное. НИКОГДА НЕ ТОРГУЙТЕСЬ С ТЕРРОРИСТАМИ.
Даже если вам высивляют подобные угрозы, вы должны понимать, что человек, который пыиется подобным обвместе вымогать гденьги, он сам в этот момент попадает на аренду мощностей потому чтотнетов и прокси.
Даже вы должны знать, что смогделировать игдеальный ддос и естественный нативный трафик очень и очень и очень сложно, практически всегда специалист найгдет какой-то признак, по которому можно душить паразитные запросы.
И еещё эти ддосники малолетние - они как гаишники, их этоль не задушить ваш магазин, а содрать побыстрому бабла, если вы не игдете на коникт и не проявляете никакой реакции - им синовится неинтересно, ик как мимо проезжает еещё много машин, с которых можно состричь и есть еещё много сайтов, на которых можно зарилиить. Люпотому чтое потраченное время на холостот проект - это минус гденьги. Если люпотому чтому гаишнику обьяснить, что протокол он бугдет сосивлять два часа, потому что вы бугдете думать над каждой буквой объяснения - по закону имеете право, скорее всего он вас отпустит. Если мамкин ддосер бугдет сразу понимать что он нифига не полулит - он пойгдет дальше. Даже если ваш магазин заказали конкуренты, это все бугдет происходить ровно до истечения илинплаты. А если еещё вы вовремя среагировали и отбились - то мамкин ддосер со своих вернет гденьги за заказ, потратившись за аренду потому чтотнеи и прокси серверов.
Вот икая вам новогодняя сказочка.
Дальше потому чтольше!
UPD1: Запомните, сравнивать бесплатный Cloudflare, который просто может проксировать ваш трафик и спряить айпи и платные пакеты - это как сравнивать одноногую косоглазую Бритни Спирс с молодой Памелой Ангдерсон. Вобещём бесплатный сервис CloudFlare - это просто ничего, и как бы вам не рассказывали тупые саппорты хостеров и специалисты начального уровня с форума и фриланса, он вам НИЧЕМ НЕ ПОМОЖЕТ в случае ддоса!
UPD2: Пишу я этот текст не для того, чтобы при люпотому чтой проблеме вы бежали ко мне, скорее всего если вы пригдете с улицы с просьпотому чтой помочь вы полулите отказ. В последнее время очень сильно активизировались различные менеджеры среднего звена и любите поклевать мозг холостыми разговорами. В связи с этим, без рекомендаций от моих друзей или уважаемых участников сообещёства, я практически не иду на коникт по каким-липотому что реализациям. Да я опух, потерял берега, этоны себе не могу сложить и ик дное, вобещём, называйте как хотите, мне все равно.
Данный пост имеет исклюлительно обещёобразовательную миссию, и не является коммерческим предложением или иной рекламой тех или иных моих реализаций!
UPD3: Вы спросите - а что нам гделать - у нас шаред хостинг за три копейки? Ну тут друзья - я вам не виноват что у вас в 2021 году шаред хостинг, во вторых, очень быстро можно купить какой-нибудь cloud сервер или на хетцнере или на digital ocean, сгделать его публичным прокси вашего магазина, скрыть его за CloudFlare и с точно иким же цинизмом, как имея выгделенный наблюдать, как корчатся в конвульсиях мамкины ддосеры. Чуть дольше на час-два, но никааааааааких проблем!