Apache SSL : "an obsolete key exchange (RSA)"

标签 apache ssl openssl lets-encrypt mod-ssl

我有一个网站 https://warsoftheheroes.eu/它使用 Apache 和 SSL 以及 Let's Encrypt 证书进行托管。在 Chrome/Chromium 浏览器的开发者工具 -> 安全性中,我看到以下消息:

Obsolete Connection Settings

The connection to this site uses a strong protocol (TLS 1.2), an obsolete key exchange (RSA), and a strong cipher (AES_128_GCM).

这是我的 Apache SSL 配置:

<IfDefine SSL>
<IfDefine SSL_DEFAULT_VHOST>
<IfModule ssl_module>
Listen 443

<VirtualHost _default_:443>
    ServerName localhost
    Include /etc/apache2/vhosts.d/default_vhost.include
    ErrorLog /var/log/apache2/ssl_error_log
    <IfModule log_config_module>
            TransferLog /var/log/apache2/ssl_access_log
    </IfModule>
    SSLEngine on
    SSLProtocol ALL -SSLv2 -SSLv3
    SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:HIGH:!RC4:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK
    SSLHonorCipherOrder On
    SSLCertificateFile /home/wof/ssl/fullchain1.pem
    SSLCertificateKeyFile /home/wof/ssl/privkey1.pem
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "/var/www/localhost/cgi-bin">
            SSLOptions +StdEnvVars
    </Directory>
    <IfModule setenvif_module>
            BrowserMatch ".*MSIE.*" \
                    nokeepalive ssl-unclean-shutdown \
                    downgrade-1.0 force-response-1.0
    </IfModule>
    <IfModule log_config_module>
            CustomLog /var/log/apache2/ssl_request_log \
                    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    </IfModule>
</VirtualHost>
</IfModule>
</IfDefine>
</IfDefine>

# vim: ts=4 filetype=apache

我应该在这个配置文件中更改什么才能摆脱这个过时的 key 交换?

最佳答案

根据SSLLabs test您的站点不支持任何 ECDHE 密码,即使您看起来已在服务器配置中配置了这些密码。由于 TLS 1.2 支持(您有)和 ECDHE 支持(您没有)都在 OpenSSL 1.0.1 中添加,我的猜测是您拥有一个不支持 ECC(因此 ECDHE)编译的 OpenSSL 版本。

据我所知,旧版本的 RHEL(以及 CentOS)和 Fedora 出厂时由于专利原因删除了 ECC 支持,因此您可以检查一下您是否正在使用受影响的系统之一。 openssl ciphers -V 的输出为您提供了受支持的密码,您应该检查那里是否支持 ECDHE。

关于 Apache SSL : "an obsolete key exchange (RSA)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43895895/

相关文章:

ssl - 一个域/子域的多个 ssl 证书

ssl - openssl:未知摘要 sha-512

openssl - 如何使用 openssl 创建包含 CRL 分发点的证书?

Gitlab不加载 Assets

apache - 从用户启动 Tomcat

apache - 从 Apache 配置中删除/var/www/icons 别名

c# - 无法发送 HTTP 请求,因为请求已中止。 "Could not create SSL/TLS secure channel"

ssl - gentoo curl ssl - 冲突

OpenSSL:组织名称和非结构化名称有什么区别?

php - Apache/PHP 下载 index.php 而不是显示..?