美文网首页程序员技术干货
定位HTTPS问题,浅谈SSL/TLS

定位HTTPS问题,浅谈SSL/TLS

作者: 乃铭 | 来源:发表于2017-02-23 11:43 被阅读262次

问题是什么

这是一个防火墙设备测试,『测试仪在使用HTTPS访问防火墙WebAuth的时候认证失败。』
后来排除了和Auth相关,问题的内容遂简化为『使用HTTPS访问防火墙的Web失败』。

HTTPS 和 SSL/TLS

HTTPS是HTTP Secure,被SSL/TLS加密的HTTP,安全的HTTP。

HTTP(不带S)是我们经常用的浏览网页的一个协议,工作在应用层。它的主要用途是帮我们传输网页,以及网页中包含的各种内容,比如图片、css、js。这么多年了,大家都在用它。

可是,HTTP天生有个缺陷:是不被加密的明文传输。世界上有一种人身上有个标签——黑客,黑客有一种功夫叫『嗅探』,用HTTP浏览的内容很容易就被偷窥了。世界上还有一种人身上有个标签——流氓,流氓有种功夫叫『篡改』,譬如某些运营商在你浏览网页的时候给你弹一些网站本来没有的广告,就是范例。

拿什么拯救HTTP?SSL/TLS。

SSL 是洋文“Secure Sockets Layer”的缩写,中文叫做“安全套接层”。SSL本是网景公司上个世纪90年代的起草的协议,后来一不小心就流行了起来,于是1999年写到了RFC里成为通用标准。SSL共经历了1.0、2.0、3.0三个版本,之后升级为TLS。TLS是“Transport Layer Security”的缩写,中文叫做“传输层安全协议”。顾名思义,TLS就不单单是面向HTTP了,传输层以上的应用都可以使用TLS加密,比如FTP、POP、SMTP、Telnet。

分析问题

防火墙WebAuth同时开启了HTTP和HTTPS, HTTP可以访问而HTTPS不能访问,说明问题与SSL/TLS相关。最好能抓包观察。

这里提一下抓包工具。一开始使用Ethereal查看抓包,效果很糟糕,解析不出SSL协议。改用wireshark,协议解析的稳又准,很快就知道根因(root cause)了。

根因:测试仪携带的Cipher Suite RC4不被Server(防火墙)支持。

client使用的Cipher Suite是RC4 server端不理client,握手失败

结论

使用测试仪模拟HTTPS访问web要注意Server支持的SSL version和Cipher Suites,SSL1.0到3.0都是不安全的,TLS1.0从SSL3.0发展而来替换SSL3.0,TLS1.0以后的版本是推荐版本。而Cipher Suites在不同Server上有不同的支持。比如本次Server不支持的RC4,由于RC4算法存在弱点,2015年2月所发布的 RFC 7465 规定禁止在TLS中使用RC4加密算法[1]

下表是SRX防火墙支持的Cipher:

Supported Encryption Algorithms

相关文章

  • 定位HTTPS问题,浅谈SSL/TLS

    问题是什么 这是一个防火墙设备测试,『测试仪在使用HTTPS访问防火墙WebAuth的时候认证失败。』后来排除了和...

  • SSL证书签发

    HTTPS HTTPS = HTTP + TLS/SSL TLS/SSL SSL:Secure Sockers L...

  • 深入浅出HTTPS基本原理

    一、什么是HTTPS,TLS,SSL HTTPS,也称作HTTP over TLS。TLS的前身是SSL,TLS ...

  • 深入浅出HTTPS基本原理

    一、什么是HTTPS,TLS,SSL HTTPS,也称作HTTP over TLS。TLS的前身是SSL,TLS ...

  • 浅谈HTTPS(SSL/TLS)原理

    目录 一、https概述 1. 什么是HTTP? 2. 什么是HTTPS? 3. SSL/TLS...

  • 本人小记HTTPS

    What is HTTPS? HTTPS = HTTP + SSL/TLS 。 SSL/TLS基于TCP,工作在O...

  • 通俗易懂的解释HTTPS

    什么是HTTPS?## HTTPS是HTTP协议和SSL/TLS协议的组合。 SSL/TLS是什么?## SSL全...

  • Golang面试之HTTPS

    引用 HTTPS协议详解(一):HTTPS基础知识 TLS/SSL工作原理 HTTPS详解二:SSL / TLS ...

  • CA证书原理

    一、HTTPS 简介 HTTPS 全称 HTTP over TLS/SSL(TLS 就是 SSL 的新版本 3.1...

  • 初识Https

    HTTPS = HTTP (应用层) + SSL/TLS(传输层) 那什么是SSL/TLS呢? SSL = Sec...

网友评论

    本文标题:定位HTTPS问题,浅谈SSL/TLS

    本文链接:https://www.haomeiwen.com/subject/tuumwttx.html