rei*_*bre 14 nginx openssl tls 20.04
我最近将我的服务器重新安装到 Ubuntu 20.04。
几天后,我接到了一个支持电话,我注意到我的 Web 服务器没有提供 TLS v1.0 和 v1.1 nginx。配置很好并且明确启用了 TLSv1 和 TLSv1.1。nginx 的日志中什么也没有出现……
后来,我注意到 TLS 1.0 或 1.1 似乎不再适用。
openssl s_client -tls1 -connect matrix.org:443不起作用(它失败了no protocols available),而它在 Ubuntu 18.04 下起作用。
这个问题的其他人不再能够连接到不支持 TLS v1.2 的 MySQL 服务器。
我开始怀疑这可能是对 Ubuntu 的有意更改,但我在发行说明中找不到任何内容,而且我也无法找到如何重新启用 TLS v1.0 和 v1.1,因为我真的需要它来支持一些老用户的设备(主要是安卓手机)。
如何重新启用 TLS v1.0 和/或 v1.1?
非常感谢。
我尝试修改/etc/ssl/openssl.cnf(符号链接到 by /usr/lib/ssl/openssl.cnf)来添加
openssl_conf = default_conf
[ default_conf ]
ssl_conf = ssl_sect
[ ssl_sect ]
system_default = system_default_sect
[ system_default_sect ]
MinProtocol = TLSv1
DEFAULT@SECLEVEL = 1
Run Code Online (Sandbox Code Playgroud)
使用openssl之前显示的命令时,这并没有导致任何差异(我尝试将 'TLSv1' 和 'TLSv1.0' 作为 MinProtocol)。
我终于找到了如何启用 nginx(恐怕我不知道如何在系统范围内执行此操作)和其他具有允许更改密码的配置的服务。
来源: man ciphers.1ssl
编辑您的 nginx 配置并修改您的密码列表以添加伪密码@SECLEVEL=1。
例子:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
Run Code Online (Sandbox Code Playgroud)
变成
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
# seclevel for TLS 1.0 and 1.1
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:@SECLEVEL=1";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9036 次 |
| 最近记录: |