
У меня есть тестовый сервер под управлением Centos 6.8, и я не могу избавиться от этого сообщения при запуске теста SSL Labs:https://www.ssllabs.com/ssltest/analyze.html?d=biduno.com&latest
Этот сервер уязвим к уязвимости OpenSSL Padding Oracle (CVE-2016-2107) и небезопасен. Оценка F. Я считаю, что это связано с OpenSSL, а у меня последняя версия OpenSSL 1.1.0c от 10 ноября 2016 г.
Может ли это быть связано с моими шифрами?
SSLProtocol ALL -SSLv2 -SSLv3 SSLCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:AES256-SHA256:!RC4:HIGH:MEDIUM:+TLSv1:+TLSv1.1:+TLSv1.2:!MD5:!ADH:!aNULL:!eNULL:!NULL:!DH:!ADH:!EDH:!AESGCM SSLHonorCipherOrder вкл.
решение1
Ну, вам придется настроить протоколы, шифры и некоторые другие параметры по своему вкусу. Вы также смешиваете протоколы и наборы шифров, что, вероятно, нехорошо.
Вот базовая конфигурация SSL/TLS дляwww.cryptopp.com, который является проектом с открытым исходным кодом, с которым я помогаю. Он работает на CentOS 7 VM и получает оценку "A" в тестах Qualsys. Никто из нас не является экспертом по Apache, поэтому воспринимайте конфигурацию как есть. Мы делаем достаточно, чтобы пользователи не испытывали проблем, но не более того.
Обычно вы хотите что-то вроде "TLS 1.0 и выше" ( SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
) и "Современные наборы шифров" ( SSLCipherSuite HIGH:!aNULL:!kRSA:!MD5:!RC4
). Это !kRSA
означает "без передачи ключей RSA", что фактически оставляет Диффи-Хеллмана и прямую секретность.
Конфигурация также устанавливает заголовок STS ( Strict-Transport-Security
).
# cat /etc/httpd/conf.d/ssl.conf | grep -v '#'
Listen 443 https
SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog
SSLSessionCache shmcb:/run/httpd/sslcache(512000)
SSLSessionCacheTimeout 300
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
<VirtualHost *:443>
SSLEngine on
DocumentRoot "/var/www/html"
ServerName www.cryptopp.com:443
ServerAlias *.cryptopp.com cryptopp.com
ErrorLog logs/error_log
TransferLog logs/access_log
LogLevel warn
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite HIGH:!aNULL:!kRSA:!MD5:!RC4
SSLCertificateFile /etc/pki/tls/certs/cryptopp-com.chain.pem
SSLCertificateKeyFile /etc/pki/tls/private/cryptopp-com.key.pem
SSLCertificateChainFile /etc/pki/tls/certs/cryptopp-com.chain.pem
SSLVerifyClient none
Header set Strict-Transport-Security "max-age=15552001; includeSubdomains;"
</VirtualHost>
Я также предполагаю, что вынетс использованием OpenSSL 1.1.0. Скорее всего, вы используете более старую версию FIPS. Вот из той же CetOS 7 VM:
$ openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
Поддерживающие портируют патчи, так что все, что вы знаете, это то, что (1) вы начали где-то около 1.0.1e, (2) вы на самом деле не знаете, что у вас есть на данный момент, и (3) у вас есть штуковина в стиле Фрекенштейна, собранная по кусочкам.