创建 API 扫描

AppScan 360° 支持用于扫描 Web API 的不同工作流。如果您有 Postman 集合、OpenAPI 规范文件或 Web API 流量记录文件,则您可通过 API 扫描配置将其导入并作为扫描基准。或者,您也可以通过 REST API 使用 Postman 集合文件或 OpenAPI 规范文件。

开始之前

关于此任务

本主题讨论了可用于 API 扫描的配置选项。

过程

  1. 在特定应用程序页中,单击创建扫描,然后单击 DAST 动态分析下的创建扫描
  2. 创建扫描:DAST 对话框中,选择 API 扫描以开始配置过程。
  3. API
    选择 API 探索方法:

    设置

    选项

    上载 Postman 集合或 OpenAPI 或上载记录

    使用 API 探索方法,您可以上载 Postman 文件、OpenAPI 规范文件或 URL(包括基础 URL),也可以上载流量记录。

    AppScan 360° 将文件上载限制为 2GB。

    要测试的域

    添加您要包含在扫描中的所有域。

    这两种格式都有效:

    • https://demo.testfire.net/
    • demo.testfire.net
      重要: 未列出的域不会扫描。
  4. 认证和连接:API 认证
    如果导入的数据需要登录记录,请将其上载,以便 AppScan 可以扫描需要认证的端点。您还可以使用第三方工具来记录登录并在此处上载文件。API 密钥认证可用于 OpenAPI。 显示登录记录上载选项的 API 配置

    设置

    选项

    已记录

    上载记录
    如果需要使用特殊登录过程,可选择此选项以上载 AppScan 360° 在扫描期间登录应用程序时将使用的过程记录。您可以使用 AppScan Activity Recorder(另存为 CONFIG 文件)或 AppScan Standard(导出为 LOGIN 文件)创建记录。
    重要: 记录的登录序列必须包含以下请求:
    • 登录/授权请求
    • 其他已登录/已授权请求。这一额外的请求有助于 AppScan 在测试应用程序时确认授权是否成功并保持会话。
    有关记录 CONFIGLOGIN 文件的详细信息,请参阅 记录流量使用 AppScan Standard 记录登录
    注: AppScan 360° 将文件上载限制为 2GB。
    API 密钥 AppScan 360° 支持对需要 API 密钥的 API(如 OpenAPI)进行扫描时的 API 认证。至少输入一个密钥名称密钥值。如果需要,您可以添加另一个密钥名称和值。在 API 认证期间将保存和使用这些值。
    自动 选择此方法,让 AppScan® 可以自动检测应用程序的登录表单,并使用由您提供的用户名和密码。您还可以输入第三个凭证(可选),如 PIN# = 1234。但是,使用第三个凭证需要 AppScan 360° 支持团队的帮助,并且扫描可能需要更长时间。
    注: CAPTCHA 不受支持。
    不需要特殊登录过程时,请使用此选项。
  5. 认证和连接:HTTP 认证

    除登录信息外,还指示应用程序是否需要 HTTP 认证(Negotiate、NTLM、Kerberos、ADFS、Basic 或 Digest)。输入用户名密码以及(可选),供 AppScan 360° 在扫描期间使用。

    显示 HTTP 认证选项的 API 配置
  6. 认证和连接:通信

    设置 AppScan 360° 可同时发送的最大请求数。

    显示通信选项的 API 配置

    设置

    选项

    线程数

    如果您的站点不允许此数量,请降低限制;如果您的站点完全不允许同时线程,请将限制降低为 1

    服务器通信超时

    在扫描期间自动调整
    允许 AppScan 360° 决定在超时前等待任何特定响应的时间。这可大大减少扫描时间。
    已修复
    设置在超时前 AppScan 360° 将等待响应的最长时间。如果站点响应缓慢并且由于短超时而导致 AppScan 360° 缺少响应,请增大此设置。

    最大请求速率

    缺省情况下,AppScan 360° 会尽快将其请求发送到站点。如果此限制会使网络或服务器过载,可减小其值。

  7. 认证和连接:表格填充

    启用时,AppScan 360° 会在扫描期间使用 AppScan Standard 缺省的自动表单填充参数来自动填写表单。无法使用向导更改此设置。显示启用表单填充选项的 API 配置

    设置

    选项

    自动表单填充

    AppScan 360° 在扫描期间使用 AppScan Standard 缺省表单填充参数值来填充和提交表单。
    注: 如果您在 AppScan 360° 中关闭了自动表单填充和扫描,它将删除表单中填写的所有信息,但登录管理数据除外。在扫描过程中,AppScan 不会自动填写表单。将此扫描导入 AppScan Standard 时,将启用自动表单填充,但表单填充数据(登录管理除外)将为空。
  8. 测试:测试策略和优化

    定义将在测试期间发送到应用程序的测试集合(测试策略),并在对您来说速度比扫描深度更重要时,时常在产品生命周期中应用优化以加快扫描速度。显示测试策略和优化选项的 API 配置

    设置

    选项

    测试策略

    根据所需的覆盖范围级别,从五项预定义的测试策略或中选择一项,或选择一个定制策略。缺省值为 Default,它包含除侵入式和端口侦听器测试之外的所有测试。有关详细信息,请参阅测试策略
    提示: 测试策略与应用程序合规性策略不同。

    测试优化

    选择扫描速度和问题覆盖范围之间的权衡级别,以满足您的需求。滑块提供四个级别。缺省值为快速。有关详细信息,请参阅测试优化

  9. 测试:测试选项

    选择是否在登录和注销页面上发送测试。如果您选择在登录页面上发送测试,请指定是否发送会话标识。显示测试选项的 API 配置

    设置

    选项

    登录/注销测试 选择是否在登录和注销页面上发送测试。如果您选择在登录页面上发送测试,请指定是否发送会话标识。
    报告易受攻击的组件 AppScan 会发现第三方组件中的漏洞并建议更新。
  10. 首选项:计划

    指定扫描运行的时间:现在、稍后或按计划。显示调度选项的 API 配置

    设置

    选项

    立即扫描

    一旦设置和审核完成,您的扫描就会运行。

    保存以供日后使用

    完成后,您的配置将被保存。您可以稍后运行扫描。

    计划
    您的配置将保存,并且一个或多个扫描将按配置运行:
    1. 选择日期和时间。根据计算机上配置的时区输入这些设置,但请注意,在用户界面中显示时时间将转换为 UTC。
    2. 要多次运行扫描,请选中重复,然后选择:
      • 每日,并选择每日时间间隔(1-30 天)
      • 每周,并选择星期几,或
      • 每月,选择每月时间间隔,然后选择一个月中的哪一天,或一个月中的哪个工作日(第一、第二、第三、第四、最后一个)。
      注: 如果在预定时间到达时正在运行最大并发扫描数,那么扫描将在订阅允许时立即开始。
    3. 设置结束日期(扫描将运行的最后一个日期),或单击删除结束日期以使调度无限期运行。
  11. 首选项:扫描选项
    扫描选项面板中,您可以:
    • 选择将扫描作为个人扫描运行。
    • 选择在扫描完成时接收电子邮件。
    显示扫描选项的 API 配置
  12. 摘要

    如果需要,编辑扫描的名称,并查看为扫描选择的设置。如有必要,单击返回回到先前的面板进行调整。 显示配置选项摘要的 API 配置

  13. 单击扫描

结果

新扫描及其启动时间将添加到扫描视图,并且有一个进度条指示扫描正在运行。扫描完成后,进度条将关闭,结果会以图形方式汇总,并且(如果选中相应复选框)您将收到电子邮件通知。

下一步做什么

请参阅结果