Saya memiliki server sendiri (tempat saya menjalankan Apache/2.4.27
), dan hari ini saya menyadari bahwa dari (Berani dan Google Chrome - komputer yang berbeda) saya mendapatkan kesalahan dari situs web saya ini;
This site can’t provide a secure connection
mywebsite.com sent an invalid response.
ERR_SSL_PROTOCOL_ERROR
Dan anehnya, saya mendapatkan kesalahan ini setiap klik kelima di situs web saya.
Dari file conf saya:
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
dari options-ssl-apache.conf
;
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder on
SSLCompression off
Saya telah memeriksa file log dari situs web tetapi tidak ada, juga tidak ada di sini; /var/log/apache2/error.log
Saya mencoba mencari tahu apa yang menyebabkan kesalahan ini, ada ide di mana saya dapat menemukan lebih banyak info atau lebih baik lagi, bagaimana menyelesaikan masalah ini?
EDIT:
Jika saya mencoba openssl s_client -connect mywebsite.com:443
, itu akan kembali:
Saya menggunakan: 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:
EDIT LAIN:
Seperti yang disarankan @quadruplebucky, saya mengubah opsi-ssl-apache.conf menjadi:
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLHonorCipherOrder on
SSLCompression off
#SSLSessionTickets off
Saya juga mencoba menambahkan SSLProtocol all -SSLv2 -SSLv3
ke file conf virtualhost saya, dan pada saat yang sama saya mengubah beberapa hal di sini;/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
EDIT:
Setelah mengubah LogLevel ke Info
dalamnya kembali:
[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)
EDIT:
Jika saya menjalankan dengan opsi -crlf, seperti ini:
openssl s_client -crlf -connect mywebsite:443
Saya tidak mendapatkan kesalahan?
Satu hal lagi jika saya mengubah LogLevel menjadi debug, sebelum kesalahan itu saya mendapatkan ini:
[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()
Jadi setelah ini kesalahan yang sama akan terjadi:
SSL Library Error: error:140940F4:SSL routines:ssl3_read_bytes:unexpected message
openssl version
OpenSSL 1.1.0f 25 May 2017
ssl3*
dan SSL3*
di OpenSSL juga digunakan untuk TLS (1.0 hingga 1.2) karena kesamaan teknis antara protokol-protokol tersebut. user134969: 'panjang terlalu pendek' juga tidak boleh disebabkan oleh konfigurasi apa pun. Jika itu dapat diulang, cobalah untuk mendapatkan s_client -debug
(dengan RSA polos -cipher
jika Anda tidak melakukannya di server) dan penangkapan wireshark untuk acara yang sama sehingga kami dapat melihat data kawat yang sebenarnya dan membandingkannya dengan apa yang dilihat program.