Ho il mio server (dove sto correndo Apache/2.4.27
), e oggi mi sono reso conto che da (Brave e Google Chrome - computer diversi) ricevo dai miei siti Web questo errore;
This site can’t provide a secure connection
mywebsite.com sent an invalid response.
ERR_SSL_PROTOCOL_ERROR
E la cosa strana è che ricevo questo errore ogni cinque clic sul mio sito Web.
Dal mio file 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
da options-ssl-apache.conf
;
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder on
SSLCompression off
Ho controllato il file di registro dal sito Web ma niente, anche qui nulla; /var/log/apache2/error.log
Sto cercando di capire cosa sta causando questo errore, qualche idea su dove posso trovare maggiori informazioni o anche meglio, come risolvere questo problema?
MODIFICARE:
Se provo openssl s_client -connect mywebsite.com:443
, restituirà:
Sto usando: 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:
UN ALTRO EDIT:
Come suggerito da @quadruplebucky ho cambiato le opzioni-ssl-apache.conf in:
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLHonorCipherOrder on
SSLCompression off
#SSLSessionTickets off
Ho anche provato ad aggiungere SSLProtocol all -SSLv2 -SSLv3
nel mio file conf virtualhost, e nello stesso tempo ho cambiato un paio di cose qui;/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
MODIFICARE:
Dopo aver modificato LogLevel in Info
esso restituisce:
[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)
MODIFICARE:
Se corro con l'opzione -crlf, in questo modo:
openssl s_client -crlf -connect mywebsite:443
Non ricevo alcun errore?
Un'altra cosa se cambio LogLevel in debug, prima di quell'errore ottengo questo:
[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()
Quindi dopo questo accadrà lo stesso errore:
SSL Library Error: error:140940F4:SSL routines:ssl3_read_bytes:unexpected message
openssl version
OpenSSL 1.1.0f 25 May 2017
ssl3*
e SSL3*
in OpenSSL sono usati anche per TLS (da 1.0 a 1.2) a causa delle somiglianze tecniche tra questi protocolli. user134969: 'lunghezza troppo corta' non dovrebbe mai essere causata da nessuna configurazione. Se questo è ripetibile, prova a ottenere un s_client -debug
(con plain-RSA -cipher
se non l'hai fatto sul server) e cattura wireShark per lo stesso evento in modo che possiamo guardare i dati del filo reale e confrontarli con ciò che il programma vede.