搜索

15.2. 查看违反详情

download PDF

当您在 Violations 视图中选择违反情况时,会打开一个窗口,其中包含有关违反情况的更多信息。它提供了按多个选项卡分组的详细信息。

15.2.1. 违反标签页

Violation DetailsViolation 标签页解释了如何违反了策略。如果策略目标 deploy-phase 属性,您可以查看违反策略的特定值,如违反名称。如果策略目标运行时活动,您可以查看违反策略的进程的详细信息,包括其参数以及创建它的上级进程。

15.2.2. Deployment 标签页

Details 面板的 Deployment 选项卡显示违反情况的部署详情。

概述部分

部署概述 部分列出了以下信息:

  • 部署 ID :部署的字母数字标识符。
  • 部署名称 :部署的名称。
  • 部署类型 :部署的类型。
  • Cluster :部署容器的集群名称。
  • Namespace :部署的集群的唯一标识符。
  • 副本 :复制部署的数量。
  • Created :创建部署的时间和日期。
  • Updated :更新部署的时间和日期。
  • Labels :应用到所选部署的标签。
  • Annotations:应用到所选部署。
  • Service Account :所选部署的服务帐户的名称。
容器配置部分

容器配置 部分列出以下信息:

  • 容器 :对于每个容器,提供以下信息:

    • 镜像名称 :所选部署的镜像名称。点名称查看有关镜像的更多信息。
    • 资源 :本节提供以下字段的信息:

      • CPU 请求(内核) :容器请求的内核数。
      • CPU 限制(内核) :容器可请求的最大内核数。
      • 内存请求(MB) :容器请求的内存大小。
      • 内存限制(MB) :容器可请求的最大内存。
    • :挂载到容器中的卷(若有)。
    • 机密 :与所选部署关联的 Secret。对于每个 secret,提供以下字段的信息:

      • 名称 :机密的名称。
      • 容器路径 :存储 secret 的位置。
    • 名称 :要挂载该服务的位置的名称。
    • :数据源路径。
    • 目标 :存储数据的路径。
    • 类型 :卷的类型。
端口配置部分

Port configuration 部分提供有关部署中端口的信息,包括以下字段:

  • 端口 :由部署公开的所有端口,以及与此部署和端口关联的任何 Kubernetes 服务(如果存在)。对于每个端口,会列出以下字段:

    • containerPort :部署公开的端口号。
    • 协议 :端口使用的协议,如 TCP 或 UDP。
    • exposure: 服务公开方法,如负载均衡器或节点端口。
    • exposureInfo :本节提供了以下字段的信息:

      • 级别 :指示服务在内部或外部公开端口。
      • serviceName :Kubernetes 服务的名称。
      • serviceID :存储在 RHACS 中的 Kubernetes 服务的 ID。
      • serviceClusterIp集群中 另一个部署或服务的 IP 地址,可用于访问该服务。这不是外部 IP 地址。
      • Service Port: 服务使用的端口。
      • NodePort :外部流量进入节点的节点上的端口。
      • externalIPs :可用于从集群外部访问服务的 IP 地址(如果存在)。此字段不适用于内部服务。
安全上下文部分

Security context 部分列出了容器是否作为特权容器运行。

  • 特权

    • 如果为 特权,则为 true
    • 如果不是特权,则为 false
网络策略部分

Network policy 部分列出了包含违反情况的命名空间中的命名空间和所有网络策略。点网络策略名称查看网络策略的完整 YAML 文件。

15.2.3. 策略标签页

Details 面板的 Policy 选项卡显示导致违反情况的策略详情。

策略概述部分

Policy overview 部分列出了以下信息:

  • 严重性 :对政策(关键、高、中等或低)的等级。
  • 类别 :策略的策略类别。策略类别在 Policy categories 选项卡中的 Platform Configuration Policy Management 中列出。
  • 类型 :策略是生成用户(由用户创建的策略)还是系统策略(默认为内置在 RHACS 中)。
  • 描述 :有关策略警报的详细说明。
  • Rationale:有关策略建立原因的信息及其重要原因。
  • 指导 :对如何解决违反情况的效果。
  • MITRE ATT&CK :指示是否有适用于此策略的 MITRE 战术和技术
策略行为

