我已经使用 SSL 设置了 nginx。一切运行正常,在线工具为域名提供了良好的评分。
现在我对一个特定的 nginx 配置选项感到疑惑;ssl_dh参数。我应该生成并设置这些参数吗?这对 SSL 的安全性或计算负载有影响吗?
答案1
我应该生成并设置这些参数吗?
是的。
它对 SSL 的安全性有影响吗?
是的,当启用完美前向保密。 一个合适的 密码套件还必须进行配置。
如果将来有攻击者破坏了你的 TLS,增强体质他们拦截并保留的过去的流量仍然无法解密。
生成 DHE 素数 不小于比 SSL 证书 RSA 私钥更安全。给定一个 2048 位私钥:
$ openssl dhparam -out dhparam.pem 2048
Generating DH parameters, 2048 bit long safe prime, generator 2
..+..+...............+
它对 ssl 的计算负载有影响吗?
没什么可担心的。
- TLS 速度慢的传统观点已经过时
- 优势增强体质值得付出代价
- TLS现代 CPU 可以很好地处理;与 TLS 总成本相比,添加 DH 的成本增量很小
- 此成本仅在 TLS 握手期间产生;经过良好调整的 TLS 很少进行握手,或者以其他方式降低成本恢复会话,抢跑,OCSP 装订, 和更多的
2014 年 Google I/O 大会圆满成功无处不在的 HTTPS演讲广泛地涵盖了这些主题及其相关主题。
答案2
Diffie Helman 是一种很好的密钥交换算法,但它需要太多的计算时间,从而减慢了网站速度。我建议使用RC4-SHA
比 DH 弱但能达到目的的算法。如果有帮助,google.com 使用RC4-SHA
。您可以使用以下命令查看任何网站的算法:
openssl s_client -host HOSTNAME -port 443
我建议您查看其他与您类似的网站使用的密钥交换和加密类型,并使用合适的算法。
另请阅读这关于同一主题的文章。