Chrome 浏览器报告过时的密码(AES_256_CBC 和 HMAC-SHA1)

信息安全 tls 铬合金 密码
2021-08-19 20:33:37

Jboss 6 服务器配置为支持这些密码:

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_AES_256_CBC_SHA256,
TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_128_CBC_SHA256,
TLS_RSA_WITH_AES_128_CBC_SHA

但是 Chrome 浏览器报告:

与此站点的连接使用强协议 (TLS 1.2)、强密钥交换 (ECDHE_RSA) 和过时密码 (AES_256_CBC with HMAC-SHA1)

我们应该从服务器配置中删除所有 _SHA 吗?

但是,nmap ssl 扫描显示,它们都是 A 级密码:

$ nmap -p 443 --script ssl-enum-ciphers.nse host-name

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp160k1) - A
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp160k1) - A
TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp160k1) - A
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp160k1) - A
TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
3个回答

问题不是 SHA1,而是 CBC。您需要提供AEAD 密码,例如 GCM 密码或 CHACHA20-POLY1305。来自有关密码套件的 Chromium(Chrome 的基础)项目文档

为避免此消息,请使用 TLS 1.2 并优先使用 AES_128_GCM 或 CHACHA20_POLY1305 的 ECDHE 密码套件。大多数服务器都希望协商 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256。

您不提供任何这些密码,因此您会收到此警告。另请参阅此答案以获取更多详细信息。另请参阅 Chromium 的源代码,值得注意的ObsoleteSSLStatusForCipherSuitenet/ssl/ssl_cipher_suite_names.c中实现此检查的函数。

我认为您的问题出在您使用的证书上。您的证书必须使用良好的密码完成。这就是您看到的 Chrome 消息。这次您需要使用 sha2 和一个好的密码再次颁发证书。

我建议您使用在线工具ssllabs来测试您的网站。它将测试您的证书、您的配置等。它会为您提供一个等级。A+是最好的。它还向您推荐如何着手解决您的问题。一个非常好的工具!

编辑:也许这篇文章可以帮助你

通过重新配置没有 SHA 的 Jboss 密码来修复它。现在 Chrome 没有显示任何安全警告。

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256