Назад | Перейти на главную страницу

Tomcat Denial of Service из-за больших пакетов

Я задал этот вопрос об ITSecurity, но мне показалось, что этот вопрос лучше разместить здесь.

В ходе недавней оценки я обнаружил, что отправка больших (> 5 МБ) запросов на сервер tomcat приводит к 100% загрузке ЦП на сервере. Самым простым решением, которое пришло в голову, было использование maxPostSize на коннекторе. Однако это не помогло, поскольку запрос, который мне нужно отправить, не закодирован по URL-адресу формы. Я читал вокруг и обнаружил, что maxPostSize применим только к этому заголовку.

Итак, каков альтернативный способ остановить такие большие пакеты прямо на сервере, прежде чем передавать их приложению?

Другими словами: как предотвратить DoS-атаки на сервере Tomcat со стороны злоумышленника, который отправляет несколько больших запросов данных.

Какую версию Tomcat вы используете? и есть ли данные запроса в параметре запроса?

Если это не один из последних (> 6.0.35 или> 7.0.23), то это может быть из-за уязвимости хеш-коллизии со стороны JVM (см. CVE-2012-0022 ).

Исправлено с 6.0.34 и 7.0.23 добавлением maxParameterCount к разъему (по умолчанию 10000).

http://tomcat.apache.org/tomcat-7.0-doc/config/http.html

ЕСЛИ ответ CédricC не поможет - используйте httpd с mod_security в качестве внешнего интерфейса - там вы можете указать ограничения для чего угодно ...