• 热门专题

OpenSSLDROWN溺亡漏洞的检测及修复方法

作者:  发布日期:2016-03-07 20:38:15
Tag标签:漏洞  方法  
  • 一、漏洞描述: 现在流行的服务器和客户端使用TLS加密,SSL和TLS协议保证用户上网冲浪,购物,即时通信而不被第三方读取到。DROWN(溺亡)漏洞允许攻击者破坏这个加密体系,通过“中间人劫持攻击”读取或偷取敏感通信,包括密码,信用卡帐号,商业机密,金融数据等。

    二、漏洞影响:
    大部分支持SSLv2的服务器均会受到该漏洞影响,比如启用了ssl、tls加密的web服务器、邮件服务器。

    三、检测方法:
    你也可使用检测工具检查,下载地址:
    https://github.com/nimia/public_drown_scanner

    四、修复方法:
    确保你的私钥不适用于其他的支持sslv2服务,包括web,smtp,imap,pop服务等。禁止服务器端的sslv2支持。如果是Openssl,请查看OpenSSL官方给出的修复指南。
    https://www.openssl.org/blog/blog/2016/03/01/an-openssl-users-guide-to-drown/

    如果是nginx服务器直接在nginx.conf配置文件中去掉ssl_protocols SSLv2的支持。

    示例:
    [root@yn_vm_dev46 public_drown_scanner]# yum install python-virtualenv

    [root@yn_vm_dev46 public_drown_scanner]# virtualenv drown
    New python executable in drown/bin/python
    Installing Setuptools……………………………………………………………………………………………………………………………………………………………………………………………………done.
    Installing Pip……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….done.
    [root@yn_vm_dev46 public_drown_scanner]#
    [root@yn_vm_dev46 public_drown_scanner]#
    [root@yn_vm_dev46 public_drown_scanner]# cd drown/
    [root@yn_vm_dev46 drown]# ls
    bin include lib lib64
    [root@yn_vm_dev46 drown]# ./bin/activate
    -bash: ./bin/activate: Permission denied
    [root@yn_vm_dev46 drown]# . ./bin/activate
    (drown)[root@yn_vm_dev46 drown]#
    (drown)[root@yn_vm_dev46 drown]#
    (drown)[root@yn_vm_dev46 drown]# pip install enum pycrypto scapy pyasn1 scapy-ssl_tls

    (drown)[root@yn_vm_dev46 drown]# python /root/public_drown_scanner/scanner.py www.com 443
    Testing www.com on port 443
    www.com: Server is vulnerable, with cipher RC2_128_CBC_EXPORT40_WITH_MD5

    www.com: Server is vulnerable, with cipher RC4_128_EXPORT40_WITH_MD5

    www.com: Case 7; Symmetric key did not successfully verify on server finished message
    www.com: Server is NOT vulnerable with cipher RC4_128_WITH_MD5, Message: 7: no tls

    www.com: Server is vulnerable, with cipher DES_64_CBC_WITH_MD5

    (drown)[root@yn_vm_dev46 drown]# python /root/public_drown_scanner/scanner.py www.com 443
    Testing www.com on port 443
    www.com: Case 3b; Connection reset by peer when waiting for server hello
    www.com: Server is NOT vulnerable with cipher RC2_128_CBC_EXPORT40_WITH_MD5, Message: 3b: no tls

    www.com: Case 3b; Connection reset by peer when waiting for server hello
    www.com: Server is NOT vulnerable with cipher RC4_128_EXPORT40_WITH_MD5, Message: 3b: no tls

    www.com: Case 3b; Connection reset by peer when waiting for server hello
    www.com: Server is NOT vulnerable with cipher RC4_128_WITH_MD5, Message: 3b: no tls

    www.com: Case 3b; Connection reset by peer when waiting for server hello
    www.com: Server is NOT vulnerable with cipher DES_64_CBC_WITH_MD5, Message: 3b: no tls

延伸阅读:

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规