Por favor, veja as seções EDIT na minha própria resposta; eles contêm uma explicação para esse enigma .
Estou tentando desativar o RC4 para um servidor Apache 2.2.9 em execução no CentOS 6.5 VPS e não consigo obter êxito.
Um certificado validado pela empresa adquirido recentemente está instalado e as conexões SSL estão funcionando bem, mas eu queria configurar as coisas da melhor maneira possível, para "fortalecer a segurança", como alguns tutoriais colocam.
Verificando a configuração com o Qualys SSL Labs, a página de resultados mostra "Este servidor aceita a cifra RC4, que é fraca. Grade limitada a B."
No entanto, eu coloquei isso no ssl.conf:
SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!SSLv2:!SSLv3
Salvei o script fornecido na resposta a esta pergunta em um arquivo chamado test-ssl-ciphers.sh e alterei o endereço IP para um endereço de loopback. Este é o resultado de ./test-ssl-ciphers.sh | grep -i "RC4"
:
Testing ECDHE-RSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ECDHE-ECDSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing AECDH-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ADH-RC4-MD5...NO (sslv3 alert handshake failure)
Testing ECDH-RSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ECDH-ECDSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing RC4-SHA...NO (sslv3 alert handshake failure)
Testing RC4-MD5...NO (sslv3 alert handshake failure)
Testing RC4-MD5...NO (sslv3 alert handshake failure)
Testing PSK-RC4-SHA...NO (no ciphers available)
Testing KRB5-RC4-SHA...NO (no ciphers available)
Testing KRB5-RC4-MD5...NO (no ciphers available)
Testing EXP-ADH-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-KRB5-RC4-SHA...NO (no ciphers available)
Testing EXP-KRB5-RC4-MD5...NO (no ciphers available)
Cada uma dessas linhas contém "NÃO", o que, de acordo com o script, significa que o servidor não suporta a combinação de cifras especificada.
Além disso, o comando grep -i -r "RC4" /etc/httpd
fornece apenas o arquivo ssl.conf mencionado acima.
Além disso, a execução openssl ciphers -V
no meu conjunto de cifras não mostra nenhuma cifra RC4, o que faz sentido, dada a sequência de configuração.
Estou, portanto, de alguma forma perdida, por que os sites de verificação SSL estão me dizendo que "o servidor aceita RC4". Eles até listam as seguintes cifras como sendo aceitas:
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
Alguém tem uma explicação possível? O que estou fazendo de errado? Talvez haja outro lugar em que esse suporte ao RC4 ou "aceitação" seja configurado?
Obrigado.
[ EDIT ] Usando um CentOS 6.6 em uma máquina virtual em casa, executei o script novamente no meu VPS usando seu nome de domínio em vez do endereço de loopback. Essa configuração implica que a lista de cifras é fornecida pela instância openssl na VM: Eu ainda não tenho o RC4 entre as cifras que produzem YES.
fonte
Os laboratórios SSL da Qualys parecem muito sensíveis aos hosts padrão etc. Verifique se TODOS os seus HTTPS VirtualHosts nesse endereço IP usam exatamente as mesmas configurações (além dos arquivos de certificado), tive um problema semelhante em que alguns dos testes da Qualys foram testados no meu VirtualHost e alguns dos testes pareciam pegar um VirtualHost padrão. Meu vhost alvo tinha apenas uma única cifra ativada, mas Qualys estava encontrando uma lista muito maior no vhost padrão.
Eu também achei um script mais bonito aqui que dá informações mais completas sobre os testes de SSL.
fonte
Estava apenas procurando por um desses sites. Com base na resposta da @ AbVog, descobri que minhas diretivas estavam apenas dentro do vhost padrão. Quando mudei as diretrizes para o contexto global, tudo estava bem.
Como um aparte, eu também encontrei https://cipherli.st/, que tem uma boa lista de configurações de SSL para vários pacotes diferentes. A recomendação atual para o apache da seguinte maneira:
fonte
No meu Fedora 25 com cifras Apache / 2.4.25 são tratadas pelas políticas de criptografia (consulte / etc / cryptopolicies / backends). A configuração padrão tem o RC4 completamente desativado, portanto, não é necessário adulterar cifras na configuração do Apache. Exceto por garantir que você use o ssl.conf mais recente, pois ele não está instalado por padrão, mas é deixado como ssl.conf.rpmnew no diretório conf.d.
Para configurar o SSL, eu apenas precisei especificar os certificados, ServerName e DocumentRoot. Para o Squirrelmail, é isso.
fonte