HTTPS时代已来,你做好准备了吗?

摘要: 全站HTTPS时代的到来,这也是最近越来越多的网站上HTTPS和更换证书的原因。那么究竟什么是HTTPS?它为什么会提升安全系数?CDN HTTPS又将如何做到安全性与性能同时提升?作为用户,又如何快速便捷的进行部署HTTPS全链路安全加速呢?本文将一一解答。

早在今年年初,Google在其安全博客上已经表明,从7月开始,Chrome68会将所有的HTTP网站标记为不安全。随后,Mozilla也表明,Firefox浏览器也准备将所有HTTP网站标记为不安全。

目前,Chrome68早已发布,正如 Google之前表明一致,在访问HTTP网站的时候,会在地址栏里显示不安全的惊叹号,比之前只显示惊叹号更加显眼了。作为用户难免心里会不安,因为我们并不知道这网站上显示的内容是不是服务器提供的内容,我们的账号或密码是否会泄露。

 

image

纵观全球,近年来使用HTTPS网站的增长趋势还是很明显的。下图是Chrome浏览器加载HTTPS网站的趋势,最上面这条线是美国,从2015年的不到50%,目前已经超过80%,最下面这条是日本,2015-2016年比较平稳的维持在25%左右,目前已经超过60%。从网络公开数据估算,国内HTTPS的加载占比在40% 左右,可以预见到未来一两年,会有越来越多的国内网站将切换到HTTPS。

 

image

全站HTTPS时代的到来,这也是最近越来越多的网站上HTTPS和更换证书的原因。那么究竟什么是HTTPS?它为什么会提升安全系数?CDN HTTPS又将如何做到安全性与性能同时提升?作为用户,又如何快速便捷的进行部署HTTPS全链路安全加速呢?本文将一一解答。

什么是HTTPS?

HTTPS里面的“S”代表“Security”,安全的HTTP。大家都知道HTTP是一个超文本传输协议,它的优点是简单、快速、灵活,它的缺点就是不安全,直接运行在TCP层之上,数据在网络上的传输是明文的,就可以被抓包并看到传输的内容,存在非常大的安全隐患。

互联网发展越来越快,网络也越来越发达与复杂,在一些利益的驱动下,一些恶意的运营商经常对用户的HTTP请求做劫持和篡改,如果一个网站现在还在用HTTP为用户提供服务,那一定会经常遇到网站被插入广告、泄露数据等问题。

因为安全——我们需要HTTPS

解决以上问题,我们就需要加密传输,这里有两种方法,一种方法是在HTTP的业务层做加密,这样做会非常地耦合,不通用。

另一种就是用HTTPS,从网络模型上看就是在TCP层和HTTP层加了一个SSL层,由这一层来为HTTP层做数据的加解密服务:将HTTP层要发送的数据加密之后通过TCP来发送给对方,将接收到的加密数据解密之后交给HTTP,HTTP层不需关注加密和解密的细节而只需关注业务即可,这样对应用层来说是透明的,也便于客户端和服务器的实现和升级。

HTTPS安全是由一套安全机制来保证的,主要包含这4个特性:机密性、完整性、真实性和不可否认性。

 

image

  • 机密性是指传输的数据是采用Session Key(会话密钥)加密的,在网络上是看不到明文的。
  • 完整性是指为了避免网络中传输的数据被非法篡改,使用MAC算法来保证消息的完整性。
  • 真实性是指通信的对方是可信的,利用了PKI(Public Key Infrastructure 即『公钥基础设施』)来保证公钥的真实性。
  • 不可否认性是这个消息就是你给我发的,无法伪装和否认,是因为使用了签名的技术来保证的。

有了安全,真的会损失性能吗?

HTTPS如此安全,但仍然有部分用户对HTTPS是恐惧的。主要原因是担心上了HTTPS性能会变差,服务器扛不住压力,客户端要做SSL握手,增加首包时间,影响性能。

