Não é possível atualizar os protocolos ou cifras do Apache SSL

2

Estou pesquisando e testando há alguns dias e não tenho mais nada para experimentar. Aqui está o meu problema. Eu tenho um servidor web Apache Lounge 2.4.18 (Win32) VC14 em execução em um servidor Microsoft Windows 2008 R2 usando o OpenSSL 1.0.2g. Nossa equipe de segurança corporativa verificou meu servidor e detectou que o RC4 está sendo utilizado. (Eles usaram o Nexpose do Rapid7). Eles recomendaram a configuração do servidor para desabilitar o suporte para cifras RC4 e sugeriram usar a configuração de cifra mostrada abaixo. Eles também recomendaram não usar TLSv1 e usar apenas TLSv1.1 e TLSv1.2. Também executei o SSLScan para duplicar os resultados e poder ver que “TLSv1 128 bits RC4-SHA” foi aceito.

Nenhum problema eu pensei e mudei meu arquivo httpd.conf como mostrado abaixo então reiniciei o serviço Apache2.4. Eu então fiz com que eles fizessem uma nova varredura no servidor e recebessem os mesmos resultados. Pesquisei o servidor inteiro procurando por arquivos que contenham "SSLCipherSuite" ou "SSLProtocol" e exclua ou renomeie todos eles, exceto \ Apache24 \ conf \ httpd.conf. Eu tenho um arquivo \ Apache24 \ conf \ openssl.cnf, mas eu não acho que ele faça nada porque ainda é o arquivo padrão que vem com o Apache. Eu também fiz uma limpeza massiva e deletei todas as versões antigas do Apache, OpenSSL e PHP. Eu atualizei o Apache e o OpenSSL do Apache 2.2 e OpenSSL 0.9.x há cerca de 3 semanas e tenho executado sem problemas. Não tenho erros de inicialização no error.log ou no visualizador de eventos do Windows.

Existe algum outro lugar em que o Apache / OpenSSL determina os protocolos ou pacotes de criptografia?

Existe algum padrão em algum lugar que ignore minhas diretivas relacionadas ao SSL?

Conteúdo do meu arquivo httpd.conf ("MYDOMAIN" obviamente não é o meu nome de domínio real):

<VirtualHost *:80>

    DocumentRoot "C:/Apache24/htdocs"
    ServerName www.MYDOMAIN.com
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot "C:/Apache24/htdocs_apps"
    ServerName apps.MYDOMAIN.com

    SSLEngine on
    SSLCertificateFile "C:/Apache24/certs/233afff052190aeb.crt"
    SSLCertificateKeyFile "C:/Apache24/certs/star_MYDOMAIN_com.key"
    # SSLCertificateChainFile "C:/Apache24/certs/gd_bundle-g2-g1.crt"

    SSLProtocol -ALL +TLSv1.1 +TLSv1.2 
    SSLHonorCipherOrder On
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSAAES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSAAES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK

    <Location / >
        Options -ExecCGI -FollowSymLinks -Indexes
        Require all granted
    </Location>
</VirtualHost>

Qualquer ajuda é muito apreciada.

    
por Ron 31.03.2016 / 01:11

3 respostas

1

Ahhh sucesso! Acontece que nossa rede usa um dispositivo "F5" que faz a conexão SSL e, em seguida, faz o proxy da conexão de volta ao meu servidor. Parece que eles precisam trabalhar em suas cifras! Meu servidor é extra seguro agora graças a este pequeno exercício. Eu também uso o CloudFlare para que a conexão entre no Cloudflare- > F5- > OpenSSL usando TLSv1.1 e TLSv1.2.

Hora do almoço. Eu me pergunto se ainda temos aquela política de dois drinques para o almoço ...

    
por 31.03.2016 / 20:59
1

Quanto ao openssl.conf, ele tem uma diretiva SSLCipherSuite e, em caso afirmativo, ele é comentado? Pode haver um problema de "mesclagem".

Olhando para a diretiva SSLCipherSuite, vejo os seguintes problemas (que podem ou não fazer parte do problema aqui):

Erros de digitação:

  • ECDHE-ECDSAAES256-GCM-SHA384 provavelmente deve ser ECDHE-ECDSA-AES256-GCM-SHA384
  • embora TLSv1.0, DHE-RSAAES256-SHA provavelmente deva ser DHE-RSA-AES256-SHA

Protocolos TLSv1.0:

  • DHE-RSA-AES128-SHA é TLSv1.0
  • DHE-DSS-AES256-SHA é TLSv1.0

De qualquer forma, eu uso:

SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS

com

SSLProtocol all -SSLv2 -SSLv3

e retirar uma classificação A + do Teste do servidor SSL da Qualys SSL Labs (incluindo a verificação de não RC4) .

NOTA: Apesar de algumas pessoas estarem a largar o TLSv1.0, poderá ter problemas com um bom número de navegadores, possivelmente incluindo o Android 5.0.0 e versões anteriores, o IE 8-10 no Win 7, o IE 10 no Win Phone 8.0, o Safari 5.1.9 no OS X 10.6.8 e Safari 6.0.4 no OS X 10.8.4

    
por 31.03.2016 / 03:16
1

Parece que a configuração da F5 pode ser "empresa de entrada" em vez de "passagem de entrada de SSL". Parece que a diferença é que no antigo tráfego do usuário para a F5 é criptografado por meio da configuração SSL da F5, descriptografado na F5 e finalmente criptografado usando sua configuração de SSL apenas para comunicação entre a F5 e seu servidor, enquanto na última o tráfego é criptografado entre o usuário e seu servidor usando inteiramente sua configuração de SSL (e é apenas passado adiante pela F5 sem descriptografia / nova criptografia). Se este for o caso, pode ser que o seu tráfego esteja apenas "seguro" (não RC4) entre você e a F5 e esteja à mercê da configuração da F5 enquanto estiver na rede pública. Talvez pelo menos valha a pena fazer algumas perguntas às pessoas da sua rede antes de assumir que você tem uma configuração segura.

    
por 31.03.2016 / 22:02