通过计算机网络发送的任何通信数据均有可能被截取、解密或修改。 为保证 ArcGIS Enterprise 中的网络通信安全,建议使用 HTTPS 且默认强制使用。
HTTPS 对往返 Web 服务器的通信进行加密。 通过为每个 Web 客户端标识与之通信的 Web 服务器并对该服务器进行身份验证,协助实现安全的网络通信。 使用 HTTPS 有助于确保所有传输数据的私密性和完整性。
要在 Web 服务器和客户端之间创建 HTTPS 连接,Web 服务器需要一个服务器证书。 证书是一个数字文件,包含有关 Web 服务器标识的信息。 它还包含建立 Web 服务器和客户端之间的安全通道时要使用的加密方法。 证书必须由网站和数字签名的所有者创建。
Esri 推荐了与服务器证书有关的几种最佳做法。 这些最佳做法适用于所有 ArcGIS Server 站点和 ArcGIS Enterprise 门户,但也应考虑用于部署的其他组件。
使用 CA 签名证书替代自签名证书
安装 ArcGIS Server 和 Portal for ArcGIS 后,系统将使用自签名证书自动对这些组件进行配置。 这些证书仅由网站所有者签名,可启用 HTTPS 通信,无需其他步骤。 但是,大多数 Web 浏览器最初不信任您的 ArcGIS Enterprise 部署的 URL。 因此,您和您的用户必须禁用浏览器警告,否则,可能引起怀疑和惊慌。
建议尽快使用由第三方证书颁发机构 (CA) 签名的证书配置部署。 CA 签名证书向用户的 Web 浏览器提供您的站点应受信任的保证。 要获得该证书,需要向 CA 发出证书签名请求 (CSR)。
如果已拥有 CA 签名证书,则可以使用该证书配置 ArcGIS Server,然后将其导入门户。
也可以请求 CA 对自签名证书进行签名,使用新证书配置 ArcGIS Server,然后将其导入门户。
注:
将证书导入多机 ArcGIS Server 站点时,确保对站点中的每台计算机都执行此操作。确保存在根证书和中间证书
客户端应用程序检查 CA 签名证书时,还必须验证 CA 本身。 要执行此操作,需要使用属于 CA 的根证书和中间证书。 根证书用于建立 CA 的身份,中间证书用于提高颁发最终实体证书(例如您的证书)的可信性。 如果存在根证书和中间证书,则浏览器和客户端应用程序可以相信您的证书确实由有效的 CA 签名。
ArcGIS Enterprise 自动信任由许多受欢迎的 CA 签名的根证书和中间证书。 如果您的组织使用的是自定义 CA,或者如果您拥有一个要添加到部署中的特定中间证书,则可以在 ArcGIS Portal Administrator Directory 和 ArcGIS Server Administrator Directory 中使用 importRootOrIntermediate 操作。
在证书中包含主题备选名称
包括 Google Chrome 在内的一些浏览器不信任不含主题备选名称 (SAN) 的证书,而此名称可能存在多个。 如果配置 ArcGIS Enterprise 部署时使用的证书没有 SAN 值,访问站点的用户将收到信任警告。
了解并解决名称不匹配问题
由于 ArcGIS Enterprise 可能会部署在多台计算机上,并可能部署在多个域或子域中,因此需要了解名称不匹配问题的原因和可能的解决方案。 当用户在站点中浏览到的 URL 与站点证书提供的常用名称或最近的 SAN 值不匹配时,就会发生这种情况。 换句话说,如果网页提供的证书是针对与用户正在访问的 URL 不同的 URL 授权的,则浏览器将标记错误。
与自签名证书一样,用户可以接受并信任 URL,不考虑错误。 但是,对于不熟悉您的站点的用户,它是一个令人惊慌的错误,并且是一个经常遇见的麻烦。
建议立即将组织使用的每个新域和子域作为 SAN 值添加至 CA 签名证书。 这种主动方法可确保用户不会遇到名称不匹配错误。
例如,假如机构跨 https://water.example.com 和 electricity.example.com 两个子域部署 ArcGIS Enterprise 组件。 该机构使用 CA 签名证书,SAN 值与“water.example.com”和“electricity.example.com”匹配。并且启动了一个新站点,网址为 https://recycling.example.com。 IT 管理员应向站点证书中的 SAN 参数添加一个“recycling.example.com”条目。
使用 Esri 脚本扫描是否存在安全问题
为了帮助您识别 ArcGIS Enterprise 部署中的常见安全风险,Esri 提供了一些脚本来检查门户和服务器站点中的安全性最佳做法。 serverscan.py 和 portalscan.py 是软件内置脚本,可以随时运行。 在脚本检查的项目中,包括检查组件是否正在使用自签名证书。
建议在安装每个组件、升级到新版本以及对部署或其 IT 组件进行任何重大更改之后立即运行扫描。 例如,如果您的组织最近更换了其服务器证书或更改了站点的 URL,则应重新运行 serverscan.py 脚本。