Policy behavior 部分提供以下信息:

  • Lifecycle Stage: 策略所属的生命周期阶段:Build, Deploy, 或 Runtime
  • 事件源 :此字段仅在生命周期阶段为 Runtime 时才适用。它可以是以下之一:

    • 部署 :当事件源包括进程和网络活动、pod exec 和 pod 端口转发时,RHACS 会触发策略违反情况。
    • 审计日志 :当事件源与 Kubernetes 审计日志记录匹配时,RHACS 会触发策略违反情况。
  • 响应 :响应可以是以下之一:

    • inform :策略违反情况会在违反情况列表中生成违反情况。
    • inform 和 enforce :强制使用违反情况。
  • 强制 :如果响应被设置为 Inform and enforce,列出了为以下阶段设置的强制类型:

    • 构建 :当镜像与策略条件匹配时,RHACS 无法构建您的持续集成(CI)。
    • 部署 :对于 Deploy 阶段,RHACS 会阻止在 RHACS 准入控制器配置并运行时与策略条件匹配的部署。

      • 在带有准入控制器强制的集群中,Kubernetes 或 OpenShift Container Platform API 服务器会阻止所有不合规的部署。在其他集群中,RHACS 编辑不合规部署,以防止调度 pod。
      • 对于现有部署,策略更改仅在发生 Kubernetes 事件时在下次检测条件时导致强制。有关强制的更多信息,请参阅"部署阶段的安全策略强制"。
    • 运行时 :当 pod 中的事件与策略条件匹配时,RHACS 会删除所有 pod。
策略条件部分

Policy criteria 部分列出了策略的策略标准。

15.2.3.1. 部署阶段的安全策略强制

Red Hat Advanced Cluster Security for Kubernetes 支持两种类型的安全策略强制进行部署时间策略强制:通过准入控制器和 RHACS Sensor 的软强制进行硬强制。准入控制器会阻止创建或更新违反策略的部署。如果准入控制器被禁用或不可用,则 Sensor 可以通过将违反策略部署到 0 的部署来缩减副本来执行强制。

警告

策略实施可能会影响运行应用程序或开发流程。在启用强制选项前,请通知所有利益相关者,并计划如何响应自动强制操作。

15.2.3.1.1. 硬强制

硬强制由 RHACS 准入控制器执行。在带有准入控制器强制的集群中,Kubernetes 或 OpenShift Container Platform API 服务器会阻止所有不合规的部署。准入控制器会阻止 CREATEUPDATE 操作。任何满足启用了 deploy-time 强制配置的策略的 pod 创建或更新请求都将失败。

注意

Kubernetes 准入 webhook 仅支持 CREATEUPDATEDELETECONNECT 操作。RHACS 准入控制器只支持 CREATEUPDATE 操作。kubectl patchkubectl setkubectl scale 等操作是 PATCH 操作,而不是 UPDATE 操作。因为 Kubernetes 不支持 PATCH 操作,所以 RHACS 无法对 PATCH 操作执行强制。

要进行阻塞,您必须在 RHACS 中为集群启用以下设置:

  • 在 Object Creates 上强制 :此切换在 Dynamic Configuration 部分中,控制准入控制服务的行为。您必须在打开的 Static Configuration 部分中具有 Configure Admission Controller Webhook 来侦听 Object Creates 开关才能正常工作。
  • 在对象更新上强制 :此切换在 Dynamic Configuration 部分中,控制准入控制服务的行为。您必须在打开的 Static Configuration 部分中具有 Configure Admission Controller Webhook 来侦听 Object Updates 切换。

如果您对 Static Configuration 设置进行了更改,您必须重新部署安全集群才能使这些更改生效。

15.2.3.1.2. 软强制

软强制由 RHACS Sensor 执行。这个强制可防止启动操作。使用软强制时,Sensor 将副本扩展到 0,并阻止调度 pod。在这个强制中,集群中提供了非就绪的部署。

如果配置了软强制,且 Sensor 停机,则 RHACS 无法执行强制。

15.2.3.1.3. 命名空间排除

默认情况下,RHACS 从强制阻止中排除某些管理命名空间,如 stackroxkube-systemistio-system 命名空间。这样做的原因是,必须部署这些命名空间中的一些项目才能使 RHACS 正常工作。

15.2.3.1.4. 对现有部署的强制

对于现有部署,策略更改仅在发生 Kubernetes 事件时在下次检测条件时导致强制。如果对策略进行更改,您必须通过选择 Policy Management 并点 Reassess All 来重新评估策略。此操作会在所有现有部署中应用部署策略,无论是否有新的传入的 Kubernetes 事件。如果违反了策略,则 RHACS 执行强制。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.