漏洞介绍:
TLS/SSL介绍:
SSL“安全套接层”协议,TLS“安全传输层”协议,都属于是加密协议,在其网络数据传输中起到保护隐私和数据的完整性。保证该网络传输的信息不会被未经授权的元素拦截或修改,从而确保只有合法的发送者和接收者才能完全访问并传输信息。
SSL3漏洞
2014年10月14号由Google发现的POODLE漏洞,全称是Padding Oracle On Downloaded Legacy Encryption vulnerability,POODLE TLS(CVE-2014-8730),SSL 3.0 POODLE攻击信息泄露漏洞(CVE-2014-3566),POODLE漏洞只对CBC模式的明文进行了身份验证,但是没有对填充字节进行完整性验证,攻击者窃取采用SSL3.0版加密通信过程中的内容,对填充字节修改并且利用预置填充来恢复加密内容,以达到攻击目的。
SSL2漏洞
2016年3月发现的针对TLS的新漏洞攻击——DROWN(Decrypting RSA with Obsolete and Weakened eNcryption,CVE-2016-0800),也即利用过时的、弱化的一种RSA加密算法来解密破解TLS协议中被该算法加密的会话密钥。 具体说来,DROWN漏洞可以利用过时的SSLv2协议来解密与之共享相同RSA私钥的TLS协议所保护的流量。 DROWN攻击依赖于SSLv2协议的设计缺陷以及知名的Bleichenbacher攻击。
主要漏洞介绍:
OpenSSL CCS注入漏洞 (CVE-2014-0224)
在客户端和服务端握手阶段,OpenSSL协议不合时宜地接受密码更换说明(ChangeCipherSpec :CCS),而产生了该漏洞。攻击者可以发起中间人攻击并利用此漏洞篡改或监听SSL加密传输的数据。
Drown跨协议攻击TLS漏洞(CVE-2016-0800)
DROWN漏洞主要利用SSLv2协议的脆弱性对TLS协议进行攻击。攻击者通过中间人攻击等手段截获和解密用户和服务器之间的加密通信,包括但不限于用户名和密码、信用卡号、电子邮件、即时消息,以及敏感文件。在一些常见的场景,攻击者还可以冒充一个安全的网站拦截或篡改用户看到的内容。。
OpenSSL FREAK Attack漏洞(CVE-2015-0204)
攻击者可拦截受影响的客户端与服务器之间的 HTTPS 连接,并强制其使用弱加密。客户端会在一个全安全强度的RSA握手过程中接受使用弱安全强度的出口RSA密钥,其中关键在于客户端并没有允许协商任何出口级别的RSA密码套件。当 TLS/SSL 客户端使用较弱的密钥交换方法时,攻击者可破解正在使用的密钥。攻击者使用破解的密钥,可在通信期间解密窃取数据,甚至恶意操作敏感信息。
Heartbleed (CVE-2014-0160)
主要出现在openSSL处理TLS心跳的过程中,TLS心跳的流程是:A向B发送请求包,B收到包后读取这个包的内容(data),并返回一个包含有请求包内容的响应包。请求包的内容(data)中包含有包的类型(type)和数据长度等信息。
SSL POODLE漏洞(CVE-2014-3566) TLS POODLE(CVE-2014-8730)
该漏洞主要由于ssl3.0引起的,由于TLS填充是SSLv3的一个子集,因此可以使用针对TLS的POODLE攻击,禁用禁止SSL3.0和TLS1.2即可,该漏洞只对CBC模式的明文进行了身份验证,但是没有对填充字节进行完整性验证,攻击者窃取采用SSL3.0版加密通信过程中的内容,对填充字节修改并且利用预置填充来恢复加密内容,发动中间人攻击拦截用户浏览器和HTTPS站点的流量,然后窃取用户的敏感信息,如用户认证的cookies信息、账号信息等。
OpenSSL FREAK Attack漏洞(CVE-2015-0204)
攻击者可拦截受影响的客户端与服务器之间的 HTTPS 连接,并强制其使用弱加密。即客户端会在一个全安全强度的RSA握手过程中接受使用弱安全强度的出口RSA密钥,主要在于客户端并没有允许协商任何出口级别的RSA密码套件。当 TLS/SSL 客户端使用较弱的密钥交换方法时,攻击者可破解正在使用的密钥。攻击者使用破解的密钥,可在通信期间解密窃取数据,甚至恶意操作敏感信息。
SSLv3降级加密协议Openssl Padding Oracle漏洞(CVE-2016-2107)
当浏览器进行HTTPS连接失败的时候,将会尝试使用旧的协议版本,这其中就包括SSL 3.0,于是加密协议由更加安全的协议(比如:TLS 1.0)降级成SSL 3.0。然后利用SSLv3中存在的漏洞,解密得到其数据包的明文信息,而这些明文信息极有可能是用户的隐私数据,比如cookie,这样攻击者就可以拿到这些隐私数据,进行更深层次的攻击。
SSL/TLS RC4算法漏洞(CVE-2015-2808)(CVE-2013-2566)
SSL/TLS内使用的RC4算法存在单字节偏差和在初始化阶段没有正确将状态数据与关键字数据组合安全漏洞,可允许远程攻击者通过分析统计使用大量相同明文的大量会话,利用此漏洞恢复纯文本信息。
TLS协议信息泄露漏洞(CVE-2012-4929)
因SSL压缩造成的安全隐患,通过它可窃取启用数据压缩特性的HTTPS或SPDY协议传输的私密Web Cookie。在成功读取身份验证Cookie后,攻击者可以实行会话劫持和发动进一步攻击。
SSL/TLS LogJam中间人安全限制绕过漏洞 (CVE-2015-4000)
Logjam(CVE-2015-4000) 使用 Diffie-Hellman 密钥交换协议的 TLS 连接很容易受到攻击,尤其是DH密钥中的公钥强度小于1024bits。让有漏洞的TLS连线降级为512-bit出口等级的密码交换安全性,通过为两组弱 Diffie-Hellman 参数预先计算 512 字节质数完成,然后再读取或修改经由TLS加密连线传输的资料。于FREAK相似,但是freak攻击的为rsa算法。
针对Windows Server网上基本有两种方式,一种直觉修改注册表,另一种使用IISCrypto工具直接修改。
https说明:
SSL/TLS 系列中有五种协议:SSL v2,SSL v3,TLS v1.0,TLS v1.1和TLS v1.2:
SSL v2 是不安全的,不能使用。
当与 HTTP(POODLE 攻击)一起使用时,SSL v3 是不安全的,当与其他协议一起使用时,SSL v3 是弱的。它也是过时的,不应该被使用。
TLS v1.0 也是不应该使用的传统协议,但在实践中通常仍然是必需的。其主要弱点(BEAST)在现代浏览器中得到缓解,但其他问题仍然存在。
TLS v1.1 和 v1.2 都没有已知的安全问题,只有 v1.2 提供了现代的加密算法。
TLS v1.2 应该是您的主要协议,因为它是唯一提供现代认证加密(也称为 AEAD)的版本。如果您今天不支持 TLS v1.2,则缺乏安全性。
网址检测:
http://s.tool.chinaz.com/https?url=www.apizl.com
https://myssl.com/www.apizl.com:443?status=success
不安全请求检查报告:
window服务器禁用默认的ssl2.0和ssl3.0只启用启用tls1.2保证安全
工具检测:
testssl 下载地址:git clone https://github.com/drwetter/testssl.sh.git
sslscan (kali自带)
nmap 下载地址:https://nmap.org/download.html
【IIS系列修复方法】
方法一:
1.IISCrypto工具
官方网站地址:https://www.nartac.com/Products/IISCrypto/
下载地址:https://www.nartac.com/Products/IISCrypto/Download
window服务器禁用默认的ssl2.0和ssl3.0只启用启用tls1.2保证安全
IISCrypto
window服务器禁用默认的ssl2.0和ssl3.0只启用启用tls1.2保证安全
踩坑记录:
1)注意如果是 Win2008R2 服务器修改TLS1.0 TLS1.1 关闭,RDP会远程不上,如果是08建议只关闭sslv3!
2)Win2008 7600 非SP1版本需要升级为SP1,08系统会有如下提示:
3) 使用这个工具需要.net4.x的支持
PS: 如果不确定打了这个补丁对你系统的影响尤其是对RDP的影响,建议首先安装一个能远程的替代工具,如Radmin等相关其他远程工具。(尤其是生产环境!!!)
应用设置后就完成了tls1.2的修改!重启就会访问检查就会发现只启用了1.2.其他都已经关闭!
修改完成后检查报告:
window服务器禁用默认的ssl2.0和ssl3.0只启用启用tls1.2保证安全
方法二:
2.以下使用reg自动来修改注册表懒人必备! 注册表方式没有修改成功过。 推荐使用工具!
我们可以新建或使用reg修改
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocols]
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0]
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Client]
"DisabledByDefault"=dword:00000000
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1]
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2]
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server]
"DisabledByDefault "=dword:00000000
"Enabled"=dword:00000001
window服务器禁用默认的ssl2.0和ssl3.0只启用启用tls1.2保证安全
打开reg执行后就会自动修改注册表相关配置。
具体怎么编写看reg编写规则。
window服务器禁用默认的ssl2.0和ssl3.0只启用启用tls1.2保证安全
扩展了解:【Apache系列修复方法】
1.修改配置文件/etc/apache2/mods-availabl/ssl.conf把SSLProtocol一行改成如下:
SSLProtocol all -SSLv2 -SSLv3
重新启动apache服务/etc/init.d/apache2 restart,然后复测。
参考资料:
https://blog.csdn.net/moxun2011/article/details/80416377
https://www.bbsmax.com/A/D8540oQV5E/
https://blog.csdn.net/csacs/article/details/90716413
https://www.jianshu.com/p/0d3a0cf99efc