Estou tendo um problema com a configuração padrão do Tomcat 7 no Debian 8.
Problema: Peguei a CPU do meu servidor, devido ao processo java, salto para 100% e fico lá por horas deixando o servidor lento. Se eu reiniciar o servidor Tomcat, a CPU voltará para 1%. Depois de algumas horas o problema recomeça.
Status do aplicativo Java: Nenhum aplicativo Java personalizado está instalado no Tomcat, portanto, este é provavelmente um problema do Tomcat.
Logs: Assistindo catalina.out encontrei esta mensagem de erro em correspondência ao início do pitch da CPU
19 de janeiro de 2017 1:03:23 org.apache.coyote.http11.AbstractHttp11Processor process INFO: Erro ao analisar o cabeçalho da solicitação HTTP
Como replicar: Após a reinicialização do servidor, tentei acessar a página inicial do servidor Tomcat usando https visitando este URL através de um navegador da web
e pronto, a CPU começa a enlouquecer e recebo o log como antes.
O que isso significa: Isso significa que qualquer pessoa com uma solicitação especial pode fazer DDOS em meu servidor
Pergunta: Existe alguma maneira de resolver esse problema sem alterar minha distribuição Linux ou versões empacotadas do Tomcat usadas pelo apt?
Estou usando uma nova imagem padrão do debian 8 do Google Compute Engine. tomcat 7.0.56Java 1.7.0_111
Responder1
Eu tive exatamente o mesmo problema com o Debian 8, tomca7.0.56.
Para mim, atualizar para a versão backport resolveu o problema. Eu atualizei tomcat7, tomcat7-common, libtomcat7-java e libservlet3.0-java para a versão =7.0.73-1~bpo8+1 (assim: apt-get install tomcat7=7.0.73-1~bpo8+1)
Acho que temos um enorme problema de segurança com a versão atual do Tomcat 7.0.56 no Debian 8. Com a configuração padrão, todos que simplesmente chamam https://domain.tld:8080 fazem com que a CPU aumente para 100% até você reiniciar o Tomcat !
Responder2
Resumindo, apliquemétodo científico.
- Descubra o que está escutando na porta 8080.
- Descubra como ele está configurado.
- Entenda o que ele está fazendo.
- Tome as medidas apropriadas
Responder3
Tenho exatamente o mesmo problema e as mesmas configurações de sistema. Quando eu reinicio o servidor, tudo ficará bem por um ou dois dias e, novamente, o Tomcat7 usa cerca de 99% da CPU.
Dessa vez eu fiz isso:
parada de serviço tomcat7
E ainda está funcionando para mim. Eu não uso Java, como você mencionou, então está tudo bem para mim.