使用漏扫检测时网站扫描出两个TLS/SSL中危漏洞。
漏洞解释:
TLS/SSL Weak Cipher Suites -----TLS/SSL弱密码
TLS/SSL Sweet32 attack------TLS/SSL Sweet32攻击
首先了解下TLS/SSL.
TLS定义
TLS(Transport Layer Security,安全传输层),一种加密协议。TLS是建立在传输层TCP协议之上的协议,服务于应用层,它的前身是SSL(Secure Socket Layer,安全套接字层),以SSL 3.0 作为基础版。它实现了将应用层的报文进行加密后再交由TCP进行传输的功能。
TLS如何工作
TLS可以用于传输层安全协议(例如TCP)之上。TLS包含三个主要组件:加密,身份验证和完整性。
- 加密:隐藏从第三方传输的数据。(通过加密方式实现)
- 认证:确保交换信息的各方是他们声称的身份。(双方认证证书)
- 完整性:验证数据是否未被伪造或篡改。(MAC 地址
TLS 发展过程
- 1995: SSL 2.0, 由Netscape提出,这个版本由于设计缺陷,并不安全,很快被发现有严重漏洞,已经废弃。
- 1996: SSL 3.0. 写成RFC,开始流行。目前(2015年)已经不安全,必须禁用。
- 1999: TLS 1.0. 互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS 1.0版
- 2006: TLS 1.1. 作为 RFC 4346 发布。主要修复了CBC模式相关的如BEAST攻击等漏洞
- 2008: TLS 1.2. 作为 RFC 5246 发布 。增进安全性,目前应该主要部署的版本
- 2015之后: TLS 1.3,还在制订中,支持0-rtt,大幅增进安全性,砍掉了aead之外的加密方式
什么是 SSL
其实就是上面说的 Secure Socket Layer,安全套接字层。位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。
TLS 则是以SSL 3.0 作为基础推出的。
漏洞检测:
一般出现的问题是在ssh和https服务上使用了DES、3DES算法。
使用nmap扫描检测:nmap -sV --script ssl-enum-ciphers -p 443 ip;备注-p (端口为实际端口,例如有些端口为8443),ip为要测试的地址。
解决办法:
1. 禁用SSL 2.0 和 SSL 3.0
Internet Explorer 6是唯一仍使用SSL 3.0的浏览器。因此,除非仍然需要支持旧版Internet Explorer 6浏览器,否则应禁用SSL 3.0。
2. 禁用 TLS 1.0 和 1.1
除非需要支持旧版浏览器,否则还应禁用TLS 1.0和TLS 1.1,或升级到高版本。
3、apache:
禁止apache服务器使用RC4加密算法。
vim /etc/httpd/conf.d/ssl.conf
修改为如下配置 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!RC4:!3DES:!DES
重启apache服务:systemctl restart httpd
4、Nginx:
禁止apache服务器使用RC4加密算法。
vim /etc/nginx/nginx.conf的ssl_ciphers
修改为 ssl_ciphers ALL:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DES:!3DES
重启nginx服务 :systemctl restart nginx.service
5、ssh:
禁用DES、3DES算法。
vim /etc/ssh/ssh_config
修改Ciphers为: Ciphers aes128-ctr,aes192-ctr,aes256-ctr
重启sshd服务:systemctl restart sshd
6、Windows 远程桌面
使用 Windows FIPS 代替 SSL 加密
1)启用 FIPS
操作步骤:管理工具 -> 本地安全策略 -> 安全设置 -> 本地策略 -> 安全选项 -> 找到”系统加密:将 FIPS 兼容算法用于加密、哈希和签名”选项 -> 右键”属性” -> 在”本地安全设置”下,选择”已启用(E)”,点击”应用”、”确定”
2)禁用 SSL 密码套件
操作步骤:’Win + R’,键入”gpedit.msc”,打开”本地组策略编辑器” -> 计算机配置 -> 网络 -> SSL 配置设置 -> 在”SSL密码套件顺序”选项上,右键”编辑” -> 在”SSL 密码套件顺序”选在”已禁用(D)” ,点击”应用”、”确定”
3)删除默认CA认证书
操作步骤:’Win + R’,键入”mmc”,打开”管理控制台” -> ”文件” -> ”添加/删除管理单元(M)” -> 在”可用的管理单元”下选择”证书” -> 单击”添加” -> 在”证书管理单元”中选择”计算机用户(C)”,点击”下一步” -> 在”选择计算机”中选择”本地计算机(运行此控制台的计算机)(L)”,单击”完成” -> 回到”添加/删除管理单元”,单击”确定” -> 回到”控制台” -> ”证书(本地计算机)” -> ”远程桌面” -> ”证书”->在默认证书上右键”删除”
注意事项:
禁用后服务端将不使用 DES/3DES 加密方式,例如IE6、IE7、Windows XP 操作系统将无法访问站点。需根据使用情况禁用。