如何删除/禁用 Apache 服务器中的 CBC 密码套件?

6 ssl

我尝试了以下设置来删除 Apache 服务器中的 CBC 密码套件,

SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
SSLHonorCipherOrder on
SSLCompression off
Run Code Online (Sandbox Code Playgroud)

经过一些重新测试后,CBC 密码套件在我的 Apache 中仍然启用。我不确定应该删除/添加哪些套件?

小智 10

这是 Apache 安装使用的 TLS 库 OpenSSL 的一个常见缺陷,它不会用完整的 IANA 名称来命名其密码套件,而是通常使用简化的密码套件,通常会省略所使用的链接模式。这是一个坏主意,我认为他们不会再为新添加的套房这样做。

您的配置仍然需要一些 CBC 套件,例如 ECDHE-ECDSA-AES256-SHA384 实际上是 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384。任何未指定链接模式的 AES 套件都可能在 OpenSSL(以及 Apache)中使用 CBC。

您可以一一搜索它们,检查https://ciphersuite.info/cs/?sort=asc&security=all&singlepage=true&tls=tls12&software=openssl或我推荐的选项,使用 Mozilla SSL 配置生成器快速获取已知的运行良好的配置(https://ssl-config.mozilla.org/)。为了避免生成器包含 CBC 套件,请选择“中级”,因为“旧”设置会包含一些 CBC 套件,以允许非常旧的客户端进行连接。