Web 应用程序防火墙 (WAF) 是一种反向代理技术,在开放系统互连 (OSI) 堆栈的第 7 层运行。 它们通常用于保护 Web 应用程序和 Web 服务免受恶意流量或用户的侵害。 WAF 通常部署为硬件或软件组件或者云原生托管服务,主要作为反向代理运行,有时以 1:1 配置部署到后端系统,有时支持多个后端系统和多个前端 IP 或主机名。
Esri 建议在任意 ArcGIS Enterprise 部署中使用 WAF 或类似设备或解决方案。 在设计系统时,应与组织 IT 合作,了解现有的 WAF 实施模式或最佳实践,并尽可能与之保持一致。
本主题通常仅与 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 提供了一个关于 WAF 规则兼容性的详细示例,该示例基于通用的 OWASP 核心规则集,识别其中可能对 ArcGIS 部署造成问题的规则或配置,并在遇到问题时予以慎重考虑。 此文档位于 ArcGIS Trust Center:ArcGIS Enterprise Web 应用程序过滤器规则中。
请记住,某些客户端应用程序功能可能会被 WAF 阻止,这可能是可以接受的,如果该应用程序或服务从未计划与系统一起使用,则流量被阻止的这一事实可能不被视为问题。