0


了解HTTP安全标头(HTTP Security Headers)

了解HTTP安全标头(HTTP Security Headers)

安全标头是指定网络客户端(通常是浏览器)和应用程序服务器之间 HTTP 通信行为和安全相关细节的 HTTP 响应标头,其目的是促进深度防御。一旦设置了这些 HTTP 响应头,就能限制现代浏览器运行到容易预防的漏洞,并增加应用程序的安全层。

每个应用程序中配置以下安全标头:

strict-transport-security: max-age=31536000; includeSubDomains; preload
x-xss-protection: 0
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
referrer-policy: no-referrer-when-downgrade
permissions-policy: battery=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()
content-security-policy: frame-ancestors ‘self’; upgrade-insecure-requests; block-all-mixed-content;

strict-transport-security

这个安全标头的全称是HTTP Strict Transport Security(HSTS),它告诉浏览器仅通过HTTPS而不是HTTP来与服务器通信。这可以防止SSL剥离攻击,其中攻击者可能会尝试将用户从安全的HTTPS连接降级到不安全的HTTP连接。通过设置

max-age

参数,你可以指定浏览器应该记住网站仅可通过HTTPS访问的时间长度。

includeSubDomains

指令确保所有子域也将采用这一策略,而

preload

指令意味着你希望你的域名被包含在浏览器的HSTS预加载列表中。

x-xss-protection

这个标头旨在开启特定的浏览器端反射型XSS(跨站脚本)保护机制。然而,由于现代浏览器已经内建了更有效的XSS保护策略,

x-xss-protection: 0

实际上是推荐的设置,因为它禁用了浏览器自带的XSS过滤器,以避免其潜在不一致性和漏洞被利用。

x-frame-options

X-Frame-Options

标头可以防止点击劫持攻击,通过指定你的页面是否可以在其他网站的

<frame>

<iframe>

<embed>

<object>

中显示。

SAMEORIGIN

值指令浏览器只允许来自相同域的页面将当前页面作为frame展示,这样可以防止恶意网站包含你的网页在一个frame中并诱导用户进行不知情的交互。

x-content-type-options

X-Content-Type-Options

标头是为了阻止浏览器去尝试“嗅探”并自动识别错误声明的资源类型,其值为

nosniff

。这主要是为了防止基于MIME的攻击,确保在

Content-Type

头声明为某种类型时,浏览器也将仅以该方式处理响应的内容。

referrer-policy

Referrer-Policy

标头用来控制HTTP Referer标头的内容,影响浏览器将站点的地址通过Referer标头发送给其他网站的方式。

no-referrer-when-downgrade

是默认的行为,意味着当从HTTPS页面导航到HTTP页面时,Referer标头将不会被发送,但在HTTPS到HTTPS的导航中会被发送。

permissions-policy

Permissions-Policy

(以前称为Feature Policy)允许网站作者控制哪些跨域和同域的iframe可以使用哪些特定的Web平台特性。例如,禁用或启用如摄像头、地理位置等功能。在上面的示例中,所有列出的特性都被设置为

()

, 意味着这些特性对所有iframe都被禁用。

content-security-policy

Content-Security-Policy

(CSP) 是一个重要的安全标头,用于减少跨站脚本(XSS)攻击的风险。它可以用来指定哪些动态资源可以被加载和执行。在上面的配置中,

frame-ancestors 'self';

指定页面只能被同源域的页面作为frame嵌套,

upgrade-insecure-requests;

会将所有通过HTTP加载的资源请求自动升级为HTTPS,而

block-all-mixed-content;

阻止页面加载任何混合内容(即同时存在HTTPS和HTTP资源的页面)。

参考链接

  • MDN Web Docs - HTTP 标头
  • Content Security Policy (CSP) 参考文档
  • Web.dev - 提高网页安全性的 HTTP 标头
  • OWASP - HTTP Strict Transport Security Cheat Sheet
  • W3C - Permissions Policy

本文转载自: https://blog.csdn.net/kaka_buka/article/details/137136029
版权归原作者 黑风风 所有, 如有侵权,请联系我们删除。

“了解HTTP安全标头(HTTP Security Headers)”的评论:

还没有评论