Nginx HttpHeader增加几个关键的安全选项

在为像德勤这样的专业渗透测试(Pentest)场景中,确保网站的安全性并顺利通过严格的安全审查,需要对安全头进行更精细、专业的配置。

以下是对每个选项的建议以及设置值的详细说明:

1. Strict-Transport-Security (HSTS)

确保所有通信都通过HTTPS进行,并防止降级攻击。

推荐值:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

参数解释:

  • max-age=31536000:将HSTS的缓存有效期设置为1年(以秒为单位),确保长期有效。
  • includeSubDomains:将HSTS策略扩展到所有子域名,降低主域和子域之间的攻击风险。
  • preload:将域名提交到HSTS预加载列表,以防止首次访问时的降级攻击。需要在HSTS Preload List提交域名。

2. Content-Security-Policy (CSP)

定义允许加载的内容来源,以防止跨站脚本(XSS)和数据注入攻击。

推荐值(需根据业务需求定制):

add_header Content-Security-Policy "default-src 'none'; script-src 'self'; style-src 'self'; img-src 'self' data:; font-src 'self'; object-src 'none'; frame-ancestors 'none'; base-uri 'self'; form-action 'self';" always;

参数解释:

  • default-src 'none':默认禁止加载任何外部资源。
  • script-src 'self':仅允许加载本域的脚本。
  • style-src 'self':仅允许加载本域的样式。
  • img-src 'self' data::仅允许加载本域的图片和Base64内嵌的图片。
  • font-src 'self':仅允许加载本域的字体。
  • object-src 'none':禁止加载插件内容(如Flash)。
  • frame-ancestors 'none':防止网站被嵌入到iframe中,以防止点击劫持攻击。
  • base-uri 'self':限制标签的URL。
  • form-action 'self':只允许表单提交到本站,以防止CSRF攻击。

注意:

  • CSP策略需与网站的实际需求相匹配,以避免破坏正常功能。
  • 如果网站需要使用第三方资源(如Google Fonts或CDN),需明确指定来源,例如:
script-src 'self' https://example.com; style-src 'self' https://fonts.googleapis.com;

3. X-Content-Type-Options

防止MIME类型混淆攻击,强制浏览器遵循Content-Type响应头。

推荐值:

add_header X-Content-Type-Options "nosniff" always;

参数解释:

  • nosniff:禁止浏览器进行内容类型嗅探,以防止将非预期内容(如脚本文件)执行。

4. X-XSS-Protection

启用浏览器的内置XSS保护机制(某些现代浏览器已默认禁用该功能)。

推荐值:

add_header X-XSS-Protection "1; mode=block" always;

参数解释:

  • 1:启用XSS保护。
  • mode=block:检测到潜在攻击时,阻止页面加载,而不是仅仅清理恶意内容。

注意:

  • 当前浏览器(如Chrome和Edge)不再支持XSS保护头部,建议将CSP作为首选防护方案。
  • 如果目标用户中仍有使用旧版浏览器的场景,可以启用此头。

其他安全头建议(可选):

1. Referrer-Policy

控制浏览器在跳转时发送的引用信息。

add_header Referrer-Policy "strict-origin-when-cross-origin" always;

2. Permissions-Policy (前身为Feature-Policy)

限制浏览器功能(如地理位置、摄像头、麦克风等)的访问权限。

add_header Permissions-Policy "geolocation=(), camera=(), microphone=()" always;

检查安全头的生效情况:

  1. 工具推荐:使用以下工具验证头部配置:
  2. Security Headers
  3. [Mozilla Observatory](https://observatory

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/4437.html

(0)
LomuLomu
上一篇 2024 年 12 月 26 日
下一篇 2024 年 12 月 26 日

相关推荐

  • 【GreatSQL优化器-08】statistics和index dives

    【GreatSQL优化器-08】statistics和index dives 一、statistics和index_dives介绍 GreatSQL的优化器对于查询条件带有范围的情况,需要根据 mm tree 来估计该范围内大概有多少行,然后以此来计算cost。对于等号条件,给出了两种方法来估计对应行数–Statistics和index dives,前者不…

    2024 年 12 月 30 日
    59200
  • 【Java】:lambda 表达式

    📃个人主页:island1314 🔥个人专栏:java学习 ⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 1. 背景 🚀 🔥 Lambda 表达式 是JDK8新增的特性,Lambda 表达式 可以取代大部分匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以将函数作为一个方法的参数,也就是函数作为参数传递到方法中,极大地优化代…

    2024 年 12 月 30 日
    59600
  • python SQLAlchemy ORM——从零开始学习 01 安装库

    01基础库 1-1安装 依赖库:sqlalchemy “`python pip install sqlalchemy #直接安装即可 “` 1-2导入使用 这里讲解思路【个人的理解】,具体写其实就是这个框架: 导入必要的接口【有创建engine以及declarative_base】 通过create_engine接口创建engine,根据翻译可以翻译成引…

    2025 年 1 月 13 日
    55900
  • 【Java异常处理】Spring框架中Bean创建失败的解决方案剖析

    欢迎语 诚挚欢迎各位技术爱好者来到这个知识分享平台!在这里,我们不仅能交流前沿技术,还能共同探讨开发中的疑难杂症。期待与您携手在编程世界里不断进步! 问题概述 在基于Spring框架的Java应用开发过程中,org.springframework.beans.factory.BeanCreationException是开发者经常遭遇的典型异常。这个异常通常出…

    2025 年 5 月 19 日
    53800
  • 深入浅出:Java 抽象类与接口

    前言 Java 是一种面向对象的编程语言,其中 抽象类 和 接口 是实现多态和设计模式中的重要工具。它们在编程中具有重要的地位,能够有效提高代码的灵活性和可维护性。尽管它们有一些相似之处,但在语法和应用场景上存在许多不同点。本博客将深入探讨 抽象类 和 接口。 一、什么是抽象类(Abstract Class)? 1. 抽象类的定义 抽象类是一个不能被实例化的…

    未分类 2025 年 1 月 12 日
    58400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信