云客户?
免费开始>
在MyJFrog >中升级
云有什么新>





概述

策略定义安全和许可证遵从行为规范。策略使您能够创建一组规则,其中每个规则定义一个许可/安全条件,并根据您的需要提供一组相应的自动操作。将策略应用于手表.策略是无上下文的,这意味着它只定义要执行什么,而不定义对什么执行。

将你想要强制执行的行为与你想要强制执行的上下文分开,为你提供以下值:

  • 效率.通过一次配置策略并将其分配给多个手表,可以减少工作并节省时间。
  • 灵活性.配置多个具有附加功能的行为,例如安全规则的优先级。
  • 单独的问题.将权限委托给组织中的不同团队。与资源和过滤器相关的一切都在监视中,与安全性2022世界杯阿根廷预选赛赛程和许可证遵从性相关的一切都在策略中。

从Xray 3.21.2开始,手表配置已经从应用模块移动到JFrog平台UI中的管理模块。

页面内容


使用策略规则触发违规

策略包含用户定义的规则,允许您通过设置许可证或安全标准来触发特定漏洞或许可证违规,并根据您的需要设置相应的自动操作集。规则按照它们在策略上的规则列表中的升序进行处理。如果满足某个规则,则列表中的后续规则将不被应用。

Xray支持以下策略类型:

安全规则

安全规则允许您围绕安全漏洞创建一组规则。有两个可能的标准:

  1. 最小的严重性(Minor, Major, Critical, All): JFrog漏洞数据库中最小的安全漏洞严重程度。如果工件或构建包含具有所选严重性或更高级别的漏洞,则规则将满足条件,自动操作将被执行,策略将停止处理。

  2. CVSS分数(1-10):应用于规则的CVSS评分范围。这用于细粒度控制,而不是使用预定义的严重性。评分范围基于CVSS v3评分,CVSS v2评分为CVSS v3评分。

  3. 仅当有固定版本可用时才生成违规:对于不包含固定版本的问题,x射线不会生成违规。如果以后有一个固定的版本可用,则会生成冲突。

许可规则

许可证规则允许您围绕许可证遵从性创建一组规则。有三个可能的标准:

  • 允许许可:允许的OSS许可证列表五月连接到组件。如果某个组件的OSS许可证在指定的Allow List之外,则该规则将满足条件,生成一个违规项,自动执行动作,策略将停止处理。

  • 禁止许可:指定OSS许可的阻断列表可能不连接到组件。如果组件指定了任何OSS许可证,则规则将满足条件,将生成一个违规行为,将执行自动操作,并且策略将停止处理。

  • 禁止使用未知许可证:无法确定license的组件需要的行为。如果发现具有未知许可证的组件,将触发违规。

策略违反自动处理

动作决定对检测到的策略违反的自动响应。您可以在每个策略规则中定义一个或多个操作。行动包括以下内容:

  • 产生违例(轻微,严重,严重):满足条件时产生的违规行为的严重程度。

  • 通知电子邮件:此操作允许您指定电子邮件地址,当触发违规时,Xray应该向其发送有关违规的电子邮件消息。为此,您需要在Xray中配置一个邮件服务器。

  • 通知手表的收件人:此操作允许您在触发违规时向所有手表收件人发送电子邮件。

  • 通知部署人员:此操作允许您在触发违规时向部署组件的用户发送一封电子邮件。

  • 创建Jira Ticket:这个动作在Policy规则中创建Jira票据
  • 触发Webhook:这个动作允许你指定你在Xray中配置的webhook,当违规被触发时应该调用它(见下面的负载)。

  • 块下载:此操作允许您指定工件应该被阻止下载,并允许您选择以下选项之一:

    • 阻止下载:设置时,Artifactory将阻止下载符合此手表的工件过滤器和严重性过滤器规范的工件。
    • 阻止未扫描:设置时,Artifactory将阻止符合此手表的Artifact Filter规格的工件的下载,但尚未扫描或x射线数据由于保留策略已被删除。有关x射线数据保留的更多信息,请参见索引x射线资源2022世界杯阿根廷预选赛赛程
  • 块发布包分发:此操作允许您指定如果发布包符合策略条件规则,则应该阻止下载。
  • 失败的构建:此操作允许您指定,如果CI服务器请求扫描构建,而Watch触发了一个违规,Xray将响应一个指示,表示构建作业应该失败。
    此操作仅在Watch定义为“构建”为目标类型时可用。

    • 宽限期:有很多情况下,你不希望第一次构建失败,例如,一些违规不是显示停止器,你想在不停止构建创建的情况下查看它们。您可以根据需要设置宽限期的天数。在您定义的宽限期内,构建不会失败,在此期间将忽略所有违规。一个自动无视规则根据以下条件为宽限期创建:
        • 特定的漏洞/许可证
        • 在特定的组件上
        • 在特定构建的任何版本上
        • 关于具体政策
        • 关于特定的手表

      一旦宽限期结束,忽略规则将被删除,如果构建包含违规行为,则会创建这些违规行为,构建将失败。


新建策略

步骤1设置“常规策略设置”

  1. 政府模块,选择手表与政策政策选项卡单击新政策
  2. 选择策略规则类型并配置策略规则。

    • 安全:允许您围绕安全漏洞创建一组规则。选择您希望Xray如何响应每个漏洞严重程度。

    • 许可证:允许您围绕允许/禁止的许可证集创建一组规则。

    • 操作风险允许您创建一组规则关于使用开源软件组件的操作风险。有关更多信息,请参见操作风险
  3. 设置优先级其中规则是加工过的.拖放规则,根据它们的优先级来放置它们。
  4. 设置规则标准。
    如果满足条件,则执行此规则的自动操作,并将策略视为已处理(不再检查其他规则)。
  5. 设置自动操作以在满足条件时运行。

