AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

让用户的数据更安全--淘宝、天猫全网HTTPS实践 by 李振宇@阿里

发布者 devops
发布于 1458263565482  浏览 2315 关键词 DevOps, 网络安全 
分享到

第1页

让用户的数据更安全

--淘宝、天猫全网HTTPS实践

阿里巴巴集团—技术保障部(AIS) 李振宇(震羽)



第4页

为什么要做全网HTTPS?



第5页

为什么要做全网HTTPS?



第6页

哪些大型网站支持HTTPS?

社交/博客/论坛:Facebook/Twitter/LinkedIn/Blogger/ Reddit/Tumblr/Pinterest/Instagram/Wikipedia 搜索引擎:Google/Bing/Baidu/Haosou/Sogou 视频:Youtube/Netflix 邮箱:Gmail/MSN/Yahoo/Live/QQmail 支付:Alipay/Paypal 电子商务:Taobao/Tmall



第7页

HTTPS是一个趋势

Chrome/Firefox:未来会将http标记为不安全 Apple ATS : 要求新iOS9和OS X 10.11的app使用HTTPS HTTP/2:必须使用HTTPS(IE/Firefox/Chrome/Safari) Google:搜索排名会给HTTPS的网站加权 美国政府:要求2016年底所有政府网站必须是HTTPS



第8页

如何选择服务端证书?



展现



单域名



多域名



泛域名 多个泛域名



DV



支持



不支持



OV 支持



EV



支持



不支持



e.g www.taobao.com www.taobao.com *.taobao.com *.taobao.com



www.tmall.com



*.tmall.com



www.1688.com



*.1688.com





第9页

证书生命周期

发送CSR文件给CA



CA签发证书



生成私钥和CSR



WebServer



验证证书



监控证书过期



部署证书



第10页

如何适应https带来的架构变化?

LVS



SSL/TLS HTTP



SSL/TLS HTTP



SSL/TLS HTTP



要在当前架构下支持HTTPS非常简单,但……





第11页

统一是否更好?

LVS



SSL/TLS统一接入层



HTTP



HTTP



HTTP



但这种架构依旧引入了新的问题……





第12页

哪些需要改造?

盾牌:JS/CSS、异步调用、 字体、iFrame、Flash、视频

黄色三角:图片、POST



第13页

如何改造才能同时兼容当前用户?

http://=> //

替换逻辑简单,但是需要注意: 1. 中间件、无线app对//的识别 2. 替换底层数据源 3. 对国内部分搜索不够友好



第14页

如何改造才能同时兼容当前用户?

Tengine – sub_filter替换模块

1. subs_filter http://www.taobao.com https://www.taobao.com; 2. Tengine输出替换,无需修改底层数据源 3. 只对HTTPS请求进行替换,兼容当前HTTP用户 4. 对国内搜索引擎友好 但是: 每增加一条非正则规则,服务器性能下降2%



第15页

HTTPS一定会变慢吗?



第16页

切换到HTTPS之后性能变化情况



性能提升 性能提升



PC PageLoad Time



淘宝 首页



淘宝 搜索



淘宝 购物车



21%

天猫 首页



6%

天猫 详情



23%

天猫 搜索



22% 20% 19%



聚划算 首页

16% 聚划算 详情

30%



第17页

优化措施

• 减少握手,提高tls复用率 • SPDY3.1 & HTTP2 • 域名合并 • TCP内核优化 • 1-RTT 建连 • CDN Early Termination • 预加载 • 算法位置调整ECDSA>RSA>ECDHE



第18页

减少握手,提高TLS复用率

• 单机Session Cache • Session Ticket • 分布式Session Cache • TCP keepalive

• TLS full handshake % = ( ! keepalive + ! session_reused) / total_conn * 100%



第19页

优化措施

• 减少握手,提高tls复用率 • SPDY3.1 & HTTP2 • 域名合并 • TCP内核优化 • 1-RTT 建连 • CDN Early Termination • 预加载 • 算法位置调整ECDSA>RSA>ECDHE



第20页

优化措施

• 减少握手,提高tls复用率 • SPDY3.1 & HTTP2 • 域名合并 • TCP内核优化 • False Start的1-RTT 建连 • CDN Early Termination • 预加载 • ECDSA证书



第21页

优化措施

• 减少握手,提高tls复用率 • SPDY3.1 & HTTP2 • 域名合并 • TCP内核优化 • False Start的1-RTT 建连 • CDN Early Termination • 预加载 • ECDSA证书



第22页

优化措施

• 减少握手,提高tls复用率 • SPDY3.1 & HTTP2 • 域名合并 • TCP内核优化 • False Start的1-RTT 建连 • CDN Early Termination • 预加载 • ECDSA证书



第23页

优化措施

• 减少握手,提高tls复用率 • SPDY3.1 & HTTP2 • 域名合并 • TCP内核优化 • False Start的1-RTT 建连 • CDN Early Termination • 预加载 • ECDSA证书



第24页

优化措施

• 减少握手,提高tls复用率 • SPDY3.1 & HTTP2 • 域名合并 • TCP内核优化 • False Start的1-RTT 建连 • CDN Early Termination • 预加载 • ECDSA证书



第25页

获取页面加载的性能

基于performance.timing的浏览器API



第26页

获取元素的性能数据

CDN:timing-allow-origin: *



第27页

如何让HTTPS更安全



第28页

使用SHA-256证书

SHA-1已经不再安全 16年开始CA不在签发SHA-1证书 Chrome会标记SHA-1为不安全证书 XP SP2和Android2.2受影响 淘宝采用双证书解决,但不推荐 不要忘了中间证书也必须是SHA-256



第29页

HSTS

G E T http://w w w .taobao.com R esponse:302 http s://w w w .taobao.com

G E T http s://w w w .taobao.com R esponse:https://w w w .taobao.com



第30页

HSTS



S S LS TR IP



G E T http://w w w .taobao.com R esponse:http ://w w w .taobao.com



G E T http s://w w w .taobao.com R esponse:http s://w w w .taobao.com



第31页

HSTS



G E T http://w w w .taobao.com

R esponse:302 http s://w w w .taobao.com

G E T http s://w w w .taobao.com

Response: https://www.taobao.com strict-transport-security: max-age=31536000



G E T http://w w w .taobao.com 307 internalredirect G E T http s://w w w .taobao.com

Response: https://www.taobao.com strict-transport-security: max-age=31536000



第32页

TLS配置



https://wiki.mozilla.org/Security/Server_Side_TLS





第33页

https://www.ssllabs.com



第34页

11.11 HTTPS保障

风险点和监控

• DNS、网络设备、负载均衡、发布、OCSP server • 服务器/客户端性能、访问量、tls新建比率

预案

• 降级、限流和防攻击

压测

• 评估模型、模拟瞬间峰值

异地容灾





第35页

QA



李振宇:tony.lizy@alibaba-inc.com



@阿里技术保障



@阿里技术保障



支持文件格式:*.ppt, *.pptx, *.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。