我正在尝试在我的服务器上获得 A+ 100% ssl 实验室排名。当我拥有 Nginx 时,我可以在配置 (ssl_dhparam) 中设置Diffie Hellman 密钥。
现在我迁移到EnvoyProxy,但找不到指定 Diffie Hellman 密钥的方法。
Envoy 使用BoringSSL而不是OpenSSL。我深入研究了 BoringSSL 的代码,它有 Diffie Hellman 的参考资料,但特使没有。
你认为呢 ?envoy 是否不如其他反向代理安全?
我正在尝试在我的服务器上获得 A+ 100% ssl 实验室排名。当我拥有 Nginx 时,我可以在配置 (ssl_dhparam) 中设置Diffie Hellman 密钥。
现在我迁移到EnvoyProxy,但找不到指定 Diffie Hellman 密钥的方法。
Envoy 使用BoringSSL而不是OpenSSL。我深入研究了 BoringSSL 的代码,它有 Diffie Hellman 的参考资料,但特使没有。
你认为呢 ?envoy 是否不如其他反向代理安全?
经过进一步调查,我发现 BoringSSL 没有实现使用 Diffie Hellman (DH) 的削片机,但这并不意味着它不那么安全或其他什么。
我无法获得 100% 的 SSL 评级,因为目前只有少数“安全”的芯片,而且它们并未在所有旧参考浏览器上实现,所以,我必须处理真实的故事。
由于加密和 MAC 之间的排序存在缺陷,TLS 中的所有 CBC 模式密码都容易受到 Lucky 13 攻击。ECDHE-ECDSA-AES256-SHA384 和 ECDHE-RSA-AES256-SHA384(标准名称是 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 和 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384)将 HMAC-SHA-1 转换为 HMAC-SHA-384,但 SHA-1 不是这些密码的主要问题。
TLS 1.2 中唯一的强密码套件是 ECDHE 与 AEAD 批量密码(基于 AES-GCM 或 ChaCha20-Poly1305)配对。其他一切都是遗留的,应该随着时间的推移逐步淘汰。
这是我的配置:
tls_params:
tls_maximum_protocol_version: TLSv1_3
tls_minimum_protocol_version: TLSv1_2
cipher_suites: [
"ECDHE-RSA-CHACHA20-POLY1305",
"ECDHE-RSA-AES256-GCM-SHA384",
"ECDHE-RSA-AES256-SHA"
]
ecdh_curves: [
"P-256"
]
出于兼容性目的,我保留 ECDHE-RSA-AES256-SHA 的位置。