У меня есть свой собственный сервер (на котором я работаю Apache/2.4.27
), и сегодня я понял, что с (Brave и Google Chrome - разные компьютеры) я получаю с моих сайтов эту ошибку;
This site can’t provide a secure connection
mywebsite.com sent an invalid response.
ERR_SSL_PROTOCOL_ERROR
И странно то, что я получаю эту ошибку каждый пятый клик на моем сайте.
Из моего файла 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
от options-ssl-apache.conf
;
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder on
SSLCompression off
Я проверил файл журнала с сайта, но ничего, здесь тоже ничего нет; /var/log/apache2/error.log
Я пытаюсь выяснить, что является причиной этой ошибки, какие-либо идеи, где я могу найти больше информации или даже лучше, как решить эту проблему?
РЕДАКТИРОВАТЬ:
Если я попытаюсь openssl s_client -connect mywebsite.com:443
, он вернется:
Я использую: 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:
ДРУГОЕ РЕДАКТИРОВАНИЕ:
Как предложил @quadruplebucky, я изменил options-ssl-apache.conf на:
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLHonorCipherOrder on
SSLCompression off
#SSLSessionTickets off
Я также попытался добавить SSLProtocol all -SSLv2 -SSLv3
в свой файл conf Virtualhost, и в то же время я изменил пару вещей здесь;/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
РЕДАКТИРОВАТЬ:
После изменения LogLevel в Info
него возвращается:
[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)
РЕДАКТИРОВАТЬ:
Если я запускаю с опцией -crlf, вот так:
openssl s_client -crlf -connect mywebsite:443
Я не получаю ошибку?
Еще одна вещь, если я изменю LogLevel на debug, до этой ошибки я получаю следующее:
[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()
После этого произойдет та же ошибка:
SSL Library Error: error:140940F4:SSL routines:ssl3_read_bytes:unexpected message
openssl version
OpenSSL 1.1.0f 25 May 2017
ssl3*
и SSL3*
в OpenSSL также используются для TLS (от 1.0 до 1.2) из-за технических сходств между этими протоколами. user134969: 'длина слишком короткая' также никогда не должна вызываться никаким конфигом. Если это повторяется, пожалуйста, попробуйте получить s_client -debug
(с обычным RSA, -cipher
если вы не сделали этого на сервере) и захват Wireshark для того же события, чтобы мы могли посмотреть на фактические данные проводника и сравнить их с тем, что видит программа.