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. **工具推荐** :使用以下工具验证头部配置: 
   * [Security Headers]()
   * [Mozilla Observatory]()
2. 使用 `curl` 查看响应头:

curl -I https://your-domain.com

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

(0)
LomuLomu
上一篇 2024 年 12 月 30 日 上午10:22
下一篇 2024 年 12 月 30 日 上午11:23

相关推荐

  • 永久有效的IDEA激活破解教程(2024亲测有效!)

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

    未分类 2024 年 7 月 10 日
    9.1K00
  • 常见的图形库对比 Echarts Highcharts AntV

    图形库 图形库 特点 图表类型 适用场景 依赖项 官网/文档 ECharts 功能丰富,支持大规模数据,交互性强 折线图、柱状图、饼图、地图、雷达图、散点图、热力图等 复杂数据可视化 无 https://echarts.apache.org/ Chart.js 简单易用,轻量级,支持响应式设计 折线图、柱状图、饼图、雷达图、散点图等 简单图表,快速开发 无 …

    未分类 2025 年 1 月 12 日
    45600
  • 利用Java与GeoTools实现矢量边界自动生成地理网格的技术方案

    目录背景概述一、数据准备与实现原理1、矢量数据预处理2、网格生成技术原理二、具体编码实现1、获取Shapefile边界范围2、构建网格要素集合3、输出Shapefile文件三、成果检验与评估1、输出文件格式说明2、GIS软件验证方法四、技术总结与展望 背景概述 在数字地理信息处理领域,空间数据的转换与处理技术日益重要。矢量数据以其精确的空间表达能力广泛应用于…

    2025 年 5 月 19 日
    1.0K00
  • PostgreSQL 数据库的启动与停止管理

    title: PostgreSQL 数据库的启动与停止管理date: 2024/12/28updated: 2024/12/28author: cmdragon excerpt:作为一个强大的开源关系数据库管理系统,PostgreSQL在众多应用场景中发挥着关键作用。在实际使用过程中,对于数据库的启动和停止操作至关重要。这不仅关系到数据库的正常运行,也直接影…

    2025 年 1 月 6 日
    39200
  • chrome浏览器如何设置默认的搜索引擎

    前言 大家好,我是小徐啊。chrome浏览器是我们常用的浏览器,在我们开发java应用的时候,是不可或缺的。而我们开发中,经常会遇到各种各样的问题,这个时候就需要去搜索。其实,在chrome浏览器中,是可以直接在地址栏中输入关键词进行搜索的,且可以支持设置搜索引擎的,今天小徐就来介绍下。文末附获取方式。 打开chrome浏览器设置界面 首先,在浏览器的界面上…

    2024 年 12 月 30 日
    51100

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信