当前位置: 首页 > article >正文

网络安全-HSTS

什么是HSTS?

  HTTP严格传输安全协议(HTTP Strict Transport Security,简称:HSTS)

  是互联网安全策略机制。网站可以选择使用HSTS策略,来让浏览器强制使用HTTPS与网站进行通信,以减少会话劫持风险。

有什么用?

  HSTS的作用是强制客户端(如浏览器)使用HTTPS与服务器创建连接。

  服务器开启HSTS的方法是,当客户端通过HTTPS发出请求时,在服务器返回的超文本传输协议(HTTP)响应头中包含Strict-Transport-Security字段。

  非加密传输时设置的HSTS字段无效。

  如果一个url的响应头含有 Strict-Transport-Security: max-age=31536000; includeSubDomains。

  在接下来的31536000秒(即一年)中,浏览器向该URL或其子域名发送HTTP请求时,必须采用HTTPS来发起连接。 

     

  HSTS可以用来抵御SSL剥离攻击。SSL剥离攻击是中间人攻击的一种,SSL剥离的实施方法是阻止浏览器与服务器创建HTTPS连接。它的前提是用户直接在地址栏输入https://,用户总是通过点击链接或重定向,从HTTP页面进入HTTPS页面。

  所以攻击者可以在用户访问HTTP页面时替换所有https://开头的链接为http://,达到阻止HTTPS的目的。

  HSTS可以很大程度上解决SSL剥离攻击,因为只要浏览器曾经与服务器创建过一次安全连接,之后浏览器会强制使用HTTPS,即使链接被换成了HTTP。

  另外,如果中间人使用自己的自签名证书来进行攻击,浏览器会给出警告,但是许多用户会忽略警告。HSTS解决了这一问题,一旦服务器发送了HSTS字段,将不再允许用户忽略警告。


http://www.kler.cn/a/538587.html

相关文章:

  • Docker 部署 RabbitMQ | 自带延时队列
  • 多路文件IO
  • VSCode便捷开发
  • MariaDB *MaxScale*实现mysql8读写分离
  • 38、【OS】【Nuttx】OSTest分析(3):参数传递
  • 探索前端框架的未来:Svelte 的崛起
  • python3中字符编码的问题
  • c#序列化和反序列化(一)
  • golang 开启HTTP代理认证
  • Spring-RetryTemplate
  • 解构赋值在 TypeScript 中的妙用:以 Babylon.js 的 loadModel 函数为例
  • 优惠券平台(一):基于责任链模式创建优惠券模板
  • 侯捷C++课程学习笔记:从内存管理到面向对象编程的深度探索
  • 分享2款 .NET 开源且强大的翻译工具
  • 在线SQL转JSON-GO在线工具集
  • Visual Studio(VS)初始配置环境(scanf异常)
  • Spring(26) spring-security-oauth2 官方表结构解析
  • 前端工程师的AI协作:增强与赋能
  • leetcode_深度搜索和广度搜索 94. 二叉树的中序遍历
  • Ubuntu 作为 FTP 服务器,Windows 作为 FTP 客户端
  • 元宇宙中的隐私与数据保护:Facebook 的挑战与机遇
  • 从零开始人工智能Matlab案例-粒子群优化
  • 武汉火影数字|VR虚拟现实:内容制作与互动科技的奇妙碰撞
  • 人工智能A*算法-爬坡路段增加移动代价,在狭窄街道考虑车辆的转弯半径
  • CF 69A.Young Physicist(Java实现)
  • Java高频面试之SE-19