Nginx禁用TLSv1.0 1.1,改为TLSv1.2 1.3
一、漏洞现象
使用Acunetix工具进行扫描,发现高危漏洞“建议禁用 TLS 1.0 并替换为 TLS 1.2 或更高版本”。
二、解决方案
使用 Mozilla 提供的 在线生成SSL配置工具,根据自己的环境填充对应的参数,自动生成对应环境下的SSL配置。
在线生成SSL配置工具链接:https://ssl-config.mozilla.org/#server=nginx&version=1.23.0&config=intermediate&openssl=1.1.1k&guideline=5.6
根据上面生成的配置,对应修改自己的 nginx.conf 文件。其中最重要的是 ssl_protocols 和 ssl_ciphers 这两项配置。
三、验证是否生效
修改配置后可以用如下方法测试自己的网站配置是否生效。
3.1 方法一
直接用检测网站查看自己网站的安全等级。
这里我是用的是:ssllabs,链接为:https://www.ssllabs.com/ssltest/index.html
在检测结果的 Configuration 里可以查看检测的网站所支持的TLS版本。
3.2 方法二
在Linux中用命令指定TLS协议版本,对网站发起请求进行测试:
#测试是否支持 TLS 1.0
openssl s_client -connect xxx.com:443 -tls1
#测试是否支持 TLS 1.1
openssl s_client -connect xxx.com:443 -tls1_1
#测试是否支持 TLS 1.2
openssl s_client -connect xxx.com:443 -tls1_2
#测试是否支持 TLS 1.3
openssl s_client -connect xxx.com:443 -tls1_3
在返回的结果查看 Secure Renegotiation 是否是 supported 的,是的话表示支持。