Estou usando o certificado SSL emitido pelo Go Daddy.
Na minha instância do Linux, seguem os detalhes do software: -
- Versão do Apache - Apache / 2.4.16 (Amazon)
- Versão Openssl - OpenSSL 1.0.1k-fips 8 de janeiro de 2015
- mod_ssl version - mod_ssl-2.4.2
Nota: - Eu instalo o Apache a partir do pacote RPM e depois instalo o mod_ssl e o openssl do pacote rpm.
1) O problema é que quando eu desabilito o SSLv3 e testo o servidor SSL do link ele me avisa que " este servidor não suporta TLSv1.2, que é o melhor atualmente " e quando eu habilito o protocolo TLSv1.2, o mesmo teste me avisa sobre " Este servidor suporta o protocolo SSLv3 e vulnerável ao ataque Poodle "
Como desativar o SSLv3 e ativar o TLSv1.2 ao mesmo tempo no servidor?
A configuração atual do meu arquivo Vhost sobre o SSL é:
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-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-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder on
2) Não consigo criar um grupo Strong Diffie-Hellman. Current é um grupo Diffie-Hellman de 1024 bits e deseja criar um grupo de 2048 bits para o site.
Eu emito este comando para gerar a chave de 2048 bits: -
openssl dhparam -out dhparams.pem 2048
e minha configuração no VHost é:
SSLOpenSSLConfCmd DHParameters /etc/httpd/dhparams.pem
quando eu reiniciar a mensagem de erro do servidor:
Invalid command 'SSLOpenSSLConfCmd', perhaps misspelled or defined by a module not included in the server configuration
Como resolver esse problema?
Saída do comando openssl s_client -connect 127.0.0.1:443 -tls1_2 -msg
quando o SSLv3 está ativado: -
CONNECTED(00000003)
>>> ??? [length 0005]
>>> TLS 1.2 Handshake [length 0138], ClientHello
<<< ??? [length 0005]
<<< TLS 1.2 Handshake [length 003a], ServerHello
<<< ??? [length 0005]
<<< TLS 1.2 Handshake [length 12a7], Certificate
depth=3 C = US, O = "The Go Daddy Group, Inc.", OU = Go Daddy Class 2
Certification Authority
verify error:num=19:self signed certificate in certificate chain
<<< ??? [length 0005]
<<< TLS 1.2 Handshake [length 020f], ServerKeyExchange
<<< ??? [length 0005]
<<< TLS 1.2 Handshake [length 0004], ServerHelloDone
>>> ??? [length 0005]
>>> TLS 1.2 Handshake [length 0086], ClientKeyExchange
>>> ??? [length 0005]
>>> TLS 1.2 ChangeCipherSpec [length 0001]
>>> ??? [length 0005]
>>> TLS 1.2 Handshake [length 0010], Finished
<<< ??? [length 0005]
<<< TLS 1.2 Handshake [length 00ca]???
<<< ??? [length 0005]
<<< TLS 1.2 ChangeCipherSpec [length 0001]
<<< ??? [length 0005]
<<< TLS 1.2 Handshake [length 0010], Finished
saída do comando openssl s_client -connect 127.0.0.1:443 -ssl3 -msg
com SSLv3 desativado: -
>>> ??? [length 0005]
>>> SSL 3.0 Handshake [length 0099], ClientHello
<<< ??? [length 0005]
<<< SSL 3.0 Alert [length 0002], fatal handshake_failure
Saída do comando openssl s_client -connect 127.0.0.1:443 -tls1_2 -msg
quando o SSLv3 está desativado: -
CONNECTED(00000003)
>>> ??? [length 0005]
>>> TLS 1.2 Handshake [length 0138], ClientHello
<<< ??? [length 0005]
>>> ??? [length 0005]
>>> TLS 1.0 Alert [length 0002], fatal protocol_version
Erro de depuração SSL Efetua o login no Apache para o comando openssl s_client -connect 127.0.0.1:443 -tls1_2 -msg
quando o SSLv3 está desativado: -
[Tue Nov 24 07:50:13.019993 2015] [ssl:info] [pid 6419] [client 127.0.0.1:32836] AH01964: Connection to child 2 established (server site1.example.com:443)
[Tue Nov 24 07:50:13.023693 2015] [ssl:info] [pid 6419] [client 127.0.0.1:32836] AH02008: SSL library error 1 in handshake (server site1.example.com:443)
[Tue Nov 24 07:50:13.023752 2015] [ssl:info] [pid 6419] SSL Library Error: error:1409442E:SSL routines:SSL3_READ_BYTES:tlsv1 alert protocol version (SSL alert number 70)
[Tue Nov 24 07:50:13.023789 2015] [ssl:info] [pid 6419] [client 127.0.0.1:32836] AH01998: Connection closed to child 2 with abortive shutdown (server site1.example.com:443)