Apache modssl retornando 200 indesejados aleatórios em vez de 404

2

Eu tenho uma configuração 2.4.7 apache bastante simples no CentOS 6.5 Linux e um servidor web ativo. Sem PHP ou CGI, apenas algumas páginas estáticas e um proxypass para uma camada de servidor diferente.

Estou investigando a segurança e propositadamente enviando dados inválidos na forma de URLs com ~ nomes de usuários que não existem. Espero receber um erro 405.

HTTP/1.1 405 Method Not Allowed
Date: Fri, 27 Feb 2015 21:28:51 GMT
Server: Apache-Coyote/1.1
X-Frame-Options: SAMEORIGIN
Allow: GET,DELETE,POST,PUT
X-Frame-Options: SAMEORIGIN

E é isso que recebo 90-95% do tempo. Mas cerca de 1 em 20-30 tentativas obtém um código de retorno 200 com uma página em branco.

200 27/Feb/2015:21:02:50
HTTP/1.1 200 OK
Date: Fri, 27 Feb 2015 21:28:50 GMT
Server: Apache
X-Frame-Options: SAMEORIGIN
Content-Length: 1

Se fosse um problema de configuração simples, esperaria que todas as chamadas falhassem ou funcionassem, e não 3-5% de falhas.

Eu só vejo isso na porta SSL, a porta http também está configurada (embora não esteja aberta ao público) e NÃO mostra o mesmo problema. Eu posso enviar centenas de chamadas embora http sem erros, mas obter pelo menos um ou dois a cada 50 chamadas são tão em https.

Alguns dos testes que eu já tentei sem sucesso, são:

Os logs apenas relatam o fato de que um 405 ou um 200 foi enviado, mas nenhuma diferença aparente no URL. Ou quaisquer erros.

Elimine quaisquer problemas de firewall de entrada, tentando chamar o loopback local, o mesmo problema.

Elimine o problema com o balanceador de carga de saída, chamando diretamente a conexão proxy. Meu raciocínio para este teste, não há nada nesta camada camada para lidar com chamadas de nome de usuário e provavelmente ser ignorado e passado pelo proxypass coringa para a próxima camada. A próxima camada sever está respondendo perfeitamente. Sem erros, mesmo com centenas de chamadas no teste de explosão.

Executou o mesmo teste no ambiente de desenvolvimento que é configurado exatamente da mesma forma (a imagem da AWS é a mesma, portanto, as diferenças são apenas nos endereços IP) Nenhum erro, portanto, o volume na produção pode ser problemático. Atualmente, o servidor está com uma média de 5 a 10 hits / s, com curtos picos de até 25. A carga da CPU é de 0,00 a 0,02 com mais de 2G de memória livre de 7G e sem problemas de disco.

Eu não quero postar o arquivo de configuração completo aqui, mas é bastante baunilha com as partes relevantes da leitura do VirtualHost. (URL é alterado para proteger os inocentes e evitar que o stackexchange pense que eles são links)


Listen 443
SSLCipherSuite    ***REDACTED***
SSLHonorCipherOrder on
SSLSessionCache        "shmcb:/opt/httpd/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300
SSLProtocol ALL -SSLv2 -SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2
SSLCompression Off




SSLEngine on
SSLCertificateFile ***REDACTED***
SSLCertificateKeyFile ***REDACTED***
SSLCertificateChainFile ***REDACTED***

BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog "/opt/httpd/logs/ssl_request_log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

 Order deny,allow
 Allow from all

SSLProxyEngine on


ProxyPass /terms !
ProxyPass /static !
ProxyPass /images !
ProxyPass /terms_ccm !
ProxyPass /pay/ https ://pay.ACME.COM/payment/
ProxyPassReverse /payment/ https ://pay.ACME.COM/payment/
ProxyPass / http: //mbg.ACME.COM/mobgate/
ProxyPassReverse http: //mbg.ACME.com/mobgate /

    
por Cosmo F 27.02.2015 / 23:16

0 respostas