下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

SSL的安全漏洞以及如何解决

作者:课课家教育     来源: http://www.kokojia.com点击数:3449发布时间: 2019-03-07 14:25:41

标签: SSL安全漏洞CA机构

  当你在互联网上访问某些网站的时候,此时在浏览器窗口的下方有一个锁的小图标,说明该网页被SSL保护着。那SSL防护的网站真的能够防范黑客?目前很多人对SSL存在一个认识误区:SLL很安全,受到SSL防护网页服务器的资料就是万无一失的这也导致一个局面就是只要有着SSL防护的网站服务器很少接受审查以及检测。其实不然,对于安全要求不甚高的交易或认证,SSL还是一个相当不错的安全机制,然而若应用在特殊要求方面,它还是存在这样或那样的问题。下面为大家介绍SSL存在的安全漏洞以及如何解决,希望对大家能有所帮助。

  一、认识SSL

  SSL(Secure Sockets Layer,安全套接层)是被设计用来保护传输中的资料,它的任务是把在网页以及服务器之间的数据传输加密起来。这个加密(encryption)的措施能够防止资料窃取直接看到传输中的资料,像是密码或者信用卡号码等等。谈到SSL,就必须了解一下数字证书(Digital Certificates)的概念。

  数字证书是一种能够在完全开放系统中准确标识某些主体的机制。一个数字证书包含的信息必须能鉴定用户身份,确保用户就是其所持有证书中声明的用户。除了唯一的标识信息外,数字证书还包含了证书所有者的公共密码等机密信息被发送出去前让用户确切知道通讯的另一端的身份是毫无疑问的重要的。很明显的,SSL技术提供了有效的认证。然而大多数用户并未能正确意识到通过SSL进行安全连接的必需性。除非越来越多的用户了解SSL和安全站点的基本知识,否则SSL仍不足以成为保护用户网络连接的必需技术。除非用户能够充分意识到访问站点时应该注意安全连接标识,否则现有的安全技术仍不能称为真正有效。

  目前几乎所有处理具有敏感的资料,财务资料或者要求身份认证的网站都会使用SSL加密技术(当你看到https在你网页浏览器上的url出现时,你就是正在使用具有SSL保护的网页服务器。)。在这里我把SSL比喻成是一种在浏览器跟网络服务器之间“受密码保护的导管”(cryptographic pie),也就是我们常说的安全通道。这个通道把使用者以及网站之间往返的资料加密起来。但是SSL并不会消除或者减弱网站将所受到的威胁性。在SSL这个安全通道的背后,一般没有受到SSL防护的网站一样具备了相同的网页服务器程序,同样的网页应用程序,CGI的scrip以及后端数据库。目前普遍存在一个错误的认识:很多系统管理者认为,受到SSL防护的网页服务器自动变得很安全。其实不然,事实上,受到SSL防护的网页服务器同样还是会受到与一般其它网站服务器遭受攻击的威胁,受到SSL防护的网页服务器不一定是万无一失的。

  二、SSL的安全漏洞

  虽然一个网站可能使用了SSL安全技术,但并不是说该网站中正在输入和以后输入的数据也是安全的。SSL常见的安全问题有下面三种:

  1、攻击证书

  类似Verisign之类的公共CA机构并不是可靠的,系统管理员经常犯得的错误是过于信任Verisign等的公共CA机构。例如,如果Verisign发放一个证书说我是“某某某”,系统管理员很可能就会相信“我是某某某”。但是,对于用户的证书。公共CA机构可能不像对网站数字证书那样重视和关心其准确性。例如,Verisign发放了一个“keyman”组织的证书。而我是其中一员“JACK”。当一个网站要求认证用户身份时,我们提交了“JACK”的证书。你可能会对其返回的结果大吃一惊。更为严重的是,由于微软公司的IIS服务器提供来了“客户端证书映射”(Client Certificate Mapping)功能,用于将客户端提交证书中的名字映射到NT系统账户,在这种情况下,我们能够获得该主机的系统管理特权!

  如果黑客不能利用上面的非法的证书突破服务器,他们可以尝试暴力攻击客户端认证,黑客编辑一个可能的用户名字列表,然后为每一个名字向CA机构申请证书。每一个证书都用于尝试获取访问权限。用户名的选择越好,其中一个证书被认可的可能性就越高。暴力攻击证书的方便之处在于仅需要猜测一个有效的用户名。而不是猜测用户名和口令。

  2、窃取证书

  除上面的方法外,黑客还可能窃取有效的证书及相应的私有密钥。最简单的方法是利用特洛伊木马。这种攻击几乎可使客户端证书形同虚设。它攻击的是证书的一个根本性弱点:私有密钥—整个安全系统的核心—经常保存不存在的地方。对付这些攻击的唯一方法或许是证书保存到智能卡或令牌之类的设备中。

  3、安全盲点

  系统管理员没办法使用现有的安全漏洞扫描(vulnerability scanner)或者网络入侵侦测系统(intrusion detection system,IDS),来审查或监控网络上的SSL交易。网络入侵侦测系统都是通过检测网络传输来寻找没有经过认证的活动。任何符合已知的攻击模式或者并未经过政策上授权的网络活动都是被标起来以供系统管理者检视。而要让IDS能够发生作用IDS必须能够检视所有的网络流量信息,但是SSL的加密技术却使得通过http传输的信息无法让IDS辨认。再者,虽然我们经过SSL保护的服务器,受到SSL保护的网页服务器的确拥有一般服务器同样的网页服务器。没有网络监测系统再加上没有安全漏洞审查,使得最重要的服务器反而成为最少防护的服务器。

  三、解决步骤

  1、SSL证书

  SSL证书是SSL安全的重要组成部分,并指示用户网站是否可信。基于此,SSL必须是从可靠的证书颁发机构(CA)获取,而且CA市场份额越来越大,因为这意味着证书被撤销的几率更低。企业不应该依靠自签名证书。企业最好选择采用SHA-2散列算法的证书,因为目前这种算法还没有已知漏洞。

  扩展验证(EV)证书提供了另一种方法来提高对网站安全的信任度。大多数浏览器会将具有EV证书的网站显示为安全绿色网站,这为最终用户提供了强烈的视觉线索,让他们知道该网站可安全访问。

  2、禁用过时的SSL版本

  较旧版本的SSL协议是导致SSL安全问题的主要因素。SSL 2.0早就遭受攻击,并应该被禁用。而因为POODLE攻击的发现,SSL 3.0 现在也被视为遭受破坏,且不应该被支持。web服务器应该配置为在第一个实例中使用TLSv1.2,这提供了最高的安全性。现代浏览器都支持这个协议,运行旧浏览器的用户则可以启用TLS 1.1和1.0支持。

  3、禁用弱密码

  少于128位的密码应该被禁用,因为它们没有提供足够的加密强度。这也将满足禁用输出密码的要求。RC4密码应该被禁用,因为它存在漏洞容易受到攻击。

  理想情况下,web服务器应该配置为优先使用ECDHE密码,启用前向保密。该选项意味着,即使服务器的私钥被攻破,攻击者将无法解密先前拦截的通信

  4、禁用客户端重新协商

  重新协商允许客户端和服务器阻止SSL交流以重新协商连接的参数。客户端发起的重新协商可能导致拒绝服务攻击,这是严重的SSL安全问题,因为这个过程需要服务器端更多的处理能力。

  5、禁用TLS压缩

  CRIME攻击通过利用压缩过程中的漏洞,可解密部分安全连接。而禁用TLS压缩可防止这种攻击。另外要注意,HTTP压缩可能被TIME和BREACH攻击利用;然而,这些都是非常难以完成的攻击。

  6、禁用混合内容

  应该在网站的所有区域启用加密。任何混合内容(即部分加密,部分未加密)都可能导致整个用户会话遭攻击。

  7、安全cookie和HTTP严格传输安全(HSTS)

  确保所有控制用户会话的cookie都设置了安全属性;这可防止cookie通过不安全的连接被暴力破解和拦截。与此类似,还应该启用HSTS以防止任何未加密连接。

  需要注意的是,SSL并不能够防护你的网站安全。它仅仅防护使用者的网页服务器以及目标网站之间的点对点数据链路,网页服务器跟后端的网页应用软件,仍旧会受到跟一般没有SSL防护的网站同样的攻击威胁;还要虽然SSL会使网络黑客很难用目前已知的攻击模式直接攻击SSL防护网站,不过,这些防卫仍旧是有可能用诸如SSL proxy等工具来加以突破,然而,相同的技术却也可以被用来监视以及审查系统的安全漏洞。今天对SSL的安全漏洞以及解决步骤就介绍到这,还有疑问朋友可以登录课课家教育后关注公众号【课课家IT精品课程】给我们留言!

赞(14)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程