这个问题是关于ssl_prefer_server_ciphers
在配置 nginx 时设置正确的值。
根据 Mozilla 建议的一个相当典型的配置,该值应该是off
(来源:https : //ssl-config.mozilla.org/#server=nginx&server-version=1.17.7&config=intermediate&openssl-version=1.0.1g)。
根据 nginx 自己的文档,应该始终将其设置为on
:https : //www.nginx.com/blog/nginx-https-101-ssl-basics-getting-started/(在文档中搜索ssl_prefer_server_ciphers
)。
我不知道该遵循哪些建议。这两个来源都非常可靠。
一些行业专家能否就何时应该转off
,以及何时转on
?也很想知道原理。
Ter*_*nen 31
当ssl_prefer_server_ciphers
设置为on
,Web服务器拥有者可以控制其密码是可用的。
首选此控制的原因是 SSL、TLS v1.0 和 TLS v1.1 中可用的旧密码和不安全密码。
当服务器支持旧 TLS 版本并ssl_prefer_server_ciphers
关闭时,攻击者可以干扰握手并强制连接使用弱密码,从而允许解密连接。
弱密码套件在 TLS v1.2 和 v1.3 中已被弃用,这消除了服务器指定首选密码的需要。
现代设置中的首选设置是ssl_prefer_server_ciphers off
,因为这样客户端设备就可以根据客户端设备的硬件功能选择他喜欢的加密方法。
例如,如果移动设备没有 AES 加速,它可以选择使用 ChaCha 密码以获得更好的性能。
小智 2
好的,所以选择此参数的打开或关闭分为三个类别。
**Modern** : Services with clients that support TLS 1.3 and don't need backward compatibility
**Intermediate** : General-purpose servers with a variety of clients, recommended for almost all systems
**Old** : Compatible with a number of very old clients, and should be used only as a last resort
Run Code Online (Sandbox Code Playgroud)
唯一需要推迟此参数的情况是现代配置,您不需要任何向后兼容性,在这种情况下,客户端将无法与除 tlsv1.3 之外的旧 ssl/tls 连接。
归档时间: |
|
查看次数: |
7565 次 |
最近记录: |