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

在面对德勤等专业渗透测试(Pentest)的场景时,为了确保网站的安全性并顺利通过严格的安全审查,对这些安全头部配置进行精细化和专业化的调整是至关重要的。

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

1. Strict-Transport-Security (HSTS)

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

推荐值:

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

参数详解:

  • max-age=31536000:将HSTS的有效期设置为一年(以秒计),确保其长期有效。
  • 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://observ

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

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

相关推荐

  • manim边学边做–移动动画

    在Manim动画库中,实现直线移动动画是一项基础而直接的任务,每个Mobject对象都配备了animate属性,使得通过obj.animate.shift()或obj.animate.move_to()将对象从一个位置移动到另一个位置变得轻而易举。 然而,对于需要遵循复杂路径的移动动画,标准的animate方法就显得力不从心了。本文将深入探讨Manim中两个…

    未分类 2024 年 12 月 26 日
    55700
  • Java技术全景——大数据在智能物流机器人路径优化与任务分配中的创新应用(188)

    🌟亲爱的技术同仁们,诚挚欢迎您访问【云端技术驿站】!在这个数字化浪潮席卷全球的时代,我们致力于打造一个融合创新技术与实践经验的交流平台。这里不仅有前沿的技术分享,更期待您带来独到的行业见解,让我们携手在科技创新的道路上共同成长!🌟全平台账号(微信公众号/CSDN/抖音/华为/支付宝/微博):云端技术驿站一、欢迎加入【技术精英联盟】快速通道1:云端技术精英社群…

    2025 年 5 月 19 日
    86900
  • MySQL连接IDEA(Java Web)保姆级教程

    第一步:新建项目(File)->Project 第二步:New Project(JDK最好设置1.8版本与数据库适配,详细适配网请到MySQL官网查询MySQL :: MySQL 8.3 Reference Manual :: Search Results) 第三步:点中MySQLTest(项目名)并连续双击shift键->搜索Add Framework S…

    2025 年 1 月 15 日
    57300
  • 履约系统:应用层、领域层、集成关系设计

    大家好,我是汤师爷~ 在这篇文章中,我们一起探讨订单履约系统的应用架构设计。 应用架构设计 我们前面讨论了系统的核心概念模型和拆单逻辑。接下来,让我们从应用架构的角度,深入了解系统的各个层次。这包括应用层、领域层,以及与其他系统的集成关系。 应用层能力 应用层定义软件的应用功能,它负责接收用户请求,协调领域层能力来执行任务,并将结果返回给用户,核心模块包括:…

    2025 年 1 月 1 日
    42800
  • Python深度学习(第2版)PDF免费下载

    适读人群 :想要学习深度学习的学生、职业开发者。 流行深度学习框架Keras之父执笔,涵盖Transformer架构等进展,文字生,简单方式解释复杂概念,不用一个数学公式,利用直觉自然入门深度学习。 电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍 点击原文去下载 书籍信息 作者: [美] 弗朗索瓦·肖莱出版社: 人民邮电出版社出品方…

    2024 年 12 月 31 日
    37000

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信