聊聊HTTPS的重要性和正确使用的姿势

2016/6/11 19:25 下午 posted in  安全

HTTPS的主要重要性

  • 保证用户信息的安全
  • 国内环境下可以保证不被运营商劫持

HTTPS使用不当的常见案例

  • 使用过旧的SHA-1算法
  • 加载一些HTTP的资源
  • 没有启用HSTS

HSTS简介:
在响应头中插入:Strict-Transport-Security之后用于开启HSTS,部分浏览器会将开启HTST的域名加入到自己的HSTS列表中,下次用户HTTP访问这个域名时浏览器会直接307转跳过去,避免了HTTP先请求服务器302转跳到HTTPS,避免了明文数据传输泄漏信息的问题。但是第一次请求的时候没有在浏览器HSTS列表还是会对浏览器发起请求。

反面教材阿里云

之前就给阿里云提过建议,提交过工单反应过阿里云在HTTPS的使用过程中存脆是面子工程,之后阿里云也已经改进了很多。今天再次检查了一下让人失望,这是一种态度问题。开始开启喷子模式啊,因为公司大量使用了阿里云,所以这里喷一下阿里云只是希望阿里云可以对待问题和小客户的时候上心一点,多一点耐心的倾听和解决问题的决心,少一点敷衍的态度。

没有启用HSTS域名(可用于抓包还原会话):

  • console.aliyun.com
  • i.aliyun.com
  • yq.aliyun.com

加载了HTTP的外部资源:

阿里云加载了 HTTP 资源

这部分也许有人会觉得还好呀?加载HTTP的图片,又不是JS没什么危害呀?如果我将这写静态资源301一下到一个aliyun.com的http的子域名呢?Cookie就拿到了。

上图证明一下这些连接的存在:

console http 链接

CURL console.aliyun.com 没有启用HSTS

i http 链接

CURL i.aliyun.com 没有启用HSTS

help http 链接

CURL yq.aliyun.com 没有启用HSTS

还有很多都是随然启用了HTSP,但是这样真的好么?第一次还是会有请求会被抓住的。。。
buy http 链接

彩云间 http 链接

总结一下

启用HTTPS不要忘记使用HTTPS的初衷,在HTTPS的站点用不要使用HTTP的资源,Cookie 尽量启用secure选项吧(随然这个是有办法绕过的),页面中不要出现HTTP的连接,就算启用了HSTS,出现这种连接也是不安全的。

最后再问一下阿里云,Cookie泄漏之后,写了个脚本一个维护这这个会话,这个会话一直能够保持下去,就算用户退出了还是能够还原会话。。。什么鬼。。。被拿了Cookie永世不能翻身的节奏啊?