EnvoyProxy、Diffie Hellman Key 和 ssl 安全

EnvoyProxy, Diffie Hellman Key and ssl security

我正在尝试在我的服务器上获得 A+ 100% ssl 实验室排名。 当我有 Nginx 时,我可以在配置中设置 Diffie Hellman key (ssl_dhparam).

现在我迁移到 EnvoyProxy 但我找不到指定 Diffie Hellman 密钥的方法。

Envoy 使用 BoringSSL 而不是 OpenSSL。 我深入研究了 BoringSSL 的代码,它引用了 Diffie Hellman,但 envoy 没有。

你怎么看? Envoy 是否不如其他反向代理安全?

经过进一步调查,我发现 BoringSSL 没有实现使用 Diffie Hellman (DH) 的削片器,但这并不意味着它不太安全。

我无法获得 100% 的 SSL 评级,因为目前只有少数 chippers "secure" 而且它们并未在所有旧参考浏览器上实现,因此,我必须处理真实的故事。

由于加密和 MAC 之间的顺序缺陷,TLS 中的所有 CBC-mode 密码都容易受到 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。