ssl弱加密算法漏洞(ssl弱加密算法漏洞怎么办)
ssl2048漏洞怎么修复
处理办法
1. 禁用SSL 2.0 和 SSL 3.0
SSL 2.0是SSL的第一个公开版本。它于1995年发布。此版本的SSL包含多个安全问题。1996年,对协议进行了完全重新设计,并发布了SSL 3.0。
由于安全问题,SSL 2.0协议不安全,您应该完全禁用它。由于存在POODLE(在降级的传统加密上填充Oracle)漏洞,SSL 3.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。PCI DSS(支付卡行业数据安全标准)指定从2018年6月30日起,将不再使用TLS 1.0。它还强烈建议您禁用TLS 1.1。这些协议可能会受到诸如FREAK,POODLE,BEAST和CRIME之类的漏洞的影响。如果您仍然必须支持TLS 1.0,请禁用TLS 1.0压缩以避免CRIME攻击。
您还应该禁用弱密码,例如DES和RC4。DES可能会在几个小时内损坏,并且发现RC4比以前认为的要弱。过去,建议使用RC4作为减轻BEAST攻击的一种方法。但是,由于对RC4的最新攻击,Microsoft已发布了针对它的公告。PCI DSS还禁止使用RC4批量密码。
如果禁用TLS 1.0和TLS 1.1,则以下用户代理及其旧版本可能会受到影响(不同操作系统上的特定用户代理版本可能会有所不同)。
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)
Windows server 2008或2012、2016远程桌面服务SSL加密默认是开启的,且有默认的CA证书。由于SSL/ TLS自身存在漏洞缺陷,当开启远程桌面服务,使用漏洞扫描工具扫描,发现存在SSL/TSL漏洞。
例如如下漏洞:
1、登录服务器,打开windows powershell,运行gpedit.msc,打开“本地组策略编辑器”。
2、打开“本地组策略编辑器”-“计算机配置”-“管理模板”-“网络”-“SSL配置设置”, 在“SSL密码套件顺序”选项上,右键“编辑”。
3、在“SSL密码套件顺序”选在“已启用(E)” ,在“SSL密码套件”下修改SSL密码套件算法,仅保留TLS 1.2 SHA256 和 SHA384 密码套件、TLS 1.2 ECC GCM 密码套件。
删除原有内容替换为:
修改后,点击“应用”、“确定”,即可。
4、重启服务器即可。
ssl漏洞是什么
您说的应该是前不久OpenSSL曝光的漏洞:
OpenSSL 受漏洞影响版本的分布
根据已经公开的信息,该漏洞影响分布情况如下。
1、OpenSSL 1.0.1f (受影响)
2、OpenSSL 1.0.2-beta (受影响)
3、OpenSSL 1.0.1g (不受影响)
4、OpenSSL 1.0.0 branch (不受影响)
5、OpenSSL 0.9.8 branch (不受影响)
OpenSSL 防漏的处置建议如下两种方法:
1:升级到OpenSSL最新版本OpenSSL1.0.1g或更高
最新OpenSSL库URL:
2:如果客户的web服务器OpenSSL库不方便或不能升级到最新的OpenSSL包,要求客户重新编译原有的OpenSSL库,编译时添加这个参数(把心跳模块去掉): with -DOPENSSL_NO_HEARTBEATS
网络检测相关方法
通用Snort规则检测
由于众所周知的SSL协议是加密的,我们目前没有找到提取可匹配规则的方法,我们尝试编写了一条基于返回数据大小的检测规则,其有效性我们会继续验证,如果有问题欢迎反馈。
alert tcp $EXTERNAL_NET any - $HOME_NET 443 (msg:"openssl
Heartbleed attack";flow:to_server,established; content:"|18 03|";
depth: 3; byte_test:2, , 200, 3, big; byte_test:2, , 16385, 3,
big; threshold:type limit, track by_src, count 1, seconds 600;
reference:cve,2014-0160; classtype:bad-unknown; sid:20140160; rev:2;)
Snort规则说明:此次漏洞主要针对的SSL协议。是针对心跳数据包前4个字节中包含\x18\x03,而在数据包第5个字节和第6个字节的数值按大尾
模式转化成数值在200和16385之间,在后面则是一些报警和过滤功能,日志记录里,每10分钟记录一次。
问:升级OpenSSL修复好漏洞后,是否还存在隐患?
答:在OpenSSL漏洞存在并被攻击时,通过漏洞利用工具发送数据后,确实可以获取到带有敏感信息的内存内容。例如:用户的
cookie信息、内网IP地址、用户名、密码、手机号、信箱等。如攻击者利用此漏洞对网络交易、证券、银行等网络进行攻击,那么将有可能获取到用户名、
密码、银行账号等敏感信息,等同于没有做SSL加密的明文传输。再次提醒网站管理员和使用SSL协议连接网站的用户请尽快按照我们的处置建议进行操作。如
此分析,说明只能保证修复之后平台是非常安全的,但在升级OpenSSL修复好漏洞前被攻击泄露的客户信息是无法保障的。
问:本次漏洞是否与SSL证书有关
答:本次OpenSSL漏洞问题与任何SSL证书都无关,具体产生的原因可以访问OpenSSL官网。
有关OpenSSL问题还有任何不清楚的地方可与深圳维瑞的技术人员联系。
参考资料:
常见的几种SSL/TLS漏洞及攻击方式
SSL/TLS漏洞目前还是比较普遍的,首先关闭协议:SSL2、SSL3(比较老的SSL协议)配置完成ATS安全标准就可以避免以下的攻击了,最新的服务器环境都不会有一下问题,当然这种漏洞都是自己部署证书没有配置好导致的。
Export 加密算法
Export是一种老旧的弱加密算法,是被美国法律标示为可出口的加密算法,其限制对称加密最大强度位数为40位,限制密钥交换强度为最大512位。这是一个现今被强制丢弃的算法。
Downgrade(降级攻击)
降级攻击是一种对计算机系统或者通信协议的攻击,在降级攻击中,攻击者故意使系统放弃新式、安全性高的工作方式,反而使用为向下兼容而准备的老式、安全性差的工作方式,降级攻击常被用于中间人攻击,讲加密的通信协议安全性大幅削弱,得以进行原本不可能做到的攻击。 在现代的回退防御中,使用单独的信号套件来指示自愿降级行为,需要理解该信号并支持更高协议版本的服务器来终止协商,该套件是TLS_FALLBACK_SCSV(0x5600)
MITM(中间人攻击)
MITM(Man-in-the-MiddleAttack) ,是指攻击者与通讯的两端分别创建独立的联系,并交换其所有收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个对话都被攻击者完全控制,在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。一个中间人攻击能成功的前提条件是攻击者能够将自己伪装成每个参与会话的终端,并且不被其他终端识破。
BEAST(野兽攻击)
BEAST(CVE-2011-3389) BEAST是一种明文攻击,通过从SSL/TLS加密的会话中获取受害者的COOKIE值(通过进行一次会话劫持攻击),进而篡改一个加密算法的 CBC(密码块链)的模式以实现攻击目录,其主要针对TLS1.0和更早版本的协议中的对称加密算法CBC模式。
RC4 加密算法
由于早期的BEAST野兽攻击而采用的加密算法,RC4算法能减轻野兽攻击的危害,后来随着客户端版本升级,有了客户端缓解方案(Chrome 和 Firefox 提供了缓解方案),野兽攻击就不是什么大问题了。同样这是一个现今被强制丢弃的算法。
CRIME(罪恶攻击)
CRIME(CVE-2012-4929),全称Compression Ratio Info-leak Made Easy,这是一种因SSL压缩造成的安全隐患,通过它可窃取启用数据压缩特性的HTTPS或SPDY协议传输的私密Web Cookie。在成功读取身份验证Cookie后,攻击者可以实行会话劫持和发动进一步攻击。
SSL 压缩在下述版本是默认关闭的: nginx 1.1.6及更高/1.0.9及更高(如果使用了 OpenSSL 1.0.0及更高), nginx 1.3.2及更高/1.2.2及更高(如果使用较旧版本的 OpenSSL)。
如果你使用一个早期版本的 nginx 或 OpenSSL,而且你的发行版没有向后移植该选项,那么你需要重新编译没有一个 ZLIB 支持的 OpenSSL。这会禁止 OpenSSL 使用 DEFLATE 压缩方式。如果你禁用了这个,你仍然可以使用常规的 HTML DEFLATE 压缩。
Heartbleed(心血漏洞)
Heartbleed(CVE-2014-0160) 是一个于2014年4月公布的 OpenSSL 加密库的漏洞,它是一个被广泛使用的传输层安全(TLS)协议的实现。无论是服务器端还是客户端在 TLS 中使用了有缺陷的 OpenSSL,都可以被利用该缺陷。由于它是因 DTLS 心跳扩展(RFC 6520)中的输入验证不正确(缺少了边界检查)而导致的,所以该漏洞根据“心跳”而命名。这个漏洞是一种缓存区超读漏洞,它可以读取到本不应该读取的数据。如果使用带缺陷的Openssl版本,无论是服务器还是客户端,都可能因此受到攻击。
POODLE漏洞(卷毛狗攻击)
2014年10月14号由Google发现的POODLE漏洞,全称是Padding Oracle On Downloaded Legacy Encryption vulnerability,又被称为“贵宾犬攻击”(CVE-2014-3566),POODLE漏洞只对CBC模式的明文进行了身份验证,但是没有对填充字节进行完整性验证,攻击者窃取采用SSL3.0版加密通信过程中的内容,对填充字节修改并且利用预置填充来恢复加密内容,以达到攻击目的。
TLS POODLE(TLS卷毛狗攻击)
TLS POODLE(CVE-2014-8730) 该漏洞的原理和POODLE漏洞的原理一致,但不是SSL3协议。由于TLS填充是SSLv3的一个子集,因此可以重新使用针对TLS的POODLE攻击。TLS对于它的填充格式是非常严格的,但是一些TLS实现在解密之后不执行填充结构的检查。即使使用TLS也不会容易受到POODLE攻击的影响。
CCS
CCS(CVE-2014-0224) 全称openssl MITM CCS injection attack,Openssl 0.9.8za之前的版本、1.0.0m之前的以及1.0.1h之前的openssl没有适当的限制ChangeCipherSpec信息的处理,这允许中间人攻击者在通信之间使用0长度的主密钥。
FREAK
FREAK(CVE-2015-0204) 客户端会在一个全安全强度的RSA握手过程中接受使用弱安全强度的出口RSA密钥,其中关键在于客户端并没有允许协商任何出口级别的RSA密码套件。
Logjam
Logjam(CVE-2015-4000) 使用 Diffie-Hellman 密钥交换协议的 TLS 连接很容易受到攻击,尤其是DH密钥中的公钥强度小于1024bits。中间人攻击者可将有漏洞的 TLS 连接降级至使用 512 字节导出级加密。这种攻击会影响支持 DHE_EXPORT 密码的所有服务器。这个攻击可通过为两组弱 Diffie-Hellman 参数预先计算 512 字节质数完成,特别是 Apache 的 httpd 版本 2.1.5 到 2.4.7,以及 OpenSSL 的所有版本。
DROWN(溺水攻击/溺亡攻击)
2016年3月发现的针对TLS的新漏洞攻击——DROWN(Decrypting RSA with Obsolete and Weakened eNcryption,CVE-2016-0800),也即利用过时的、弱化的一种RSA加密算法来解密破解TLS协议中被该算法加密的会话密钥。 具体说来,DROWN漏洞可以利用过时的SSLv2协议来解密与之共享相同RSA私钥的TLS协议所保护的流量。 DROWN攻击依赖于SSLv2协议的设计缺陷以及知名的Bleichenbacher攻击。
通常检查以下两点服务器的配置
服务器允许SSL2连接,需要将其关闭。
私钥同时用于允许SSL2连接的其他服务器。例如,Web服务器和邮件服务器上使用相同的私钥和证书,如果邮件服务器支持SSL2,即使web服务器不支持SSL2,攻击者可以利用邮件服务器来破坏与web服务器的TLS连接。
Openssl Padding Oracle
Openssl Padding Oracle(CVE-2016-2107) openssl 1.0.1t到openssl 1.0.2h之前没有考虑某些填充检查期间的内存分配,这允许远程攻击者通过针对AES CBC会话的padding-oracle攻击来获取敏感的明文信息。
强制丢弃的算法
aNULL 包含了非验证的 Diffie-Hellman 密钥交换,这会受到中间人(MITM)攻击
eNULL 包含了无加密的算法(明文)
EXPORT 是老旧的弱加密算法,是被美国法律标示为可出口的
RC4 包含的加密算法使用了已弃用的 ARCFOUR 算法
DES 包含的加密算法使用了弃用的数据加密标准(DES)
SSLv2 包含了定义在旧版本 SSL 标准中的所有算法,现已弃用
MD5 包含了使用已弃用的 MD5 作为哈希算法的所有算法
什么是ssl SSL是哪个公司开发的
1、SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
2、Netscape(网景通信公司)在1994年创建了SSL协议的原始规范,但是第一个SSL协议版本因为使用弱加密算法受到密码学界的质疑,所以从来没有公开发布过。Netscape在1995年2月修订了规范,并发布了一个大大改进的版本SSL 2.0协议,虽然SSL 2.0版本被认为是一个相当强大和健壮的协议,但仍存在一些易受攻击的漏洞。
SSH&SSL弱加密算法漏洞修复
一、SSH
SSH的配置文件中加密算法没有指定,默认支持所有加密算法,包括arcfour,arcfour128,arcfour256等弱加密算法。
修改SSH配置文件,添加加密算法:
vi /etc/ssh/sshd_config
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
最后面添加以下内容(去掉arcfour,arcfour128,arcfour256等弱加密算法):
ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。
保存文件后重启SSH服务:
service sshd restart or? service ssh restart
验证
ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc server
ssh -vv -oMACs=hmac-md5 server
二、SSL
修改SSL配置文件中的的SSL Cipher参数
1、禁止apache服务器使用RC4加密算法
vi /etc/httpd/conf.d/ssl.conf
修改为如下配置
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!RC4
重启apache服务
2、关于nginx加密算法
1.0.5及以后版本,默认SSL密码算法是HIGH:!aNULL:!MD5
0.7.65、0.8.20及以后版本,默认SSL密码算法是HIGH:!ADH:!MD5
0.8.19版本,默认SSL密码算法是? ? ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM
0.7.64、0.8.18及以前版本,默认SSL密码算法是ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
低版本的nginx或没注释的可以直接修改域名下ssl相关配置为
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES
256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GC
M-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_prefer_server_ciphers on;
需要nginx重新加载服务