步骤2新建策略规则

配置基本策略设置并选择策略类型—安全策略或License策略。

配置安全规则

选择安全在下拉列表中单击新规则设置标准并分配自动操作。

规则名称

此规则的逻辑名称。

标准

扫描扫描工件时检查的一组安全条件。

自动操作

指定触发安全策略违规后要采取的操作。

配置License规则

若要创建新的License规则,请选择许可证在下拉列表中单击新规则


为策略规则分配自动操作

您可以在每个策略规则中定义一个或多个操作。要查看操作列表,请参见自动操作

阻挡未扫描工件

此配置将阻止未扫描的工件下载请求。下载超时时间应该是由系统管理员设置

多许可证许可方法

当检测到一个组件具有多个许可证时,策略规则将应用于所有许可证,因此,如果多个许可证中的一个符合策略规则,无论如何都会创建一个违规。允许多个许可证的方法使您能够在策略级别上拥有更大的灵活性,并配置更允许的方法,允许拥有至少一个许可的组件通过而不会触发违规,即使某些许可证不被允许。

触发Webhook

您可以选择一个预定义的Webhook作为自动操作,以防发现违规行为。

  • 选择触发Webhook复选框,并从列表中选择预定义的Webhook。

提供给任何触发webhook的有效负载是一个描述警报列表的JSON对象。

下面展示了一个webhook的有效负载示例。

{"created": "2022-11-23T15:13:19.005062109Z", "top_severity": "High", "watch_name": "webhook-example", "policy_name": "High -cve", "policy_rule": "High -cve", "severity": "High", "type": "security", "provider": "JFrog", "created": "2022-11-16T10:36:39.205Z", "summary": " cve - 2222 -42898 krb5: integer overflow vulnerability in PAC parsing (important)", "description": "DOCUMENTATION: A vulnerability was found in MIT krb5. "此漏洞允许经过身份验证的攻击者通过读取超出分配的内存界限,从而导致KDC或kadmind进程崩溃,从而创建拒绝服务。特权攻击者同样可能导致Kerberos或GSS应用程序服务崩溃。声明:RHEL中的Samba不实现AD DC角色,也不是针对Heimdal构建的,因此Samba不受此CVE的影响。","impacted_artifacts": [{"name": "manifest. conf . conf ": "manifest. conf . conf "json", "display_name": "mysql:8.0", "path": "default/dockers/mysql/8.0/", "pkg_type": "Docker", "sha256": "44f98f4dd825a945d2a6a4b7b2f14127b5d07c5aaa07d9d232c2b58936fb76dc", "parent_sha": " 44f98f4dd825a945d2a6a4b7b2f14127b5d07c5aaa07d9d232c2b8127b5d07c5aaa07d9d232c2b58936fb76dc ", "infected_files": [{"name": "krb5-libs:0:1.18.2-14.0.1 "。El8 ", "path": "" ", "sha256": "c8b498f4f6f42862326eae3df128ff9b0aea2a1f6da72dbb4c2716a8366c97a8", "depth": 0, "parent_sha": "e54b73e95ef388354463a761e4e93ce3dac29cb244b2dc0424f2f4afc6ddf5cd", "display_name": "8:krb5-libs:0:1.18.2-14.0.1 "。el8", "pkg_type": "Rpm"}]}], "cve": "cve - 2222 -42898", "applicability": null}, {"vulnerability_id": "XRAY-97724", "severity": "High", "type": "security", "provider": "JFrog", "created": "2020-05-11T12:08:54.784Z", "summary": "**争议** pip(所有版本)中发现问题,因为它安装了版本号最高的版本,即使用户打算从私有索引中获取私有包。这只会影响——extra-index-url选项的使用,并且攻击者要求包不存在于公共索引中(因此攻击者可以使用任意版本号将包放在那里)。注意:据报道,这是预期功能,用户负责安全使用——extra-index-url .", "description": "**有争议**在pip(所有版本)中发现了一个问题,因为它安装了版本号最高的版本,即使用户打算从私有索引中获得私有包。这只会影响——extra-index-url选项的使用,并且攻击者要求包不存在于公共索引中(因此攻击者可以使用任意版本号将包放在那里)。注意:据报道,这是预期的功能,用户负责安全地使用——extra-index-url .", "impacted_artifacts": [{"name": "manifest. "json", "display_name": "mysql:8.0", "path": "default/dockers/mysql/8.0/", "pkg_type": "Docker", "sha256": "44f98f4dd825a945d2a6a4b7b2f14127b5d07c5aaa07d9d232c2b58936fb76dc", "sha1": "", "depth": 0, "parent_sha": "44f98f4dd825a945d2a6a4b7b2f14127b5d07c5aaa07d9d232c2b58936fb76dc", "infected_files": [ { "name": "pip-20.2.4-py2.py3-none-any.whl", "path": "usr/share/python39-wheels/", "sha256": "e266d0fa6cead0e80c6c962edcce8156dcd8e9842bae72276bedb352adf1b300", "depth": 0, "parent_sha": "f6cfbf240ed7196ec43fc009b344e17a6c84451079f19efea7b3fd2dab9bd65e", "display_name": "pip:20.2.4", "pkg_type": "Pypi" } ] } ], "cve": "CVE-2018-20225", "applicability": null } ] }

编辑策略

通过将鼠标悬停在现有策略上并单击右侧的Edit图标,从Policy页面编辑现有策略。

对策略所做的编辑将自动应用于分配给该策略的所有手表。这将只对新扫描的工件生效。你可以手动激活现有工件上的监视



  • 没有标签
版权所有©2022 JFrog Ltd.