Denial of Service do Tomcat devido a pacotes grandes

4

Eu fiz esta pergunta sobre o ITSecurity, mas senti que esta questão está melhor colocada aqui.

Em uma avaliação recente, descobri que enviar grandes solicitações (> 5 MB) para um servidor tomcat causa 100% de uso da CPU no servidor. A correção mais simples que me veio à mente foi usar o maxPostSize no conector. No entanto, isso não ajudou, pois a solicitação que preciso enviar não é "codificada em url de formulário". Eu li por aí para descobrir que o maxPostSize é aplicável apenas a esse cabeçalho.

Então, qual é a maneira alternativa de parar esses pacotes grandes diretamente no servidor antes de passá-lo para o aplicativo?

Em outras palavras: Como evitar um DoS em um servidor Tomcat de um invasor que envia várias solicitações de dados grandes

    
por sudhacker 02.08.2012 / 19:00

2 respostas

0

Se a resposta do CédricC não ajudar - use o httpd com mod_security como frontend - lá você pode especificar limites para qualquer coisa ...

    
por 06.08.2012 / 08:38
0

Qual versão do tomcat você está usando? e são os dados da solicitação no parâmetro de solicitação?

Se não for um dos últimos (> 6.0.35 ou > 7.0.23), então pode ser devido a uma vulnerabilidade de colisão de hash da JVM (veja CVE-2012-0022 ).

É corrigido de 6.0.34 e 7.0.23 adicionando um maxParameterCount ao conector (o padrão é 10000).

link

    
por 06.08.2012 / 07:37