Как установить mod_reqtimeout в весеннюю загрузку и встроенный tomcat? - PullRequest
0 голосов
/ 26 мая 2018

У меня есть приложение весенней загрузки, которое использует встроенный tomcat, и я хочу установить mod_reqtimeout, чтобы предотвратить медленную атаку http dos.Как я могу установить или инициализировать этот модуль в конфигурации весенней загрузки?

acunetix показывает это предупреждение:

Ваш веб-сервер уязвим для медленного DoS HTTP (отказ в обслуживании)атаки.Slowloris и Slow HTTP POST DoS-атаки основаны на том факте, что протокол HTTP по своей природе требует, чтобы запросы полностью принимались сервером перед их обработкой.Если HTTP-запрос не завершен или если скорость передачи очень низкая, сервер будет занят своими ресурсами в ожидании оставшихся данных.Если сервер удерживает слишком много ресурсов, это приводит к отказу в обслуживании.

, и когда я гуглюл это предупреждение, я вижу, что следует установить mod_reqtimeout, как вы можете видеть ниже:

https://httpd.apache.org/docs/trunk/mod/mod_reqtimeout.html

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

При весенней загрузке 1.4 или более поздней версии это можно настроить в свойствах приложения, используя:

server.connection-timeout

Время, в течение которого соединители ожидают другой HTTP-запрос перед закрытием соединения.Если не задано, используется значение по умолчанию для конкретного соединителя.Используйте значение -1, чтобы указать отсутствие (то есть бесконечное) время ожидания.

source: https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

0 голосов
/ 28 мая 2018

Я решил проблему с введением этого bean-компонента, указанного ниже, и установил тайм-аут соединения для соединителя:

@Bean
public EmbeddedServletContainerFactory servletContainerFactory() {
    TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();

    factory.addConnectorCustomizers(connector ->
            ((AbstractProtocol) connector.getProtocolHandler()).setConnectionTimeout(8000));

    return factory;
}
...