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 以外的其他方法或途径,但这些概念通常密切相关。
ArcGIS 软件依赖于各种 HTTP 请求类型和响应,从 GET、POST 和 OPTIONS 请求到大型内容正文、唯一标头以及各种基于令牌的身份验证方法。 过于保守的 WAF 可能会给 ArcGIS Enterprise 部署的客户端应用程序带来问题。
在 ArcGIS 部署中实施或使用 WAF 时,请考虑以下一些指导:
Esri 基于 Azure WAF 产品提供了 WAF 规则兼容性的详细示例,以识别可能导致 ArcGIS 部署出现问题且应禁用的规则或配置。 此文档位于 ArcGIS 信任中心:ArcGIS Enterprise Web 应用程序过滤器规则中(需要 ArcGIS 登录账户)。
此示例包括来自一个特定 WAF 提供商的特定规则,但可能会为将来配置组织特定 WAF 规则集提供一条更简单的路径。 另请记住,某些应用程序功能可能会被 WAF 阻止,这可能是可以接受的,如果该应用程序或服务从未计划与系统一起使用,则流量被阻止的这一事实可能不被视为问题。 随着进一步的 WAF 测试或验证完成,此页面上将引用更多资源 - 目前,Azure WAF 规则集是唯一可用的详细示例,但是它可以为其他 WAF 产品或服务的正确配置提供参考。