安装和使用 Azure DevOps Services 插件

此任务介绍如何安装和使用 Azure DevOps Services 插件来在 Azure DevOps Services 和 Team Foundation Server (TFS) 管道中运行静态或动态扫描。(Azure DevOps Services 以前称为 Visual Studio Team Services (VSTS))。

注: 请注意,AppScan on Cloud 服务的 URL:从先前 IBM 服务位置迁移到此位置,包括更新服务端点属性。有关其他信息,请参阅https://hclpnpsupport.hcltech.com/csm?id=kb_article&sysparm_article=KB0069537

教程

安装 Azure DevOps/TFS 插件

注: AppScan on Cloud 支持 TFS 版本 2018 更新 2 及更高版本。
要使用 Azure DevOps/TFS 插件,您必须首先从 Azure DevOps 市场下载该插件并进行安装:
  1. 在 Azure DevOps Services 中,转至管理扩展 > 浏览市场
  2. 在显示的窗口中,搜索 HCL
  3. 选择并安装 HCL AppScan 插件。
注: 对于 TFS,请遵循指示从 Azure DevOps 市场下载插件。完成后,转至管理扩展 > 浏览本地扩展 > 上载新扩展,然后选择下载的扩展以进行安装。

设置 Azure DevOps 环境

要配置 Azure DevOps 环境以进行测试,请执行以下操作:

  1. 登录到 Azure DevOps Services。
  2. 创建一个新组织:
    1. 单击创建新组织
    2. 指定组织名称。
    3. 指定项目名称。
    4. 指示该项目是公共项目还是私人项目。
    5. 单击确定
  3. 将代码存储库与项目关联:
    1. 单击存储库 > 文件
    2. 选择导入
    3. 选择存储库的源类型。
    4. 指定存储库的克隆 URL。
    5. 单击导入
  4. 创建一个构建管道:
    1. 单击管道 > 构建
    2. 单击新管道
    3. 单击使用可视化设计工具
    4. 选择源后,单击 Azure Repos git,选择要扫描的存储库,然后单击继续
    5. 选择空管道,然后选择继续
    6. 单击代理程序作业 1 旁边的 +,然后搜索 NuGet 并单击添加
    7. 从任务中选择 NuGet 恢复,并将其指向解决方案文件。在 solution、packages.config 或 project.json 路径下,浏览到适当的 .sln 文件。
    8. 单击代理作业 1 旁边 + 以添加第一步。单击构建,然后单击 Visual Studio 构建以及添加
    9. 单击构建解决方案 **/*.sln 并将其指向解决方案文件。在解决方案字段中,浏览到适当的 .sln 文件。
    10. 单击保存并排队以测试构建。

      在对构建进行调整时,添加注释以反映这些更改。您每次单击保存并排队时,构建号都将更新。

使用 Azure DevOps/TFS 插件

添加安全性测试

要添加安全性测试以在 Azure DevOps/TFS 中构建进程,请执行以下操作:
  1. 选择以下某个选项:
    • 对于 Azure DevOps Services,从您的项目主页选择管道 > 构建菜单。
    • 对于 TFS,选择构建和发布 > 构建
  2. 编辑您想要添加安全性测试的管道。
  3. 任务选项卡上,单击 + 添加任务。
  4. 找到名为 HCL AppScan on Cloud 的任务,然后单击添加
  5. 在构建进程中,单击新添加的运行 HCL AppScan on Cloud 安全性测试任务。
  6. 指定任务设置
    1. 输入显示名称字符串。

      这将成为构建进程中的任务名称。

    2. 从列表中选择适当的凭证

      如果凭证字段为空,请参阅添加新的服务端点

    3. 应用程序列表中选择应用程序。

      将根据所选凭证来填充应用程序列表。

    4. 然后在扫描名称字段中输入扫描的名称。可选。

      这将是服务中扫描的名称。

    5. 扫描类型列表中选择一个扫描类型:
      • 选择 Static Analyzer 以运行静态分析安全性测试。
        1. Static Analyzer 扫描参数
        参数 描述
        要扫描的存储库子目录 输入值或从存储库的文件浏览器对话框中选择值(可选)。缺省情况下,该服务会扫描整个存储库。要将扫描限制在子目录中,请在此处指定相对路径。
        其他选项
        扫描速度 根据需要以及时间要求指定扫描优化级别:
        • 简单 simple 扫描会对您的文件执行表面级别的分析,以找出最紧急的问题进行补救。完成所需的时间最少。
        • 均衡balanced 扫描提供有关安全问题的分析和识别的中等详细程度,并且完成所需时间比 simple 扫描略长。
        • 深度:缺省值。deep 扫描会对您的文件执行更全面的分析以识别漏洞,通常需要更长的时间才能完成。
        • 完全thorough 扫描执行全面分析以识别最全面的漏洞列表,并且完成所需时间最长。
        注: 扫描速度不一定与代码中发现的相对数量的漏洞相关。例如,thorough 分析可能会排除 simple 扫描中可能会报告的误报,从而报告更少数量的漏洞。
      • 选择 Dynamic Analyzer 可对浏览器中运行的应用程序执行分析。
        2. Dynamic Analyzer 扫描参数
        参数 描述
        起始 URL

        输入扫描希望从其中开始浏览站点的 URL。

        如果选中其他选项,以下可选设置可用:

        其他选项
        站点类型 指示您的站点是登台站点(开发中)还是生产站点(已正常投入使用),或选择不适用
        测试优化 指定优化级别:
        • 不进行优化(缺省):定期深度扫描。扫描时间较长。最大漏洞覆盖范围。
        • 快速:速度高达两倍。漏洞覆盖范围 ~97%。
        • 较快:速度高达五倍。漏洞覆盖范围 ~85%。
        • 最快:速度高达十倍。漏洞覆盖范围 ~70%。

        有关测试优化以及相对扫描深度和速度的更多信息,请参阅测试优化

        登录用户和登录密码 如果应用程序需要登录,请输入有效用户凭证。
        第三方凭证 如果应用程序需要第三个凭证,请在该字段中输入该凭证。
        Presence 如果应用程序不在因特网上,请输入 AppScan Presence 名称。有关创建 AppScan Presence 的信息,请参阅 AppScan Presence
        扫描文件 如果具有 AppScan Standard 扫描文件,请在该字段中输入相对路径和文件名。要了解有关 AppScan Standard 扫描文件的更多信息,请参阅 使用 AppScan Standard 扫描或模板

        要了解有关动态分析设置的更多信息,请参阅 创建新扫描(完整配置)

高级选项

使用 Azure DevOps/TFS 插件不需要高级选项。要设置高级属性,请执行以下操作:

  1. 单击高级以显示其他选项。
  2. 选中电子邮件通知复选框,以在安全性分析完成时接收电子邮件。该电子邮件将被发送到与所选凭证相关联的电子邮件地址。
  3. 选择作为个人扫描运行,以评估开发中应用程序的相对安全性,而又不影响整个应用程序扫描数据或合规性。在已弃用的 HCL AppScan 任务中个人扫描支持不可用。
  4. 选中允许扫描支持团队进行干预后,如果扫描失败或找不到问题,我们的扫描支持团队可以介入,并尝试修复配置。这可能会延迟扫描结果。缺省情况下,选择此选项。
  5. 选择暂挂作业直至安全性分析完成:如果您希望 Jenkins 构建等待安全性分析结果可用之后才进入管道的下一步,请选中该复选框。
  6. 选择构建配置失败以根据安全性测试的结果指定导致构建失败的条件。只有当选择了暂挂作业直至安全性分析完成时,构建配置失败才可见。
    • 如果发现任何不符合所选应用程序的策略的安全性问题,请选择对于不符合应用程序策略的情况使构建失败。
    • 根据不符合要求的总计安全性问题、严重严重性安全性问题、严重性安全性问题或严重性安全性问题或严重性安全性问题的指定数量,选择在以下条件为 true 的情况下使构建失败。如果指定了多个阈值,则将它们在逻辑上进行 OR 运算。
  7. 构建完成后,您便可以从构建摘要页面上的应用程序安全性报告选项卡中查看或下载扫描报告。此报告仅包括不合规问题。
    “应用程序安全性”报告与 irx. 生成日志(对于静态扫描)也可通过 Azure 管道构建日志进行下载。
    注: 请注意,如果未选择暂挂作业直至安全性分析完成选项,则扫描报告不可下载。在这种情况下,可以从 HCL AppScan On Cloud 门户网站下载报告。

添加新服务端点

任务设置中,如果凭证字段为空,您必须配置服务端点。要配置服务端点以使用 Azure DevOps/TFS 插件,请执行以下操作:

  1. 任务设置中,单击空白凭证字段上方的管理
  2. 在出现的窗口中,单击新服务端点
  3. 从端点列表中单击 HCL AppScan on Cloud
  4. 在出现的对话框中填写详细信息,然后单击确定
    3. 服务端点属性
    属性
    连接名称 连接的逻辑名称。
    服务器 URL
    KeyID AppScan on Cloud 服务中获取您正在使用的数据中心的 KeyID 和 KeySecret:
    KeySecret

优化扫描并审核结果

对于其他扫描,您可以使用配置文件通过指定要在扫描中包括或排除的单个目标来优化扫描,以及指定其他信息。

扫描完成后,AppScan on Cloud 将生成扫描报告。查看结果中的信息,以了解如何报告安全漏洞以及如何修复问题。