网站HTTPS评级从A提升至A+
前言
近几年https替代 http越来越成为主流趋势 , https 已是大势所趋。由于 http是明文数据传输的网络协议不加密传输的,过程中容易被截获,破解传递的真实内容,这是一个非常大的安全隐患。而https就是在http的基础上增加了数据加密,在数据进行传输之前对数据进行加密,这样保证了数据传输之间的信息安全。谷歌的 Chrome 浏览器早在2017年1月开始,标记使用不加密的http协议的网站为不安全,提醒用户注意此类网站中的注意保护个人信息数据。
如何达到A+
首先你网站SSL评级是A,才能将评级提升至A+
在myssl平台,可以对我们网站 HTTPS 站点的 SSL证书信息、SSL协议、加密套件、漏洞、不安全的外链等等,进行综合评级。
如果评级已经是A了 想要提升到A+,使用HSTS即可,HTTP严格传输安全协议(HTTP Strict Transport Security,简称:HSTS),是一套由互联网工程任务组发布的互联网安全策略机制。网站可以选择使用HSTS策略,来让浏览器强制使用https与网站进行通信,以减少会话劫持风险, ),简单地说:让客户端在本地强制采用 sttps访问。这个301跳转又不一样, 301 跳转是本地http 请求服务器跳转https的。而HSTS是强制在本地浏览器使用https,对站点访问的。
使用HSTS的方法很简单,只要在添加Strict-Transport-Security这个http头部信息即可。
开启方法:
步骤:如下,登录你的宝塔面板,然后网站—设置——配置文件。保存后,然后重载配置或重启nginx服务即可。
以Nginx为例需要在配置中加入:
add_header Strict-Transport-Security "max-age=31536000"; includeSubdomains; preload";
- max-age,单位是秒,用来告诉浏览器在指定时间内(一年),这个网站必须通过HTTPS协议来访问。即该域名的 http 请求都将自动转为 https 请求。
- includeSubDomains,可选参数,如果指定这个参数,意味着该域名下的所有子域名也都会采用 https 请求。
- preload,可选参数,一个浏览器内置的使用HTTPS的域名列表。
但有一点需要注意,Strict-Transport-Security中的max-age的时间不能小于15552000。
优势:
不仅仅是优势,其实也是最大的安全技术:HSTS可以用来抵御SSL剥离攻击。
何为SSL剥离攻击?就是说人们访问站点的时候,一般都是使用的 http请求,然后再由服务端进行重定向操作,此时攻击者将用户访问的所有 https协议的地址转为http协议的地址,从而达到阻止https的目的,简言之就是偷偷地将目标地址换成指向指定的类似钓鱼网站等地址。
而 HSTS 的作用就是,当浏览器和服务端创建过一次安全连接后,之后所有的请求便都会转换成 https 协议的请求。
弊端:
当 Strict-Transport-Security 还未过期,但是域名的证书已经过期了,此时处于 HSTS 考虑,浏览器仍然会采用 https 的方式访问,即会提示不安全
当主域名的证书并不是通配符证书时,此时子域名会强制走 HSTS,所以也会提示不安全,无法访问
虽然 HSTS 有效抵御了一些不安全的问题(下文会提到),即所有的请求都是走的 https,但是首次访问的时候走的是 http协议(暂不考虑Preload List),黑客也是有机可乘的
Strict-Transport-Security 过期之后的首次请求,走的又是 http协议
以上东西配置好后网站就已经配置好https并且安全等级达到A+
发表吐槽
你肿么看?
既然没有吐槽,那就赶紧抢沙发吧!