其实不然,阿里云CDN HTTPS进行了以下优化,可以在保障安全的同时,将加载性能提升。

第一,HTTP/2

HTTP/2是二进制协议,相比HTTP/1.1的文本协议就有很大的优势,可以基于二进制协议做很多的优化,比如多路复用、头部压缩、以及服务器推送。提高并发性能,提高传输效率。

下图HTTP/1.1和HTTP/2的网络加载瀑布图,可以看出右边 HTTP/2 的连接利用率更高,并发更高,不用像 HTTP/1.1 时有些请求在白白等待阻塞其他请求。而且可以看出左边HTTP/1.1需要6个SSL 连接,右边HTTP/2只需要1个SSL连接,减少昂贵的SSL请求,对服务器和客户端都有好处。从测试结果来看,HTTP/2的总体加载时间更快,效果更好。

image

第二,SSL session复用

另一个性能优化的方案是SSL session复用,它是提升ssl握手性能的主要手段之一。

有两种session复用的方式:session id 和session ticket,了解 session id 复用的朋友可能会知道这种方案不支持分布式环境,session ticket支持分布式环境,但是session ticket的客户端支持率并不高,主流还是session id的方式,然后我们做了定制开发,支持了分布式缓存,上了这个优化之后,本来3%左右的session id占比提升到了20%多,提高了7倍左右,握手时间从将近80ms降低到了不到70ms,效果还是挺明显的,这样可以提高服务器的性能,降低首包时间,提高用户体验。

image

第三,TLSv1.3即将发布

TLS1.3 TLS1.3相对于TLS1.2来说,主要的区别就是两点:更快、更安全。在今年3月份,它被正式被IETF纳入标准化,虽然目前只有Chrome和Firefox这两个浏览器支持,但是未来会有更多的浏览器支持。
了解TLS1.2的朋友可能知道,TLS1.2完整握手需要2个RTT,而TLS1.3在完整握手时仅需要1个RTT,甚至做到0个RTT,所以TLS1.3会比TLS1.2更快。
TLS1.3只支持完全前向安全性的密钥交换算法,简单地说就是不支持像RSA这种不太安全的密钥交换算法,因为使用这种密钥交换算法,RSA私钥泄露的话可以用来解密之前保存的SSL流量,不太安全。另外,TLS1.3的握手消息在ServerHello之后都是加密的,连传输的证书消息都是加密的,所以TLS1.3比TLS1.2更安全。

早在2015年,天猫淘宝已经实现了全站HTTPS,其性能不降反升,效果比HTTP好很多,比如首页提升了约20%左右,聚划算提升了约30%,淘宝搜索也提升了约6%。所以可以看出,HTTPS其实并不慢,完全不必担忧性能和用户体验的问题。

那么解决了以上担忧,接下来就面临着接入这一环。那么问题又来了,令人头疼的证书怎样申请?配置是否复杂难懂?出了问题如何排查呢?

开启HTTPS三步走

我们先来看看CDN HTTPS的业务流程

image

不管用户使用HTTP还是HTTPS访问CDN,都要先做域名DNS解析,然后访问到 CDN 的边缘服务器,如果静态资源缓存命中则直接响应给客户端,如果没有缓存命中或者是动态资源请求的话就需要回源到源站服务器获取。

在用户这一侧,CDN提供了HTTP和HTTPS两种访问方式,开了HTTPS之后,HTTP也能访问,如果想要实现全站HTTPS的话,CDN提供了301跳转和HSTS的方式将HTTP访问都重定向到HTTPS,这样就可以实现HTTP自动跳转到HTTPS,对用户是无感知的。这样就可以避免用户这一侧经常发生的劫持、篡改、盗链等问题。比如一些视频网站,为了收费会在链接后面加鉴权参数,如果用HTTP,那用户和CDN之间的部分恶意网络运营商完全可以抓包拿到鉴权成功的链接,从而实现盗链,这对视频网站的影响就比较大。

