Skip To Content

扫描门户以获得安全性最佳做法

Portal for ArcGIS 包含用于扫描常见安全问题的 Python 脚本工具 portalScan.py。 该工具根据为门户配置安全的环境中的一些最佳做法来检查问题。 该脚本分析了许多标准或配置属性,并将它们分为三个严重性级别:关键、重要和推荐。 这些标准的描述如下:

ID严重性属性描述

PS01

重要

代理限制

确定是否限制门户的代理功能。 默认情况下,门户代理服务器对所有 URL 开放。 为了减少潜在的拒绝服务 (DoS) 或服务器端请求伪造 (SSRF) 攻击,建议您将门户的代理功能限制为已批准的 web 地址。

PS02

重要

令牌请求

确定是否支持在查询参数中生成带有凭据的令牌请求。 如果支持,则生成令牌时,用户的凭据可作为 URL 的一部分提供,并通过浏览器历史记录或网络日志显示。 如果其他应用程序没有要求,建议您禁用此功能。

PS03

重要信息

门户服务目录

确定是否可通过 web 浏览器访问门户服务目录。 为减少从 Web 搜索中找到、浏览或者通过 HTML 表单查询到您的门户项目、服务、Web 地图、群组和其他资源的可能性,应将其禁用。

PS04

重要信息

保护通信安全

确定是否仅通过 HTTPS 进行门户通信。 为了防止门户中的其他通信被截取,建议您配置门户和托管 Web Adaptor 的 Web 服务器以强制执行 SSL。

PS05

已推荐

内置帐户注册

确定用户是否可以单击门户注册页面上的创建帐户按钮来创建内置门户帐户。 如果正在使用组织特定的帐户或者希望手动创建全部帐户,请禁用此选项。

PS06

已推荐

匿名访问

确定是否允许匿名访问。 为了防止任何用户在未预先提供门户凭据的情况下对内容进行访问,建议将门户配置为禁用匿名访问。

PS07

已推荐

LDAP 标识存储

如果门户配置了 LDAP 标识存储库,则确定是否使用加密通信。 建议在 ldapURLForUsersldapURLForRoles 属性(这两个属性在用户存储和群组存储配置参数中列出)中使用 LDAPS。

PS08

已推荐

门户 SSL 证书

确定门户是否使用自签名证书。 为了帮助减少与门户通信的客户端的 Web 浏览器警告或其他意外行为,建议导入并使用已绑定到端口 7443 的 CA 签名 SSL 证书。

PS09

已推荐

跨域请求

确定跨域 (CORS) 请求是否不受限制。 为了降低未知应用程序访问共享门户项目的可能性,建议将跨域请求限制为仅在受信任域中托管的应用程序。

PS10

重要

联合服务器管理 URL

确定您的联合服务器的管理员 URL 是否可通过门户访问,以及此 URL 中使用的 SSL 证书是否受信任。 如果不受信任或无法访问,许多门户功能将无法使用且操作将会失败。

PS11

已推荐

联合服务器服务 URL

确定您的联合服务器的服务 URL 是否可通过门户访问,以及此 URL 中使用的 SSL 证书是否受信任。 如果不受信任或无法访问,门户仍将正常运行,但某些门户操作可能会失败。

PS12

已推荐

公共内容

如果门户已配置为成员无法公开共享内容,则会列出仍与所有人共享的项目。

PS13

重要信息

SAML 配置设置

如果将门户配置为使用 SAML 身份验证,则将确定是否启用加密声明和签名请求。 如果身份提供者支持,建议您将门户配置为同时需要加密声明和签名请求。

portalScan.py 脚本位于 <Portal for ArcGIS installation location>/tools/security 目录中。 可以使用位于同一目录中的 portalScan Bash 脚本从 shell 运行脚本。 运行脚本时可以选择指定一个或多个参数。

portalScan.py 参数

下表将说明 portalScan.py 参数:

参数描述

-n

安装了门户的计算机的完全限定域名(也就是说,gisportal.domain.com)。 默认为运行脚本的计算机的主机名。

-u

管理员帐户的用户名。

-p

管理员帐户的密码。

-o

将用于保存安全扫描报告的目录。 默认目录与从中运行脚本的文件夹相同。

-t

可以生成一个令牌并用其代替用户名和密码。 生成令牌时,应在 Webapp URL 字段中输入 portalScan。 提供令牌时,它会覆盖提供的任何用户名或密码。

--ignoressl

禁用 SSL 证书验证。 自 10.7.1 起,默认情况下,脚本将尝试验证所有 SSL 证书。 如果 Python 不信任证书的发行机构,则脚本将无法完成。 如果需要,可以指定此参数以忽略所有证书。

-h 或 -?

输出一个列表,其中包含在运行脚本时可指定的参数。

示例(输出文件写入用户主目录):

./portalScan -n portal.domain.com -u admin -p my.password -o ~

如果在未指定参数的情况下运行 portalScan 脚本,则系统将提示您手动输入或选择默认值。 如果您想要使用令牌,则在运行脚本时必须将其作为参数提供。

扫描可生成 HTML 格式的报告,此报告将列出在指定门户中发现的任何上述问题。

默认情况下,该报告将保存在从中运行脚本的同一个文件夹中并命名为 portalScanReport_[hostname]_[date].html


在本主题中
  1. portalScan.py 参数