以下详细信息描述了部署 ArcGIS Enterprise 时的最佳做法。
应用程序安全性设置
对于 ArcGIS Enterprise 强化实例,建议以下最佳做法。 根据您具体的使用情况,建议您对您的 ArcGIS Enterprise 实施应用以下应用程序级别设置:
- 在整个 ArcGIS Enterprise 实施中需要 HTTPS。
- 通过 HTTPS 可以对您传输中的数据进行加密和保护。
- 请勿向公众公开 ArcGIS Server Manager、服务器管理或门户管理界面。
- 这可以通过部署 web adaptor 或反向代理来实现。
- 禁用生产系统的服务和门户目录。
- 服务目录可以是一种很有用的开发工具;但是,当不希望用户浏览您的服务列表、在 Web 搜索中查找您的服务或通过 HTML 表单请求您的服务时,建议您禁用生产系统的服务目录。
- 禁用服务查询操作(在可行情况下)。
- 如果特定服务不需要查询操作,则应禁用该操作以最小化潜在攻击面。
- 禁用 ArcGIS Server 主站点管理员 (PSA) 帐户,并降级或删除 Portal for ArcGIS 初始管理员帐户 (IAA)。
- 禁用默认帐户可以确保为企业标识存储中标识的管理员提供单一访问路径,并且可以提供其他责任制度。
- 在您的网站下限制商业数据库的使用。
- 不允许公众用户直接(或间接)访问企业级数据库。 文件地理数据库可以作为有用的中介,有助于减少潜在的 SQL 注入攻击。
- 启用标准化 SQL 查询。
- 在 ArcGIS Enterprise 中启用此安全选项后,可以针对 SQL 注入攻击提供更强的保护。
- 限制跨域请求。
- 仅限受信任域允许列表中托管的应用程序可以使用 ArcGIS Enterprise 资源。
- 对于面向公众的应用程序(公司防火墙外可以访问),可以使用 ArcGIS Online 打印服务,而非 ArcGIS Server 打印服务。
- 由此可将请求放置到云基础架构中,防止直接对内部 ArcGIS Server 发出 web 服务请求。
- 如果必须在外部使用 ArcGIS Server 打印服务,通常需要将面向公众的 ArcGIS Enterprise 部署到 DMZ 中,不能部署在受信任网络内部。
有关详细信息,请参阅 ArcGIS Server 安全性的最佳做法和 Portal for ArcGIS 安全性的最佳做法。
安全更新
通过标准安全性修补程序可以解决中等到高风险的漏洞,我们将针对仍处于通用版本和扩展支持阶段的 ArcGIS Enterprise 产品的长期支持 (LTS) 版本发布这些修补程序。 可以使用 CVSSv3.1 公式,通过内部评分来确定风险等级。 有关支持阶段的详细信息,请参阅 Esri 产品生命周期定义,以及介绍 STS 和 LTS 版本的 ArcGIS Enterprise 产品生命周期博客文章的更新。
在 Esri 产品中很少发现经过验证的严重可利用性漏洞。 如果在 Esri 软件中发现经过验证的关键可利用漏洞,则 Esri 会针对所有当前受支持版本的受影响 ArcGIS 软件发布修补程序,无论其所处的支持阶段或长期支持 (LTS) 版本的可用性如何。
针对 ArcGIS Enterprise 发布的安全性修补程序具有累积性,包括之前所有针对修补程序目标 ArcGIS Enterprise 版本发布的安全性修补程序。
身份验证
身份验证涉及在确认客户端身份的连接尝试中验证凭据。
- 使用 GIS 层或 Web 层身份验证时,需要 ArcGIS Enterprise 服务身份验证。 如果使用与 ArcGIS Server 联合的 Portal for ArcGIS,您的客户也可以选择通过 SAML 2.0. 或 OpenID Connect 使用组织特定的登录帐户。
- GIS 层身份验证 - 使用 ArcGIS 令牌模型身份验证和内置用户存储。
- Web 层身份验证 - 可以使用 web 服务器支持的任何身份验证,如集成的 Windows 身份验证,也可以使用组织现有的公钥基础设施 (PKI)。
- 组织特定的登录帐户 - 如果在 ArcGIS Enterprise 部署的过程中,Portal for ArcGIS 与 ArcGIS Server 联合,则还可以选择使用 SAML 登录帐户或 OpenID Connect。
- 集成 SAML 2.0 身份提供者 (IdP) 或 OpenID Connect 以提供 Web 单点登录。
- SAML 和 OpenID Connect 是一种在 IdP 和服务提供者(此处为 Portal for ArcGIS)之间交换身份验证数据时提供安全保护的开放标准。
授权
授权即在访问资源或执行特定功能前验证客户端权限的过程。
- 执行基于角色的访问控制 (RBAC)。
- 使用最小权限模型来管理 ArcGIS Enterprise 中的角色。
- 仅为需要执行所需功能的用户分配权限。
- ArcGIS Server 中存在以下默认角色:
- 管理员
- 发布者
- 用户
- 如果使用 Portal for ArcGIS,建议您使用基于最小权限原则的自定义角色,从而更精细地定义用户访问权限。
加密
加密是一种转换数据的过程,没有获得解密密钥的人无法读取这些数据。
- 通过启用 ArcGIS Enterprise 上的 HTTPS 对传输中的数据进行加密。
- 使用 TLS 1.2。
- 使用现有证书基础结构和由受信任的第三方证书颁发机构签署的证书。
- 加密静止数据(可行),尤其是敏感数据集。
- 针对数据库,请考虑使用透明数据加密 (TDE)。
- 针对文件资料档案库,请考虑使用全磁盘加密。
- 使用强大的加密算法。
- 密码术用于持续更改字段,因此较旧算法总是被发现存在不安全问题。
- 监控 NIST 等标准组织以获取建议。
日志记录与审核
日志记录涉及记录系统中的关注事件。 审核是指为确保系统正常运行或解答有关发生的特定事务的特定问题检查上述日志的行为。
- 日志记录关注事件,如谁在发布服务。
- 确保日志的使用贯穿应用程序系统、操作系统和网络图层。
- 确保按照组织定义的间隔检查日志。
- 使用安全信息和事件管理 (SIEM) 可帮助建立自动关联。
强化
强化是指安全配置系统以尽可能地减少安全风险的过程。 可通过下列方式最大限度减少所给系统的攻击面:
- 实施应用程序级别强化,例如上述指导。
- 移除不必要的软件。
- 禁用不必要的服务。
- 请参阅其他应用程序特定强化指南,例如 Esri ArcGIS Server STIG。
- 操作系统供应商基准策略,使用 Microsoft Security Compliance Toolkit 等工具。
- 查看独立安全指南,例如 CIS 安全基准。
ArcGIS Server 安全验证
serverScan.py 脚本位于 <ArcGIS Server installation location>/tools/admin 目录中。 从命令行或 shell 运行脚本。 您可以在运行脚本时指定参数。
如果在不指定任何参数的情况下运行 serverScan.py 脚本,则系统将提示您手动输入或选择默认值。 要使用令牌,您必须在运行脚本时提供令牌作为参数。
扫描会生成 HTML 格式的报告,该报告将列出在指定的 ArcGIS Server 站点中发现的上述任何问题。
默认情况下,该报告将保存在从中运行脚本的同一个文件夹中并命名为 serverScanReport_[hostname]_[date].html。
Portal for ArcGIS 安全验证
portalScan.py 脚本位于 <Portal for ArcGIS installation location>\tools\security 目录中。 从命令行或 shell 运行脚本。 您可以在运行脚本时指定一个或多个参数。
如果在不指定任何参数的情况下运行 portalScan.py 脚本,则系统将提示您手动输入或选择默认值。 要使用令牌,您必须在运行脚本时提供令牌作为参数。
扫描可生成 HTML 格式的报告,此报告将列出在指定门户中发现的任何上述问题。
默认情况下,该报告将保存在从中运行脚本的同一个文件夹中并命名为 portalScanReport_[hostname]_[date].html。
其他资源
可在产品文档中找到 ArcGIS Server 的更多最佳做法信息。