在CDN的内部,默认情况下也是全部走HTTPS,对有特殊需求的域名也可以走协议跟随。

在源站服务器这一侧,用户可以根据自己的服务器支持情况配置HTTP、HTTPS或者协议跟随回源,推荐配置 HTTPS 回源,实现全链路 HTTPS,更安全。

第一步 一键申请 免费证书

下图是CDN控制台 HTTPS配置界面,可以看出HTTPS的配置非常简单,只提供了证书、HTTP/2设置和强制跳转这几个配置,点击HTTPS证书的修改配置按钮之后就可以配置证书。
image

目前大多数CDN或者云计算厂商提供HTTPS服务都需要让客户上传证书或者购买证书,用户需要做一系列的工作,包括选择CA厂商、选定购买途径、选择证书类型、支付证书费用、配合CA做校验等等,辛苦申请下来的证书,格式多种多样,配置十分复杂,私钥也不知道怎么保管,证书到期前还需要去续签和重新配置一遍,管理起来非常地麻烦。

大部分用户对HTTPS的需求无非是安全和在浏览器上显示小绿锁就可以了,并不是特别关心证书是个什么东西、怎么申请以及怎么配置。所以,阿里云为了让更多用户更容易切到HTTPS,推出了免费证书的功能,对于那些不需要关心证书细节的用户,就可以更便捷快速的使用HTTPS。

image

在HTTPS设置界面可以根据自己的需求配置证书,有三种证书类型可以选择,可以选择在阿里云CA证书服务上购买的云盾证书,也可以上传已有的证书,另外一个就是免费证书,只需勾选同意授权阿里云申请免费证书和确认就可以使用HTTPS了(因为阿里云目前还不是CA机构,所以不能签发证书,需要用户授权),如此一来,CDN就帮助用户承担了原本最为繁琐的工作。

同时,有几点需要注意:

  1. 在使用HTTPS免费证书之前,需要确保用户的域名CNAME切到了阿里云CDN,不然CDN没法配合CA机构去做校验,校验失败的话CA也不会给这个域名签发证书。
  2. 需要注意域名的CAA记录,CAA记录的目的是防止其他CA误签证书,域名的DNS里面没有CAA记录还好,要有CAA记录的话得把digicert加进去才能申请证书成功,这是因为免费证书是由digicert这个CA机构来签发的。
  3. 因为是免费证书,所以目前只支持1个域名,还不支持泛域名证书。证书的有效期是1年,到期之前我们会自动续签和自动更新证书。
  4. www 域名要使用免费证书功能的话需要注意顶级域名也要切到CDN,这是因为www 域名免费证书自动绑定顶级域名(比如:www.a.com 开通免费证书会绑定两个域名:www.a.com和a.com)。
  5. 这样一来,用户就完全无需关注证书的细节了。只需关注HTTPS功能是否可用,浏览器地址栏上是不是已经有了绿色的小锁,在SSL labs上测试的安全等级是不是A就可以了(当然在阿里云CDN上的域名 HTTPS 的安全等级都是A)。

第二步 动态配置 秒级生效

下图为CDN-HTTPS架构, 用户在控制台上选择证书,一键开启HTTPS。
image

这些证书/私钥以及其他HTTPS配置会同步到阿里云证书管理系统,并不是同步到所有的CDN边缘节点服务器,当有HTTPS请求到边缘节点服务器时,再去证书管理系统获取证书,并缓存在本机,做一下证书的切换,从而实现配置的热加载,然后就可以完成SSL握手。

没有全部同步到边缘节点服务器的原因,一是机器越多同步越需要时间生效时间越慢,二是没有必要,同步到那些没有访问的机器白白浪费机器内存。

第三步 监控告警 排查问题

当HTTPS开启后,我们需要对业务进行监控。下图所展现的就是阿里云所进行实时统计的错误类型,以及根据错误类型进行的实时告警。如果没有这样的告警系统,业务往往会产生长时间中断。而且阿里云HTTPS的配置也是秒级配置、热加载和秒级生效,用户可以快速地响应问题,解决问题。
image

