用HSTS进一步增强网站安全性

news/2024/5/2 15:21:38/文章来源:https://blog.csdn.net/weixin_33827590/article/details/88961759

由于 Let's Encrypt 等免费证书的存在,各位站长都可以很容易的加固自己的网站。然而 HTTPS 不是万能药,并不是加入 HTTPS 支持就万事大吉了。

譬如说,就算你加入了 HTTPS 支持,要如何让用户使用 HTTPS 连接呢?包括笔者在内,估计没有人会手工输入那个奇怪的 https:// 协议头,而浏览器总是会把无协议头的网址默认当做 http 协议。于是,当用户输入了你网址的域名回车的时候,用户的电脑就和你的服务器建立了非安全的连接。有人说他们已经配置服务器当用户使用 HTTP 协议连接时重定向至 HTTPS,但这样并不完全解决问题:就算返回的是一个 301 重定向,未加密就是未加密,中间人可以为所欲为,比如读取用户上传的请求头,篡改服务器返回的 301 地址到别的网站等。

必须由一种机制强制用户使用 HTTPS 协议连接服务器,这就是 HSTS 的作用。

什么是 HSTS

HTTP严格传输安全(英语:HTTP Strict Transport Security,缩写:HSTS)是一套由互联网工程任务组发布的互联网安全策略机制。网站可以选择使用 HSTS 策略,来让浏览器强制使用 HTTPS 与网站进行通信,以减少会话劫持风险。

对于启用 HSTS 的网站,浏览器会做到以下几点:

  1. 强制使用 HTTPS 协议连接。对于不安全的访问协议,浏览器会在内部将其重定向至 HTTPS 协议。包括并不限于

    1. 用户没有输入协议头
    2. 用户输入了 http:// 协议头
  2. 当浏览器发现服务器证书错误,强制阻止用户建立连接

如何启用 HSTS

添加返回头:

Strict-Transport-Security: max-age=<过期时间>; includeSubDomains

其中 includeSubDomains 是可选的,表示给当前域名下的子域名也启用 HSTS 支持。

值得注意的是:客户端必须与服务器建立安全连接时(当使用 HTTPS 协议连接并且无证书错误) Strict-Transport-Security 头才会被浏览器认可。这是因为非安全连接下中间人可以添加或者删除这个头,在建立真正安全的连接时一切都是不可信的。

如果要提前关闭 HSTS,可以使用类似清除 Cookie 的做法:

Strict-Transport-Security: max-age=0; includeSubDomains

同样需要建立安全连接才会生效。

预加载 HSTS

前面提到,HSTS 是服务器返回给浏览器的一个返回头,并且只会在建立安全连接时才会生效。那么就引出了另一个问题:如果用户从未访问过你的网站,而在第一次访问就被劫持了怎么办?

所以问题在于,除非客户端与服务器建立过连接,否则浏览器不知道服务器是否支持 HTTPS 请求,更不知道该站点是否想要启用 HSTS。谷歌想出了一个办法:把想启用 HSTS 的所有站点的域名预先写进浏览器代码不就好了。这就是 Preloading Strict Transport Security

