跳转至

Index

不安全的 HTTP 头设置

描述

不安全的 HTTP 响应头设置(Insecure Header Setting):

  • Content Security Policy:通过指定受信任的的内容来源,降低跨站脚本(XSS)的风险。
  • Cookie:通过设置 HttpOnly 和 Secure 等属性来增强安全性,保护 Cookie 数据免受未经授权的访问。
  • Cross-Origin Resource Sharing:控制资源如何在不同域之间共享,以防止恶意访问。
  • HTTP Public Key Pinning:通过指定哪些公钥对特定站点有效,防止中间人(MitM)攻击。
  • Redirection:确保重定向安全,并且只指向受信任的目标,从而防止开放重定向漏洞。
  • Referrer Policy:定义从一个站点导航到另一个站点时传递的 Referrer 信息的范围,从而增强隐私。
  • Subresource Integrity:通过检查密码学哈希值,验证从第三方域加载的资源未被篡改。
  • X-Content-Type-Options:防止浏览器对内容类型进行 MIME 嗅探(MIME-sniffing),降低基于内容类型的攻击风险。
  • X-Frame-Options:通过控制页面是否可以嵌入在 Frame 中,防止点击劫持攻击。
  • X-XSS-Protection:激活浏览器内置的 XSS 过滤机制,拦截已检测到的跨站脚本攻击。
  • Permissions-Policy:控制在浏览器中可以使用哪些功能和 API,通过限制不可信内容的功能来增强安全性。
  • Clear-Site-Data:允许站点请求浏览器清除指定域的存储数据(Cookie、本地存储、缓存等),以帮助减轻数据泄露或隐私问题所造成的影响。

建议

为了确保您的 HTTP 响应头配置安全,请考虑以下设置:

  1. Content Security Policy (CSP):

实施对内容源的限制,以降低与跨站脚本(XSS)攻击和未经授权的资源加载相关的风险。

Content-Security-Policy: default-src 'self'; script-src 'self' https://cdnjs.cloudflare.com;
  1. Cookie Security Headers:

部署 Secure 和 HttpOnly 标志以防止 Cookie 被窃取和篡改,从而增强用户会话的安全性。

Set-Cookie: sessionid=abc123; Secure; HttpOnly;
  1. Cross-Origin Resource Sharing (CORS):

正确配置 CORS 策略,以限制来自不同源的资源访问,从而缓解跨站请求伪造(CSRF)和跨源数据泄露风险。

Access-Control-Allow-Origin: https://example.com
  1. HTTP Public Key Pinning (HPKP):

利用 HPKP 将公钥与特定 Web 服务器绑定,防止涉及伪造证书的中间人(MitM)攻击。

Public-Key-Pins: pin-sha256="base64=="; max-age=5184000; includeSubDomains;
  1. Redirection Headers:

通过实施严格控制来防止开放重定向漏洞,确保重定向的安全性,从而保护用户免受网络钓鱼攻击。

Location: https://example.com/secure-page
  1. Referrer Policy:

设置合适的 Referrer 策略以控制在 Referer 头中传递的信息量,降低敏感数据泄露的风险。

Referrer-Policy: strict-origin-when-cross-origin
  1. Subresource Integrity (SRI):

实施 SRI 以验证外部资源(如脚本和样式表)的完整性,防范未经授权的篡改和供应链攻击。

<script src="https://example.com/example.js" integrity="sha256-base64==" crossorigin="anonymous"></script>
  1. X-Content-Type-Options:

启用 'nosniff' 指令以防止浏览器对响应执行 MIME 嗅探,缓解与内容类型混淆攻击相关的风险。

X-Content-Type-Options: nosniff
  1. X-Frame-Options:

设置 X-Frame-Options 以限制 Web 内容被嵌入到 Frame 中,防御点击劫持攻击,并确保 Web 页面的完整性。

X-Frame-Options: DENY
  1. X-XSS-Protection:

通过指示浏览器清理(Sanitize)或拦截潜在的恶意脚本,启用 XSS 防护机制以缓解 XSS 攻击。

X-XSS-Protection: 1; mode=block

链接

标准

  • OWASP_ASVS_L1:
    • V5_1_3
    • V14_5_3
  • OWASP_ASVS_L2:
    • V5_1_3
    • V14_5_3
  • OWASP_ASVS_L3:
    • V5_1_3
    • V14_5_3
  • HIPAA_CONTROLS:
    • SECURITY212
    • SECURITY213