Может ли кто-нибудь объяснить, почему ограничение максимального размера тела запроса полезно для предотвращения DoS-атак? ModSecurity по умолчанию равен 1 МБ, например, с SecRequestBodyNoFilesLimit.
Думаю, мне интересно, почему это так важно, поскольку я думал, что обычно DoS-атаки (не обязательно DDoS-атаки) полагаются на что-то, что было дешево для злоумышленника и дорого для атакуемого сервера.
Если, например, тела запросов ограничены 1 МБ вместо 10 МБ, не будет ли злоумышленник просто выполнить десять запросов по 1 МБ подряд вместо одного запроса 10 МБ за тот же промежуток времени (при условии, что не было какого-то ограничения скорости запросов, конечно )?
Это в основном из-за проблем на уровне приложения, которые могут быть причиной того, что очень большое тело запроса будет иметь мультипликативный эффект в отношении возможности отказать в обслуживании (то есть это просто общая мера предосторожности, которая может или не может быть необходимой в зависимости от приложения), или мне чего-то не хватает, и это всегда полезно?
Я думаю, это связано с предотвращением DoS-атак с использованием RAM. Если максимальный размер тела запроса составляет 100 МБ, то 100 одновременных запросов могут использовать до 10 000 МБ (100 МБ * 100) ОЗУ, тогда как всего 100 МБ (1 МБ * 100), если максимальный размер тела запроса составляет 1 МБ. Предполагается, что веб-сервер буферизует тело запроса в памяти, что, как мне кажется, имеет место, за исключением загрузки файлов.
Я думал, что обычно DoS-атаки (не обязательно DDoS-атаки) полагаются на что-то, что было дешево для атакующего и дорого для атакуемого сервера.
Так было до появления крупномасштабных ботнетов. Теперь все дешево для злоумышленника, поскольку он не платит ни за какую полосу пропускания.