谷歌维护了一个名为 HSTS Preload List Submission 的网站,专门用于申请让浏览器给各站点内置开启 HSTS 支持。申请预加载 HSTS 需要站点满足更为严格的条件:

  1. 提供一个有效的证书。
  2. 如果你的站点同时启用了 HTTP 支持(监听 80 端口),必须把 HTTP 重定向到同一域名的 HTTPS 网址(例如将 http://domain.com 重定向到 https://www.domain.com 是不可以的)
  3. 所有子域名也必须启用 HTTPS 连接
  4. 返回一个满足以下条件的 HSTS 头

    1. max-age 至少需要 18 个月(大于等于 10886400 秒)
    2. 必须指定 includeSubDomains
    3. 必须指定 preload(preload 是谷歌给 HSTS 头添加的扩展值)
    4. 如果这个域名会重定向到另一个域名,前面的域名也必须添加 HSTS 头(例如 https://domain.com 重定向到 https://www.domain.com,前者需要添加 HSTS 头)

满足这些条件后,你就可以在其官方网站上给你的域名申请预加载 HSTS。如果申请通过,等待一段时间后你的域名就会被 Hard code 到浏览器内部了。不仅是 Chrome,IE、Edge、Firefox 都会采用。可以用这个网站检测你域名是否支持预加载 HSTS。

PS:EOI 的顶级域名 eoitek.com 同样支持预加载 HSTS,不来转转么?

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

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

相关文章

【服务器架构】十张图带你了解大型网站架构

说道大型网站&#xff0c;就的先说大型网站的特点&#xff1a;高并发&#xff0c;大流量&#xff0c;高可用&#xff0c;海量数据等。下面就说说大型网站的架构演化过程吧。 1、初始阶段的网站架构 初始阶段都比较简单&#xff0c;通常一台服务器就可以搞定一个网站了&#xff…

【服务器架构】网站架构要素和高性能架构

为了使网站的能够应对高并发访问&#xff0c;海量数据处理&#xff0c;高可靠运行等一系列问题&#xff0c;我们可以选择横向或纵向两个方向来入手 基本思路 首先可以对整个架构进行分层&#xff0c;一般可以分为 应用层&#xff0c;服务层&#xff0c;数据层&#xff1b;实践中…

利用python并发模块进行网站的状态检测

python curl.py #!/usr/bin/python # -*- coding: utf-8 -*- import httplib #连接服务器 connhttplib.HTTPConnection(www.dnspod.cn) #发送HTTP请求 conn.request(GET,url) #得到结果 resultconn.getresponse() #获取HTTP请求结果值。200为成功 resu…

某个网站浏览器指纹提取算法

为什么80%的码农都做不了架构师&#xff1f;>>> function getFingerprint() {var b "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.3408.400 QQBrowser/9.6.12028.400"…

网站被黑——bugku

刚刚做了bugku的题目&#xff0c;现在整理一下 写出解题思路&#xff0c;希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找&#xff0c; 希望你们不要责怪&#xff01;&#xff01;共勉&#xff01;&#xff01;&…

分享一些好用的网站

前言 这两年收藏了不少网站&#xff0c;特地整理一下&#xff0c;把一些大家都可能用得上的分享出来&#xff0c;希望能对你有用。 考虑到有一些网站大多数人都知道&#xff0c;所以我就不列出来了。 我把这些网站分为了几大类&#xff1a; 工具类素材类社区类工具类 1、start.…

JSON.parseObject 和 JSON.toJSONString 实例

JSON.parseObject&#xff0c;是将Json字符串转化为相应的对象&#xff1b;JSON.toJSONString则是将对象转化为Json字符串。在前后台的传输过程中&#xff0c;Json字符串是相当常用的&#xff0c;这里就不多介绍其功能了&#xff0c;直接举一下应用的小例子&#xff0c;帮助理解…

未备案或未接入,该网站暂时无法访问,网站未备案。

2019独角兽企业重金招聘Python工程师标准>>> 该网站暂时无法访问 尊敬的用户&#xff0c;您好 很抱歉&#xff0c;该网站暂时无法访问&#xff0c;可能由以下原因导致&#xff1a; 原因一&#xff1a;未备案或未接入&#xff1b;根据《非经营性互联网信息服务备案管…

背景图页面缩小会变形_湖南网站建设背景图这样使用,让你的网站瞬间提升好几个档次...

虽然湖南网站建设中背景图片的运用相对麻烦和困难&#xff0c;但是运用得好会对网站推广发展大有裨益。另外一方面因为背景图片往往会涉及到不同终端的兼容和显示问题&#xff0c;设计师可能要考虑到在不同平台、终端的效果呈现和程序匹配。那么湖南网站建设背景图使用需要注意…

学做网站用什么服务器,做网站需要学习什么

做网站需要学习什么&#xff1f;随着现在互联网发展的普及和完善&#xff0c;越来越多的人希望能通过互联网进行创业&#xff0c;但在互联网上创业就必须搭建自己的网站平台。那么我要创建一个网站&#xff0c;需要掌握和了解哪些基础要点呢&#xff1f;1、清楚2、常用建站工具…

tomcat网站测试linux,Tomcat6 Tomcat7对比测试

0摘要本文首先简述了Tomcat7的新特性和增强功能。然后对比tomcat6做了性能测试&#xff0c;测试结果表明&#xff0c;tomcat7的在性能上没有明显的提升&#xff0c;而主要贡献在于Servlet 3.0&#xff0c;内存检测泄露和增强的安全特性。1 Tomcat7的特性目前tomcat7已经发布到第…

Wordpress 插件出现漏洞,网站可能被攻击者接管

开发四年只会写业务代码&#xff0c;分布式高并发都不会还做程序员&#xff1f; 据安全研究人员警告&#xff0c;因旧版 Wordpress Simple Social Button 插件出现漏洞&#xff0c;使用这个插件的网站应该尽快更新软件&#xff0c;避免攻击者攻击并接管网站。Simple Social B…

10个国外免费下载电子书网站

1、FreeBookSpot FreeBookSpot是一个在线免费电子书下载网站。网站拥有96个类别&#xff0c;大约71.97 GB的免费电子书籍。用户可以搜索和分类下载免费书籍&#xff0c;如科学&#xff0c;工程&#xff0c;编程&#xff0c;小说和其他许多书籍。FreeBookSpot无需注册&#xff0…

云速建站配置https证书

2019独角兽企业重金招聘Python工程师标准>>> 1、购买证书&#xff0c;阿里云、华为云均有&#xff0c;自行购买下载即可。 2、购买服务器&#xff0c;用于配置证书&#xff0c;同时在服务器上安装web服务器&#xff0c;配置https 3、云速建站后台对证书的域名添加证…

如何让设置样式让网站文字无法复制

今天在解决一个网站的时候偶然遇到了网站文字无法复制。 到最后终于找出来原因。现在分享出来给你大家 原因一 我的文字无法复制的一个原因是 被包裹了 A 标签 a标签如下 这样的话&#xff0c;会给页面带上一个类似于遮罩的感觉&#xff0c;所以 果断的把 href 去掉这样就可…

网站开发快速入门教程-3

声明&#xff1a;本网站开发快速入门教程系列为刘兴(http://deepfuture.iteye.com/)整理&#xff0c;如果转载请注明转载来源 WEB服务器原理 您是否曾经对将此网页传送给您的机制感到好奇&#xff1f;假设此刻您正坐在计算机前在浏览器中查看这个网页。在您单击这个网页的链接…

在线生成彩字在线制作动态特效文字的2个网站

1Textanim - 是一个在线生成动态文字效果的站点&#xff0c;操作简单&#xff0c;输入想要生成的英文字母或单词,选择字体和彩字样式,就能可以轻松生成。提供了上百种的花纹可以选择使用。提供设置项包括&#xff1a;1.字体2.字体大小3.背景颜色4.自动大小5.影音位置6.动画延时…

设计人员一些常用的网站

亚洲ci网——http://www.asiaci.com/ (点击这里) 中国ci网—— http://www.cn-cis.com/ (点击这里) 中国包装设计网—— http://www.chndesign.net/ (点击这里) limon企业识别—— http://www.limon.com.cn/ (点击这里) 中国色彩—— http://www.cncolor.net/ (点击这里) logo吧…

OpenSource事业受挫,开源网站BerliOS因资金问题年底将关闭

BerliOS.de今天释出的新闻&#xff08;https://developer.berlios.de/forum/forum.php?forum_id37450&#xff09;我之前在这个网站上的资源全是开源的&#xff0c;代码由世界各地的爱好者编写&#xff08;主要还是欧洲的&#xff09;&#xff0c;project的文档什么的都很详细…

scrip如何显示值到网页_在线免费用!这个网站帮你测试响应式网页效果

链接&#xff1a;https://www.uisdc.com/everysize#现在很多人是通过智能手机或平板电脑浏览网页&#xff0c;在网页设计上就要考量到如何让不同尺寸屏幕大小也能正常显示&#xff0c;以往会制作成电脑版和手机版两种格式&#xff0c;后来多半以响应式网页设计(Responsive web …