• lighttpd Response增加安全头Referrer-Policy和X-Permitted-Cross-Domain-Policies方法


    X-Permitted-Cross-Domain-Policies和Referrer-Policy说明

    X-Permitted-Cross-Domain-Policies

           X-Permitted-Cross-Domain-Policies 浏览器提供了许多可选的安全相关功能与特性,这些功能与特性通常可以通过 HTTP 响应头来控制,使用这些功能,可以避免受到浏览器端的用户受到类似CSRF、XSS、Click Hijacking 等前端黑客攻击的影响。Web 服务器对于 HTTP 请 求的响应头中缺少 X-Permitted-Cross-Domain-Policies,这将导致浏览器提供的安全特性失效。 当一些在线的 Web Flash 需要加载其他域的内容时,很多 Web 会通 过设置一个 crossdomain.xml 文件的方式来控制其跨域方式。很有可能有些开发者 并没有修改 crossdomain.xml 文件的权限,但是又有和跨域的 Flash 共享数据的需求,这时候可以通过设置 X-Permitted-Cross-Domain-Policies 头的方式来替代 crossdomain.xml 文件

    语法:

    X-Permitted-Cross-Domain-Policies: master-only
    

    说明:

    1. none
    2. 不允许使用loadPolicyFile方法加载任何策略文件,包括此主策略文件。
    3. master-only:
    4. 只允许使用主策略文件[默认值]。
    5. by-content-type:
    6. 只允许使用loadPolicyFile方法加载HTTP/HTTPS协议下Content-Type 为text/x-cross-domain-policy的文件作为跨域策略文件。
    7. by-ftp-filename:
    8. 只允许使用loadPolicyFile方法加载FTP协议下文件名为 crossdomain.xml的文件作为跨域策略文件。
    9. all:
    10. 可使用loadPolicyFile方法加载目标域上的任何文件作为跨域策略文件,甚至是一 个JPG也可被加载为策略文件

    Referrer-Policy

    Referrer-Policy 首部用来监管哪些访问来源信息——会在 Referer 中发送——应该被包含在生成的请求当中

    语法:

    1. Referrer-Policy: no-referrer
    2. Referrer-Policy: no-referrer-when-downgrade
    3. Referrer-Policy: origin
    4. Referrer-Policy: origin-when-cross-origin
    5. Referrer-Policy: same-origin
    6. Referrer-Policy: strict-origin
    7. Referrer-Policy: strict-origin-when-cross-origin
    8. Referrer-Policy: unsafe-url

    说明:

    1. no-referrer
    2. 整个 Referer 首部会被移除。访问来源信息不随着请求一起发送。
    3. no-referrer-when-downgrade (默认值) 在没有指定任何策略的情况下用户代理的默认行为。在同等安全级别的情况下(HTTPS->HTTPS),引用页面的地址会被发送,但是在降级的情况下 (HTTPS->HTTP)不会被发送。
    4. origin
    5. 在任何情况下,仅发送文件的源作为引用地址。例如 https://example.com/page.html 会将 https://example.com/ 作为引用地址。
    6. origin-when-cross-origin
    7. 对于同源的请求,会发送完整的URL作为引用地址,但是对于非同源请求仅发送文件的源。
    8. same-origin
    9. 对于同源的请求会发送引用地址,但是对于非同源请求则不发送引用地址信息。
    10. strict-origin
    11. 在同等安全级别的情况下(HTTPS->HTTPS),发送文件的源作为引用地址,但是在降级的情况下(HTTPS->HTTP)不会发送 。
    12. strict-origin-when-cross-origin
    13. 对于同源的请求,会发送完整的URL作为引用地址;对于非同源,在同等安全级别的情况下(HTTPS->HTTPS),发送文件的源作为引用地址;在降级的情况下(HTTPS->HTTP)不发送此首部。
    14. unsafe-url
    15. 无论是同源请求还是非同源请求,都发送完整的 URL(移除参数信息之后)作为引用地址。 这项设置会将受 TLS 安全协议保

    lighttpd修改方法

     在lighttpd.conf文件中增加以下配置

    1. setenv.add-response-header += (
    2. "X-Permitted-Cross-Domain-Policies" => "master-only"
    3. )
    4. setenv.add-response-header += (
    5. "Referrer-Policy" => "no-referrer-when-downgrade"
    6. )

    测试

    修改之后重启

    lighttpd  /lighttpd -f /etc/lighttpd.conf

    修改前响应头

    1. Content-Length: 191
    2. content-security-policy: default-src http:
    3. Content-Type: application/json;charset=UTF-8
    4. Date: Fri, 28 Oct 2022 09:31:15 GMT
    5. permissions-policy: interest-cohort=()
    6. strict-transport-security: max-age=300; includeSubDomains
    7. x-content-type-options: nosniff
    8. x-frame-options: SAMEORIGIN
    9. x-xss-protection: 1; mode=block

     修改后响应头

    1. Content-Length: 224
    2. content-security-policy: default-src http:
    3. Content-Type: application/json;charset=UTF-8
    4. Date: Fri, 28 Oct 2022 10:01:49 GMT
    5. permissions-policy: interest-cohort=()
    6. Referrer-Policy: no-referrer-when-downgrade
    7. strict-transport-security: max-age=300; includeSubDomains
    8. x-content-type-options: nosniff
    9. x-frame-options: SAMEORIGIN
    10. X-Permitted-Cross-Domain-Policies: master-only
    11. x-xss-protection: 1; mode=block

    从测试响应可以看到修改之后,响应头增加了以下部分

    1. Referrer-Policy: no-referrer-when-downgrade
    2. X-Permitted-Cross-Domain-Policies: master-only

    参考链接

    响应头缺失、禁用Options方法、解决跨域-pudn.com

    Add HTTP Response Headers in lighttpd • Computer Science and Machine Learning (xarg.org)

  • 相关阅读:
    缓存篇—缓存击穿
    kali插入无线网卡后WiFi图标是灰色,无法扫描网络
    医疗项目业务介绍
    JVM 运行时数据区和垃圾收集算法
    Windows 0x80190001错误登录失败
    GrapeCity 成像文档之 GrapeCity Documents for Imaging
    【Linux】七、基础IO
    RealSense D435 的开发日记(API 汇总)
    RestFul风格
    Huggingface——tensorboard监控训练过程
  • 原文地址:https://blog.csdn.net/wgl307293845/article/details/127576468