SSL v3 Poodle安全漏洞修复建议

14133576376009.png!small

利用SSL保护你的网站流量远远不止是在服务器安装一个SSL证书而已。时代在不断的发展,随着浏览器的老化、密码强度的降低以及攻击者变得更具创造性,情况已经发生了微妙的变化。

对初识者来说,你需要选择一组具有高安全保障的密码,同时又不能忽略掉来自旧浏览器上的访问者。

强密码

密码能够实现加密和消息身份的功能。如果密码被判定为脆弱的或容易受到攻击的话,它的实用性就会大打折扣。不幸的是,必须在“一组足够安全的且可用的密码”和“一组用户浏览器所支持的密码”之间维持一个平衡。

在撰写本文之时,下面的Nginx配置就是本站正在使用的配置,并且在Qualys公司的SSL Lab测试中获得了A+评级:

14133577067604.png!small

其中最关键的部分就是ssl_protocolsssl_prefer_server_ciphers以及ssl_ciphers行。我们淘汰了带有ssl_protocols行配置的旧版SSL。为了确保浏览器能够支持,我们只使用我们所需要的密码,并开启了ssl_prefer_server_ciphers选项。最后,ssl_cipher明确指定了我们认为安全的密码协议,以及一些我们需要明确排除的情况(!aNULL表示不能做身份验证的加密算法,!MD5表示拒绝使用MD5加密,其他情况类似)

HSTS较为安全

我们都知道HTTPS确实很厉害,但却有很多细枝末节可以迫使浏览器退回到纯文本的HTTP。一个过时的锚点(anchor),一个难以清除的浏览器缓存或者一个恶意的第三方插件都可能成为罪魁祸首。幸运的是,当前的浏览器都采用了一种标准,允许服务器告知浏览器是否所有的Web流量都要通过一个安全连接。HSTS是一个简单头部,每次客户端发起请求时,服务器都会提供HSTS。该头部指示客户端应该无条件拒绝和特定域名建立不安全的HTTP链接要持续多长时间。

FreeBuf科普
HTTP Strict Transport Security(HSTS)是一个新的Web安全协议,采用HSTS协议的网站将保证浏览器始终连接到该网站的HTTPS加密版本,不需要用户手动在URL地址栏中输入加密地址。该协议将帮助网站采用全局加密,用户看到的就是该网站的安全版本。Firefox 和 Chrome 浏览器已经支持该协议。

如果你下定决心只让你的服务器通过HTTPS访问,那么下面的Nginx指令会强制把HSTS部署到浏览器中:
14133577726618.png!small

然而,为了防止不能运行或者出现配置错误,推荐你从一个较小的max-age开始,例如仅设置为24小时:

14133577922992.png!small

一旦你对你的网站仅能通过HTTPS访问的这一想法感到满意,你再把max-age升级为几个月或一年。

Apache和其他的Web服务器

这里描述的大多数配置选项都可以很容易地转换到Apache和其他当前的web服务器中。例如,下面就是Apache所支持的上面描述的SSL密码配置:

14133578076669.png!small

另外,为了让Apache支持HSTS,你可能要需要开启mod_header配置。

14133578229063.png!small

针对客户端的建议

本着好人做到底的原则,小编在此给大家提供一些浏览器禁用SSLv3的设置方法。

1、IE/360安全浏览器

1)点击浏览器右上角的“工具”选项,选择“Internet选项”
2)选择“高级”
3)找到“使用SSL3.0”的设置,将方框里的“勾”去掉
4)点击“确定”保存

2、Chrome浏览器

Windows系统用户设置方法:
1)完全关闭 Chrome 浏览器
2)复制一个平时打开 Chrome 浏览器的快捷方式
3)在新的快捷方式上右键点击,进入属性
4)在「目标」后面的空格中字段的末尾输入以下命令 --ssl-version-min=tls1
Mac OS X系统用户设置方法:
1)完全关闭 Chrome 浏览器
2)找到本机自带的终端(Terminal)
3)输入以下命令:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --ssl-version-min=tls1
Linux系统用户设置方法:
1)完全关闭 Chrome 浏览器
2)在终端中输入以下命令:google-chrome—ssl-version-min=tls1

3、Firefox 浏览器用户可以进入“关于:设置”,方法是在地址栏输入 about:config,然后将 security.tls.version.min 调至 1。

安全是一个永无止境的进程,因此时刻保持清醒并随时做好处理任何变化的准备是很重要的。另外,还要时刻关注一些信息,例如, Mozilla的推荐密码套件和SSL/TLS最佳部署方案。

[参考来源https://github.com/trevorparker/website/blob/9121ba44e3110535627021e93a81d6cf51a36b23/_source/_posts/2014-05-14-hardening-ssl-in-nginx.md#stronger-ciphers]

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 67 queries in 0.553 seconds