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 日

相关推荐

  • 网站动静加速架构 dcdn+ga 全站加速和全球加速api

    # 背景 我们的公司提供的所有服务均位于香港,这意味着我们的客户,主要分布在中国内地,访问这些服务时可能会遇到速度较慢的问题。由于我们专注于NFT领域,因此选择在香港提供服务。 # 一、加速策略 ## 1.1 静态资源加速 静态资源加速是指对如HTML、JavaScript、CSS和图像文件等静态文件的快速分发。利用云服务提供商的CDN服务,我们可以有效地提…

    未分类 2024 年 12 月 24 日
    13000
  • JavaScript 拖拽与观察者模式的实现及应用

    前言 本文将通过几个具体的代码片段,深入探讨 JavaScript 中的拖拽功能和观察者模式(发布-订阅模式)的实现及其应用场景。 这些代码片段不仅展示了如何实现这些功能,还解释了其背后的原理和实际用途。通过阅读本文,读者可以更好地理解 JavaScript 的高级特性,并将其应用到实际项目中。 1. 拖拽功能的实现 代码片段 “`html Documen…

    2025 年 1 月 19 日
    11800
  • 如何做好软件架构师

    本文以个人视野聊下软件架构师的工作以及软件架构设计知识。做开发工作接近10年了,期间主要做Windows应用开发。在成熟的“华南区最大WPF团队”希沃白板呆了较长一段时间、后面从0到1构建Windows技术栈以及会议屏软件集,在软件设计这块自己成长了很多。之前整理过如何做好技术经理 – 唐宋元明清2188 – 博客园,这里梳理下自己的设计思维,算是自己阶段性…

    未分类 2025 年 1 月 12 日
    9800
  • Python Cookbook(第3版)中文版-PDF免费下载

    Python Cookbook(第3版)中文版-PDF免费下载 适读人群 :Python程序开发人员、编程爱好者、在校大学生 电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:https://item.jd.com/13897579.html Python图书升级版本,Python编程从入门到实践,涵盖Python3.3,包含大量实用…

    2024 年 12 月 30 日
    10500
  • java: JDK isn‘t specified for module ‘product-service‘问题解决

    目录 问题 解决方法 1.打开File->Project Structure… 2.将Project SDK修改为17 Oracle OpenJDK 17.0.12,并Apply,OK 问题 添加module后报错:java: JDK isn’t specified for module ‘product-service’ 查看pom.xml文件也添加了…

    2025 年 1 月 9 日
    14400

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信