Найти в Дзене
птица говорун

По DoSил и бросил

продолжение двух моих статей как не странно про ютуб и недавней статьи про CLAUDEFLARE

что таое DoS? DoS-атака это атака Denial of Service - отказ от обслуживания, однако часто используют термин DDoS Distributed Denial of Service. во-первых лучше отражает суть - современные хорошо спланированные атаки не имеют четкой региональной привязанности. т.е. так просто методом фильтрации их не победить, а во-вторых позволяет не путать с детищем майкрософт.

DoS атака это атака как правило на программные серверы при которой злоумышленники посылают огромное число запросов. это делается так, чтобы загрузить серверы, используя уязвимости в системе безопасности или вызвать неработоспособность системы ввиду конечности её ресурсов.

в статье про ютуб я говорил что например сборка пакета довольно ресурсоёмекое мероприятие. рассмотрим эту мысль чуть подробнее.

например система ловит все в подряд пакеты потом их собирает и подвергает фильтрации.

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


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

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

как с этим бороться? вообще говоря никак. но есть несколько способов которые делают DDoS атаки мало эффективными.

представим себе такую ситуацию: у нас есть "тяжелый" серверный процесс который на ходу что-то интерпретирует (выполняет скрипты на стороне сервера) лазает по базам данных и т.п. как нетрудно догадаться такой сервер очень легко задосить.

решение: просто ставим перед нашем непомерно умным сервером тупой маленький и очень легкий сервер, который сам по себе ничего не умеет, а просто шлет запросы которые приходят к нему на сервер который находится за ним (бэкэнд). при это не делает это слишком часто. например сам отдает ответ на запрос из своего кэша на самые популяные запросы, ну или вообще тупо отбрасывает запросы когда их становится слишком дофига, эффективно управляет ресурсами - активно закрывает полуоткрытые соединения в условиях когда ресурсов начинает не хватать. и т.д. и т.п.

и как говорили во времена моей юности: "усе - телемаркет" т.е задосить наш маленький юркий сервер конечно тоже можно, но только для этого понадобятся большие ресурсы.

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

почему именно виртуальный хостинг? ну смысл вот в чем: в случае виртуального хостинга сайт не имеет своего выделенного узла, а представлен директорией в файловой системе. кроме того сайтов на одном адресе великое множество. т.е. запросов в секунду приходит очень много. т.е. архитектура системы принципиально рассчитана на большое число запросов.

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