可以看到,在CDN控制台进行HTTPS的开启和后续使用都是很便捷和灵活的,欢迎大家使用阿里云CDN的HTTPS,迈入HTTPS时代。

原文链接

本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

专访阿里视频云叔度:一场技术人的自我修行

摘要: 千年之后的2018年,“玄奘之路”BC连14位同伴在这段自我修行的路程中沿着大师昔日的足迹徒步前行,对极致的追求促使他们努力挑战生命的每个不可能。其中,最让人感动的是一个打着点滴行进的身影,他在遭遇右腿受伤、…

spring cloud gateway 网关_微服务网关Spring Cloud Gateway全搞定

一、微服务网关Spring Cloud Gateway1.1 导引文中内容包含:微服务网关限流10万QPS、跨域、过滤器、令牌桶算法。在构建微服务系统中,必不可少的技术就是网关了,从早期的Zuul,到现在的Spring Cloud Gateway,网关我们用的…

这个耳机一点不输千元级的AirPods

你如果问我:生活中你觉得必不可少的一件电子产品是什么?那么我会毫不犹豫的回答你:是耳机!出门忘带耳机是绝对不能忍听不听没关系,但是有它比较安心我觉得生活中不仅是我很多人都对耳机有一种依赖因为很多人都喜欢音乐…

linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(上传安装包并解压_05)

接上一篇:linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(oracle基础配置_04) 静默安装Oracle11GR2数据库上传数据库安装包并解压 按提示选择文件,添加确定;开始上传; 完成 创建一个目录存放安装…

mysql一些基本sql操作_MySql数据库的一些基本操作---------------SQL语法

MySql数据库是比较常用的关系型数据库,操作用的是sql语句,下面来说一说MySql的一些基本操作MySql数据库是一种C/S型的模式,即客户端/服务器端,对应到具体应用上,便是bin目录下的mysql.exe和mysqld.exe,mysq…

阿里云商品评价解析功能示例解析

近年来,电商发展的如火如荼,从以淘宝为首的网购零售平台再到垂直的生鲜类等电商,中国电商市场正持续较快地增长。据消息称,手机淘宝DAU在6月18日达到2.6亿的峰值,并且从去年开始,阿里电商平台推出促进消费者…

逻辑回归预测事件发生的概率_通过逻辑回归,对信用卡申请数据使用卡方分箱法预测违约率建模...

一、 建模步骤(1)从数据中衍生特征(2)对类别型变量和数值型变量进行补缺(3)基于卡方分箱法对变量进行分箱(4)WOE编码后的单变量分析与多变量分析(5)应用逻辑回归模型(6)尺度化(7)模型预测能力二、代码import pandas as pdimport datetimeimport collectionsimport numpy as npi…

深度学习文本分类在支付宝投诉文本模型上的应用

摘要: 小蚂蚁说: 随着深度学习的快速发展,以及在图像、语音领域取得的不错成果,基于深度学习的自然语言处理技术也日益受到人们的关注。计算机是怎么理解人类的语言的呢? 传统机器学习的应用,常常是利用上述…

linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(修改配置文件_06)

接上一篇:linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(上传安装包并解压_05) linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(修改配置文件) 一、修改内核文件: vim /etc/sysctl.conf…

【不吹不黑】详解容器技术架构、网络和生态

戳蓝字“CSDN云计算”关注我们哦!作者 | Hardy责编 | 阿秃谈起容器技术,不得不提Docker技术。Docker 是PaaS 提供商 DotCloud 开源的一个高级容器引擎,源代码托管在 Github 上,基于Go语言并遵从Apache2.0协议开源。Docker相当于物…

jeecg boot一对多新增的附表不会主键是一个string_测试开发专题:spring-boot如何使用JPA进行双向一对多配置...

