1. 安全漏洞
以上是在做项目过程中,发现了Nginx的配置支持了SSL3.0, TLS1.0和TLS1.1等不安全的协议,存在安全隐患。
2. 漏洞修复
登录了服务器,修改Nginx的配置,如果有多套,都需要修复,修改的配置如下:
# 原始配置
**#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;**
# 修复配置
ssl_protocols TLSv1.2 ;
3. 修复后验证
使用工具:Nmap工具
下载地址:https://nmap.org/download
因为我本机是Windows 10,就下载了nmap-7.93-setup.exe使用。
验证的过程如下:
在windows系统下,搜索中输入“cmd”打开命令提示符窗口,输入命令:
nmap --script ssl-enum-ciphers -p (port) (ip address)
结果显示如下:
至此,问题已经修复了,目前只使用了TLS1.2协议。
4. 知识扩展
安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。
该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。
传输层安全性协议(英语:Transport Layer Security,缩写作TLS),及其前身安全套接层(Secure Sockets Layer,缩写作SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。目前已成为互联网上保密通信的工业标准。
SSL包含记录层(Record Layer)和传输层,记录层协议确定传输层数据的封装格式。传输层安全协议使用X.509认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通信两方交换的数据做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。
发展历史: