全部产品

【漏洞公告】CVE-2015-0204:OpenSSL FREAK 中间人劫持漏洞

更新时间:2017-11-17 16:47:40

漏洞描述

OpenSSL 中存在名为 FREAK 的 SSL/TLS 中间人劫持漏洞,漏洞编号为 CVE-2015-0204。

在 OpenSSL 库里,s3_clnt.c 文件中的 ssl3_get_key_exchange 函数允许客户端使用弱 RSA 密钥对。攻击者可拦截受影响的客户端与服务器之间的 HTTPS 连接,并强制其使用弱加密。当 TLS/SSL 客户端使用较弱的密钥交换方法时,攻击者可破解正在使用的密钥。攻击者使用破解的密钥,可在通信期间解密窃取数据,甚至恶意操作敏感信息。

修复方案

注意:在修复前,请创建服务器快照,以免修复失败造成损失。

httpd 和 nginx 用户

  1. 打开 httpd、nginx 的配置文件,修改 SSL 使用的加密算法:

    • nginx 修改为

      1. ssl_ciphers HIGH:!aNULL:!MD5:!EXPORT56:!EXP;
    • httpd 修改为

      1. SSLCipherSuite HIGH:!aNULL:!MD5:!EXPORT56:!EXP
  2. 修改完毕后,请重启 Web 服务。

Tomcat 用户

  1. 打开 Tomcat 的配置文件 server.xml,在对应的 SSL 中添加如下属性:

    • Tomcat 5/6:

      1. SSLEnabled="true"
      2. sslProtocols="TLSv1,TLSv1.1,TLSv1.2"
      3. ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"
    • Tomcat 7 及以上:

      1. SSLEnabled="true"
      2. sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"
      3. ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"
  2. 修改完毕后,请重启 Tomcat 服务。

IIS 用户

方案 1:在注册表中,禁用不安全的加密算法和不安全的 SSL 协议。
  1. 选择 开始 > 运行,输入 regedit,然后回车。

  2. 前往以下路径 HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

  3. 打开 Protocols\PCT 1.0\Server,在空白处右击,选择 新建 > 字符串值,将其命名为 Enabled。双击新增的键值,填入 0,并单击 确定

  4. 参考步骤 3,对以下注册表项进行同样的设置。

    • Protocols\SSL 2.0\Server
    • Ciphers\DES 56/56
    • Ciphers\RC2 40/128
    • Ciphers\RC2 128/128
    • Ciphers\RC4 40/128
    • Ciphers\RC4 56/128
    • Ciphers\RC4 128/128
  5. 修改完成后,重启电脑使设置生效。

方案 2:安装微软官方发布的针对 FREAK 漏洞的修复补丁,编号为 KB3046049。

你可以在服务器上使用 Windows Update 自动更新,或 下载更新补丁 进行安装。安装更新后,需重启电脑才能生效。

其他方案

  1. 确认 443 端口被哪个服务调用,然后更新该程序所依赖的 OpenSSL 版本。

    • 推荐把 OpenSSL 更新到最新版
    • OpenSSL 1.0.1 应更新至 1.0.1m 或以上
    • OpenSSL 1.0.0 应更新至 1.0.0r 或以上
    • OpenSSL 0.9.8 应更新至 0.9.8zf 或以上
  2. 更新完毕后,重启调用 443 端口的服务。