本片文章我们主要介绍spring-boot如何进行JPA的配置以及如何进行实体间的一对多配置。 依赖准备 要在spring-boot使用jpa需要在项目中有进入相关的依赖&#xff0c;pom文件里加入下面内容 <dependency><groupId>org.springframework.boot</groupId><artif…

揭秘阿里机器翻译团队:拿下5项全球冠军,每天帮商家翻译7.5亿次

摘要&#xff1a; 跨境电商市场越来越大&#xff0c;商家们也遇到了新问题。以阿里巴巴国际站为例&#xff0c;七成买家以英语沟通&#xff0c;剩下三成的小语种&#xff0c;却难住了平台上近96%的卖家。 “翻译和本地化都做不好&#xff0c;说明你对海外市场根本不重视&#x…

IDC与浪潮联合发布2019数据及存储发展报告:中国迈入新数据时代元年

戳蓝字“CSDN云计算”关注我们哦&#xff01;企业数字化转型进程不断加速&#xff0c;物理世界与虚拟世界正在融合。当两个世界不断以数据的形式互相映射和影响的时候&#xff0c;时代将从量变积累到质变。新数据时代元年已经到来。10月18日&#xff0c;在IDC中国数字化转型年度…

linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(执行安装_07)

接上一篇&#xff1a;linux CentOS7最小化安装环境静默安装Oracle11GR2数据库&#xff08;修改配置文件_06&#xff09; 执行安装前的准备工作&#xff1a; 创建ORACLE实例前提&#xff0c;准备下面6项工作 序号说明链接①安装操作系统https://blog.csdn.net/weixin_40816738/…

e盾网络验证源码_Laravel [mews/captcha] 图片验证码

1 安装配置1.1 使用 composer 安装 [mews/captcha] 扩展composer require mews/captcha项目根目录 composer.json -> require 会新增一行(我的 laravel 版本是 5.6)"mews/captcha": "^3.0"1.2 config/app.php 添加相应代码providers>[ // ... …

开源工具Arena,数据科学家再也不用为Kubernetes犯难啦!

摘要&#xff1a; 为什么要用Kubernetes去难为数据科学家呢&#xff1f; 2018年7月&#xff0c;阿里云将深度学习工具Arena贡献给了开源社区&#xff0c;数据科学家无需学习底层IT资源使用&#xff0c;即可在云端运行深度学习&#xff0c;一分钟内启动深度学习任务&#xff0c…

mysql时间模糊查询_mysql中那些根据时间查询的sql语句

在我们使用mysql是免不了要根据时间去查询一些数据&#xff0c;这个时候一般有几种方式可以去查询。第一种数据库&#xff0c;如果有数据新建时间可以以这个时间为节点&#xff0c;通过当前时间条件去比较时间来查询到此段时间内的数据例如&#xff1a;这个是可传参数的SELECT …

专访阿里数据库备份专家 教你pick最有效的备份系统

摘要&#xff1a; 数据库备份是个老生常谈的话题&#xff0c;看似很简单&#xff0c;但在实际操作过程中&#xff0c;运维人员往往会遇到这样或那样的坑。那么&#xff0c;如今的数据库备份有哪些挑战&#xff1f;如何构建有效备份系统&#xff1f;有什么解决办法&#xff1f; …

linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(静默创建实例_08)

接上一篇&#xff1a;linux CentOS7最小化安装环境静默安装Oracle11GR2数据库&#xff08;执行安装_07&#xff09; 创建ORACLE实例前提&#xff0c;准备下面7项工作 序号说明链接①安装操作系统https://blog.csdn.net/weixin_40816738/article/details/104454497②安装常用工…

当我们在聊 Serverless 时你应该知道这些 | CSDN博文精选

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 杨泽强&#xff08;竹涧&#xff09;转自 &#xff5c; CSDN企业博客责编 | 阿秃说起当前最火的技术&#xff0c;除了最新的区块链、AI&#xff0c;还有一个不得不提的概念是 Serverless。Serverless 作为一种新型的互联网架…