Eu tenho meu próprio servidor (onde estou executando Apache/2.4.27
) e hoje percebi que (Brave e Google Chrome - computadores diferentes) estou recebendo dos meus sites esse erro;
This site can’t provide a secure connection
mywebsite.com sent an invalid response.
ERR_SSL_PROTOCOL_ERROR
E o estranho é que estou recebendo esse erro a cada quinto clique no meu site.
Do meu arquivo conf:
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/mywebsite/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mywebsite/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/mywebsite/chain.pem
SSLCompression off
de options-ssl-apache.conf
;
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder on
SSLCompression off
Eu verifiquei o arquivo de log do site, mas nada, também nada aqui; /var/log/apache2/error.log
Estou tentando descobrir o que está causando esse erro. Alguma idéia de onde posso encontrar mais informações ou, melhor ainda, como resolver esse problema?
EDITAR:
Se eu tentar openssl s_client -connect mywebsite.com:443
, ele retornará:
Estou a usar: OpenSSL 1.1.0f
CONNECTED(00000003)
...
3073276480:error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac:../ssl/record/ssl3_record.c:469:
OUTRA EDIÇÃO:
Como o @quadruplebucky sugeriu, mudei o options-ssl-apache.conf para:
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLHonorCipherOrder on
SSLCompression off
#SSLSessionTickets off
Também tentei adicionar SSLProtocol all -SSLv2 -SSLv3
ao meu arquivo conf do host virtual e, ao mesmo tempo, mudei algumas coisas aqui;/etc/apache2/mods-available/ssl.conf
#SSLCipherSuite HIGH:!aNULL
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLHonorCipherOrder on
# The protocols to enable.
# Available values: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2
# SSL v2 is no longer supported
SSLProtocol all -SSLv2 -SSLv3
EDITAR:
Depois de alterar o LogLevel, Info
ele retorna:
[Sat Jul 08 13:34:53.374307 2017] [ssl:info] [pid 8710] [client] AH02008: SSL library error 1 in handshake (server mywebsite:443)
[Sat Jul 08 13:34:53.374717 2017] [ssl:info] [pid 8710] SSL Library Error: error:140940F4:SSL routines:ssl3_read_bytes:unexpected message
[Sat Jul 08 13:34:53.374750 2017] [ssl:info] [pid 8710] [client] AH01998: Connection closed to child 1 with abortive shutdown (server mywebsite:443)
EDITAR:
Se eu executar com a opção -crlf, assim:
openssl s_client -crlf -connect mywebsite:443
Não estou recebendo nenhum erro?
Mais uma coisa, se eu alterar o LogLevel para depuração, antes desse erro, estou recebendo o seguinte:
[Tue Jul 11 23:00:38.641568 2017] [core:debug] [pid 26561] protocol.c(1273): [client 188.64.25.162:23165] AH00566: request failed: malformed request line
[Tue Jul 11 23:00:38.641634 2017] [headers:debug] [pid 26561] mod_headers.c(900): AH01503: headers: ap_headers_error_filter()
Então, depois disso, o mesmo erro ocorrerá:
SSL Library Error: error:140940F4:SSL routines:ssl3_read_bytes:unexpected message
openssl version
OpenSSL 1.1.0f 25 May 2017
ssl3*
e SSL3*
no OpenSSL também são usados para TLS (1.0 a 1.2) devido às semelhanças técnicas entre esses protocolos. user134969: 'comprimento muito curto' também nunca deve ser causado por nenhuma configuração. Se isso for repetitivo, tente obter uma s_client -debug
(com RSA comum, -cipher
se você não fez isso no servidor) e captura de wireshark para o mesmo evento, para que possamos olhar para os dados reais da conexão e compará-los com o que o programa vê.