Portal for ArcGIS 随附 Python 脚本工具 portalScan.py,可扫描某些常见的安全问题。该工具根据为门户配置安全的环境中的一些最佳做法来检查问题。对六个条件或配置属性进行分析并将其划分为三个严重性级别:Critical、Important 和 Recommended。这些标准的描述如下:
ID | 严重性 | 属性 | 描述 |
---|---|---|---|
PS01 | Critical | 代理限制 | 确定是否限制门户的代理功能。默认情况下,门户代理服务器对所有 URL 开放。为了减少潜在的拒绝服务 (DoS) 或服务器端请求伪造 (SSRF) 攻击,强烈建议您将门户的代理功能限制为已批准的 web 地址。 |
PS02 | Critical | 令牌请求 | 确定是否支持在查询参数中生成带有凭据的令牌请求。如果支持,则生成令牌时,用户的凭据可作为 URL 的一部分提供,并通过浏览器历史记录或网络日志显示。除非其他应用程序需要,否则应禁用此选项。 |
PS03 | Important | 门户服务目录 | 确定是否可通过 web 浏览器访问门户服务目录。为减少从 Web 搜索中找到、浏览或者通过 HTML 表单查询到您的门户项目、服务、Web 地图、群组和其他资源的可能性,应将其禁用。 |
PS04 | Important | 保护通信安全 | 确定是否仅通过 HTTPS 进行门户通信。为了防止门户中的其他通信被截取,建议您配置门户和托管 Web Adaptor 的 Web 服务器以强制执行 SSL。 |
PS05 | Recommended | 内置帐户注册 | 确定用户是否可以单击门户注册页面上的创建帐户按钮来创建内置门户帐户。如果正在使用企业帐户或者希望手动创建全部帐户,请禁用此选项。 |
PS06 | Recommended | 匿名访问 | 确定是否允许匿名访问。为了防止任何用户在未预先提供门户凭据的情况下对内容进行访问,建议将门户配置为禁用匿名访问。 |
portalScan.py 脚本位于 <Portal for ArcGIS installation location>/tools/security 目录中。 从命令行或 shell 运行脚本。运行脚本时可以选择指定一个或多个参数。
portalScan.py 参数
参数 | 描述 |
---|---|
-n | 安装了门户的计算机的完全限定域名(例如:gisportal.domain.com)。默认为运行脚本的计算机的主机名。 |
-u | 管理员帐户的用户名。 |
-p | 管理员帐户的密码。 |
-o | 安全性扫描报告将保存到的目录。默认目录为运行脚本时所在的文件夹。 |
-t | 可生成令牌并用其代替用户名和密码。生成令牌时,应在 'Webapp URL' 字段中输入正在扫描的门户的完全限定域名。如果提供了令牌,它将覆盖所提供的任何用户名或密码。 |
-h 或 -? | 输出可在运行脚本时指定的参数列表。 |
示例:python portalScan.py -n portal.domain.com -u admin -p my.password -o C:\Temp
如果在未指定任何参数的情况下运行 portalScan.py 脚本,则系统将提示您手动输入或选择默认值。如果想要使用令牌,则在运行脚本时,必须将其作为参数提供。
扫描可生成 HTML 格式的报告,此报告将列出在指定门户中发现的任何上述问题。
默认情况下,该报告将保存在运行脚本时所在的文件夹中,并命名为 portalScanReport_[hostname]_[date].html。