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 日

相关推荐

  • 架构-初识BFF

    引言 在最近的一次公司技术分享会上,我们深入探讨了公司的项目架构。核心议题是BFF架构,这是一种在微服务架构之上增加的额外层级。此外,我们还讨论了DDD(领域驱动设计)理念,它在订单、用户等业务中台中扮演着关键角色。 这是我对架构领域的初步探索,虽然理解尚浅,但我还是尝试着将所学内容进行了整理。 BFF 定义 BFF,即Backend For Fronten…

    2024 年 12 月 26 日
    43300
  • Java内存泄漏问题的高效排查与优化指南

    目录导航1. 系统化诊断与优化框架2. 内存快照获取技术2.1 自动生成堆转储文件2.2 手动创建堆转储文件3. 专业分析工具应用3.1 内存分析工具MAT3.2 性能分析工具JProfiler3.3 企业级专用工具4. 深度排查内存泄漏4.1 内存差异对比分析4.2 可疑泄漏对象检测4.3 内存占用大户识别4.4 不可达对象追踪5. 问题确认与验证6. 代…

    2025 年 5 月 13 日
    12400
  • o3 发布了,摔碎了码农的饭碗

    大家好,我是汤师爷~ 在 2024 年底,OpenAI 发布了最新推理模型 o3。o3模型相当炸裂,在世界级编程比赛中拿下第 175 名,打败 99.9% 的参赛者。AI 写代码都赶上顶级程序员了,程序员是不是要失业? 最近不少读者反馈,像 GitHub Copilot、Claude Sonnet 3.5、Cursor 等 AI 辅助编程工具,能让代码编写效…

    2025 年 1 月 14 日
    30700
  • 微服务篇-深入了解索引库与文档 CRUD 操作、使用 RestCliet API 操作索引库与文档 CRUD(Java 客户端连接 Elasticsearch 服务端)

    🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 索引库操作 1.1 Mapping 映射属性 1.2 索引库的 CRUD 1.2.1 创建索引和映射 1.2.2 查询索引库 1.2.3 修改索引库 1.2.4 删除索引库 2.0 文档操作 2.1 新增文档 2.2 查询文档 2.3 删除文档 2.4 修改文档 2.4.…

    2025 年 1 月 17 日
    32700
  • 永久有效的IDEA激活破解教程(2024亲测有效!)

    【永久启用】IDEA 2024.1.2 完备激活指南:配有验证激活码与工具 IntelliJ IDEA 是一款前沿的 Java 集成开发环境,广泛认为是顶级的 Java 工具之一。这篇文章将指导您如何利用脚本来免费激活 IDEA 和整个 Jetbrains 工具套件,适用于 2021 年及之后的版本,包括最新版。 安装 IntelliJ IDEA 您可以从 …

    未分类 2024 年 7 月 10 日
    7.6K00

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信