向 Jenkins 自动化服务器添加安全性分析

HCL AppScan Jenkins 插件可用于在您的 Jenkins 项目中增加安全性扫描支持。此插件可用于在 HCL AppScan on Cloud 上连接到 HCL AppScan on Cloud

开始之前

要了解此插件的先决条件,请参阅系统需求

关于此任务

过程

  1. 在 Jenkins 中,安装 HCL AppScan 插件:
    1. 选择管理 Jenkins,然后选择管理插件
    2. 选择可用选项卡,然后选中 HCL AppScan 旁边的复选框:
    3. 单击页面底部的安装按钮。在安装 HCL AppScan 插件之后,您必须先重新启动 Jenkins 再使用此插件。但是,您可能希望先安装此插件,然后再重新启动 Jenkins(例如,如果您有正在运行的作业)。
    注: 根据您正在使用的 Jenkins 版本,这些步骤可能略有不同。
  2. 在重新启动 Jenkins 之后,添加凭证,以便您的构建项目可以连接到 AppScan on Cloud
    1. 在 Jenkins 仪表板中,选择凭证
    2. 在“凭证”页面中,添加新的全局凭证。为此,请选择(全局)链接旁边的箭头图标,然后选择添加凭证
    3. 在“凭证”页面中,选择种类列表中的 HCL AppScan on Cloud 凭证。
    4. 指定用于连接的 AppScan on Cloud 服务器 URL。缺省情况下,URL 为 https://cloud.appscan.com
    5. AppScan on Cloud 服务中生成 API 密钥时,您将收到密钥标识密钥密码。在标识密钥字段中输入值。如果您还没有生成 API 密钥,请点击链接以创建一个。
    6. 可选:使用标签字段来添加凭证的标识符。
  3. 在 Jenkins 仪表板中,选择您的 Jenkins 项目以进行编辑,然后单击配置。在项目的“常规”选项卡中完成以下步骤:
    1. 在“构建”部分中,选择用于添加构建步骤的操作旁边的箭头图标。此操作上的标签将根据项目类型而变化。示例包括添加构建步骤添加构建后步骤
    2. 选择运行 AppScan on Cloud/AppScan 360 安全性测试
    3. 凭证列表中,选择在上述步骤中添加的凭证。如果您为凭证添加了标签标识符,则列表中会显示该标签标识符。如果您没有添加标签,则将显示您的密钥标识和隐藏的私有密钥。
    4. 安全性扫描必须与现有 AppScan on Cloud 应用程序相关联。在应用程序列表中选择应用程序。
      注: 系统将根据您的凭证来填充应用程序列表。应用程序必须已在 AppScan on Cloud 服务中存在。如果尚未在服务中创建任何应用程序,则列表将为空。
    5. 可选:在测试名称字段中,输入扫描的名称。如果完成了此字段,则扫描将在 AppScan on Cloud 服务中显示此名称(并且附加时间戳记)。此外,名称将用于区分各种 Jenkins 视图中的结果。
    6. 测试类型部分中:
      • 选择 Dynamic Analyzer (DAST) 可对浏览器中运行的应用程序执行分析。如果选择了该测试类型,请使用所需的起始 URL 字段来输入希望作为扫描浏览站点的起始点的 URL 。如果选中其他选项复选框,则还有以下可选设置:
        • 扫描类型:选择您的站点是登台站点(开发中)还是生产站点(已正常投入使用)。
        • 优化:指定是否进行无优化扫描(缺省为普通深度扫描,扫描时间较长,漏洞覆盖范围最大)、快速(速度最多快 2 倍,漏洞覆盖范围约 97%)、较快(速度最多快 5 倍,漏洞覆盖范围约 85%)、最快(速度最多快 10 倍,漏洞覆盖范围约 70%)。
        • Presence 标识:如果应用程序不在因特网上,请输入 AppScan Presence 标识。有关创建 AppScan Presence 的信息,请参见此处
        • 扫描文件:如果具有 AppScan Standard 扫描文件,请在此字段中输入其完整路径和文件名。要了解关于 AppScan Standard 扫描文件的更多信息,请参阅此主题
        • 应用程序登录:指定允许 AppScan on Cloud 扫描需要认证的页面的登录信息:
          • 如果不需要额外的认证,请选择不需要登录
          • 选择需要登录:用户名和密码,为页面提供有效的用户凭证:
            • 登录用户:有效的用户名。
            • 登录密码:有效的密码。
            • 额外凭证:第三个登录凭证(如果站点需要)。
          • 选择需要登录:记录登录,为页面提供记录登录序列。在登录序列文件中详细说明登录序列数据文件的路径。AppScan 支持此类文件的 dast.config 文件类型。
        要了解关于这些设置的更多信息,请参阅本主题动态分析 (DAST) 仅在 AppScan on Cloud 中可用。
      • 选择软件组成分析 (SCA) 以扫描开源库。如果选择了该测试类型,请使用所需的目标目录字段来输入包含待扫描文件或您要扫描的 IRX 文件的目录的完整路径。
        注: AppScan on Cloud 现在作为单独扫描执行静态分析 (SAST) 和开源分析 (SCA)。要运行仅开源扫描,请使用软件组成分析 (SCA) 扫描类型。在将来的发行版中,仅将从 SAST 扫描中删除开源选项。
      • 选择静态分析 (SAST) 以对构建工件运行静态分析安全性测试。如果选择了该测试类型,请使用所需的目标目录字段来输入包含待扫描文件的目录的完整路径。有关受支持的文件类型,请参阅 静态分析语言支持
        • 扫描方法
          • 生成 IRX:在本地根据指定的文件和文件夹生成 IRX 存档。如果选中其他选项复选框,则还有以下可选设置:
            • 仅开放式源代码:选择您的应用程序是否包含开源包。有关开源测试的信息,请参阅 关于软件成分分析 (SCA)。软件组成分析 (SCA) 仅在 AppScan on Cloud 中可用。
              注: AppScan on Cloud 现在作为单独扫描执行静态分析 (SAST) 和开源分析 (SCA)。要运行仅开源扫描,请使用软件组成分析 (SCA) 扫描类型。在将来的发行版中,仅将从 SAST 扫描中删除开源选项。
            • 仅源代码:选择是否仅分析源代码。
            • 扫描速度:根据开发阶段优化扫描速度和结果。在开发生命周期的早期选择更快的扫描,以识别基本安全问题;在周期的后期选择全面扫描,以确保您的应用程序的完整覆盖范围。
              • 正常:执行代码全面分析,详细识别漏洞并区分可能报告为误报的问题。此扫描需要最长的时间才能完成。
              • 快速:执行文件全面分析,以识别漏洞、完成此类扫描所需的时间比“更快”或“最快”扫描所需的时间更长。
              • 较快:提供安全问题分析和识别的中等详细程度。完成此扫描所需的时间比“最快”选项要多。
              • 最快:执行文件表面级别分析,以确定最迫切的补救问题,完成所需的时间最少。
          • 上载文件和文件夹:将文件和文件夹直接上载到 AppScan,以便立即准备扫描并加快处理速度。
    7. 可选:电子邮件通知:如果想要在分析完成时接收电子邮件,请选中该复选框。
    8. 可选:允许扫描支持团队进行干预:选中此项后,如果扫描失败或找不到问题,那么我们的扫描支持团队将介入,并尝试修复配置。这可能会延迟扫描结果。缺省情况下,选择此选项。
    9. 可选:暂挂作业直至安全性分析完成:如果您希望 Jenkins 构建等待安全性分析结果可用之后才进入项目的下一步,请选中该复选框。
    10. 可选:选中在以下情况下构建失败复选框以启用构建失败条件。选中后,添加至少一个构建失败条件。为此,请选择添加条件,然后完成其条件。您可以设置在以下情况下构建失败:
      • 安全性问题的总数大于您在字段中指定的数量。
      • 严重性为严重的安全性问题的总数大于您在字段中指定的数量。
      • 严重性为的安全性问题的总数大于您在字段中指定的数量。
      • 严重性为的安全性问题的总数大于您在字段中指定的数量。
      • 严重性为的安全性问题的总数大于您在字段中指定的数量。
      注:
      • 如果添加了多个条件,则系统在处理这些条件时,将按照逻辑运算符 OR 来处理这些条件。
      • 如果选中了在以下情况下构建失败复选框,则暂挂作业直至安全性分析完成选项将自动选中并变为必填字段。
      • 如果取消选中了在以下情况下构建失败复选框,则您已添加的任何条件都会持续存在,但不会生效。仅当您手动删除这些条件时,才会移除这些条件。
    11. 单击保存以添加构建步骤并停止配置您的 Jenkins 项目。单击应用以添加构建步骤,但继续配置项目。
      在添加构建步骤后,您可以将更多运行安全性测试构建步骤添加到您的项目中。
  4. 在运行 Jenkins 项目后,如果打开构建,您将看到安全性结果的快照。此外,安全性测试的结果链接将变为可用。单击这些链接将打开不合规的安全性报告。在项目的主状态页面中,如果有多组结果,您将看到安全性分析结果的趋势图。