Вопрос: Почему cloudflare не защищает от ddos?

Лучший ответ: Есть софтина, которая из лога апача дергает ipшники, которые делают слишком много запросов и добавляют их в файрволл cloudflare, который вообще не будет пропускать запросы с этих ip.

Тут встает вечный вопрос неэффективности cloudflare. Он вроде бы есть и вроде бы защищает от L3-L4 атак, но когда дело доходит до L7, а особенно на бесплатном тарифе - все становится слишком плохо. 

Вообще, когда дело доходит до дудоса - тут либо самому придется какие-то костыли делать, либо же отваливать неплохие бабки за нормальную защиту.

Давай подумаем что можно сделать. Если готов хотя бы 8000 руб отваливать за защиту - тогда иди к ddos guard. Он неплохо справляется с дудосом. Схема почти та же что и Cloudflare - reverse proxy. Только на cloudflare надо делегировать домен, а вот на ddos guard просто прописать A запись у регистратора домена. Раньше у ddos guard был бесплатный тариф. Сейчас его к сожалению убрали.

Следующий вариант - бесплатный. Нужно во-первых разобраться в ситуации. Для начала нужно проанализировать свой проект. Какая у него целевая аудитория. Нужно ответить на вопросы: кто меня дудосит? зачем ему это нужно? какими ресурсами обладает атакующий?

Далее нужно уже подумать над выходом из ситуации. Изначально нужно определить чем конкретно мешает тебе эта атака. Она грузит сервер на 100%? Чем именно грузится сервер? Апачом? php?
Как вариант перейти на php-fpm >=8.0 + nginx. Да, это не решение проблемы, но это уже маленький шаг к решению этой проблемы. Далее нужно посмотреть на свой сервер. Если это виртуальный хостинг - бегом на vds. Сейчас в 2022 сидеть на хостинге очень странное решение. Если у тебя уже vds - увеличь количество ресурсов (многие облачные провайдеры предоставляют возможность почасовой оплаты и увеличение/уменьшение ресурсов когда тебе надо). Если тормоза уйдут и сайт будет нормально работать - это заставит атакующего думать, что нужно приложить больше усилий к атаке. Дальше нужно просто мониторить нагрузку. Если увеличение ресурсов у сервера не помогло или же атакующий задействовал дополнительные ресурсы - идем дальше.

А дальше нужно анализировать уже саму атаку. Самое меньшее что можно сделать - это пробивать ipшники атакующего. Я взглянул на несколько из них - это ipшники облачных провайдеров. Причем в каком-нибудь Пакистане или Канаде. Если у тебя там нет аудитории - в cloudflare создай правило, что к серверу могут обращаться только ip из России или где там у тебя целевая аудитория. Можно выбрать несколько стран. Такой мув позволит заметно сократить ресурсы атакующего. А российские ipшники уже можно складировать в каком-нибудь логе и обращаться напрямую к хостеру, который эти ipшники облуживает. Можно и заявить в полицию. В России это 272 273 УК РФ.

Тем более атакующему найти ресурсы для атаки в конкретной стране будет очень тяжело. Дудосят обычно с каких-нибудь взломанных серверов/компьютеров. А эти ресурсы в аренду будут очень дорого обходиться атакующему.

В итоге имеем - разрешаем на уровне cloudflare обращения к сайту только из стран, где у нас находится целевая аудитория, ставим софт на автоматическое внесение ipшников в черный список cloudflare при превышении опредленного порога частоты запросов, увеличиваем количество ресурсов на своем сервере, переходим на более современный стек технологий.

Если все это не помогло - дальше ты либо хороший спец и шаришь как защищаться от дудоса, либо отваливаешь 100+$ в месяц за защиту. Более менее крупные проекты отваливают не одну тысячу, а то и не один десяток или сотен тысяч долларов в месяц за защиту. Но и в пределах 1000$ долларов в месяц можно найти достойные варианты защиты от атак.

Худший ответ: https://support.cloudflare.com/hc/en-us/articles/2...
Нужно сделать, ну и нужно уметь настраивать.