Web 应用程序防火墙

Web 应用程序防火墙 (WAF) 是一种反向代理技术,在开放系统互连 (OSI) 堆栈的第 7 层运行。 它们通常用于保护 Web 应用程序和 Web 服务免受恶意流量或用户的侵害。 WAF 通常部署为硬件或软件组件或者云原生托管服务,主要作为反向代理运行,有时以 1:1 配置部署到后端系统,有时支持多个后端系统和多个前端 IP 或主机名。

注:

本主题通常仅与 ArcGIS Enterprise 部署相关。 虽然 ArcGIS Online 包含的安全功能与本文所述的安全功能类似,但不应将客户部署的 WAF 用作访问 ArcGIS Online 资源或内容的前端 URL,因为这是一种不受支持的模式,可能会导致意外行为。

WAF 与常规反向代理不同,因为它们专门用于保护后端应用程序。 它们不仅以透明的方式传递请求,而且通常具有检查请求的逻辑,包括请求 URL、标头、源位置和正文,以查找恶意或潜在恶意内容。 大多数 WAF 都实施一个通用规则集,该规则集由制造商或社区定义,用于识别常见的恶意尝试,例如 SQL 注入尝试、服务器端请求伪造 (SSRF) 或其他类型的行为。 WAF 还可以实施计量,以限制特定时间段内的请求数量,防止分布式拒绝服务 (DoS) 攻击,并过滤访问以阻止来自特定地理区域或来源的 IP。 上述所有规则都可以单独配置打开或关闭,WAF 可以实施成百上千条规则并将其应用于受保护的应用程序。

WAF 通常有两种可配置的模式,包括:

  • 检测模式 – 检测模式通常允许流量以透明方式通过 WAF,但会记录触发规则检测的所有请求,以便管理员可以参考此列表,识别哪些可能代表有效流量,并可能禁用或调整该规则以确保有效请求不会受阻。
  • 保护模式 – 保护模式将主动阻止(返回 HTTP 错误或超时)触发这些规则的所有请求。

入站流量监测

入站流量监测指检查和过滤传入系统的请求,无论这些请求是来自内部来源还是公共来源。 虽然入站流量监测可以指 WAF 以外的其他方法或途径,但这些概念通常密切相关。

使用 WAF 访问 ArcGIS 系统

ArcGIS 软件依赖于各种 HTTP 请求类型和响应,从 GET、POST 和 OPTIONS 请求到大型内容正文、唯一标头以及各种基于令牌的身份验证方法。 过于保守的 WAF 可能会给 ArcGIS Enterprise 部署的客户端应用程序带来问题。

在 ArcGIS 部署中实施或使用 WAF 时,请考虑以下一些指导:

  • 使用实际用户流量启动检测模式:这将有助于识别有效请求(代表真实、有用的用户活动),但如果为其配置了保护模式,则 WAF 会阻止这些请求。
  • 查看现有 Esri 指南:Esri 为 Azure WAF 产品准备了一组建议的规则设置,可用于识别其他 WAF 产品中可能存在问题的其他规则。
  • 测试、测试、测试:启用保护模式时,测试一组全面的工作流(从发布到与数据交互和下载数据),确定哪些规则可能配置错误。 例如,测试长时间运行的同步地理处理请求,确保系统的默认超时不会太短。
  • 通过 1:1 测试进行故障排除:当请求被阻止或通过 WAF 返回错误时,首先使用 HTTP 客户端针对后端 URL(在 WAF 后面)测试请求,以验证是否为系统问题,然后根据需要调整 WAF 配置以允许请求。

Esri 基于 Azure WAF 产品提供了 WAF 规则兼容性的详细示例,以识别可能导致 ArcGIS 部署出现问题且应禁用的规则或配置。 此文档位于 ArcGIS 信任中心:ArcGIS Enterprise Web 应用程序过滤器规则中(需要 ArcGIS 登录账户)。

此示例包括来自一个特定 WAF 提供商的特定规则,但可能会为将来配置组织特定 WAF 规则集提供一条更简单的路径。 另请记住,某些应用程序功能可能会被 WAF 阻止,这可能是可以接受的,如果该应用程序或服务从未计划与系统一起使用,则流量被阻止的这一事实可能不被视为问题。 随着进一步的 WAF 测试或验证完成,此页面上将引用更多资源 - 目前,Azure WAF 规则集是唯一可用的详细示例,但是它可以为其他 WAF 产品或服务的正确配置提供参考。

Top