-
命名空间以
openshift-
开头 -
命名空间以
kube-
开头
通过了解平台组件的命名空间条件,您可以识别和管理环境中属于 OpenShift Container Platform、分层产品和第三方合作伙伴的命名空间。
平台组件 | 命名空间条件 |
---|---|
OpenShift Container Platform |
|
分层产品 |
|
第三方合作伙伴 |
|
Red Hat Advanced Cluster Security for Kubernetes (RHACS) 使用以下正则表达式模式识别属于平台组件的工作负载
^kube-.*|^openshift-.*|^stackrox$|^rhacs-operator$|^open-cluster-management$|^multicluster-engine$|^aap$|^hive$|^nvidia-gpu-operator$
通过查看“违规”页面,您可以分析所有违规并采取纠正措施。
在 RHACS 门户中,单击“违规”。
要浏览不同类型的违规,请执行以下任何一项任务
要查看活动违规列表,请单击“活动”选项卡。
要查看已解决违规的列表,请单击“已解决”选项卡。
要查看 RHACS 尝试解决的违规列表,请单击“已尝试”选项卡。
从页面左上角的下拉列表中选择合适的方法查看违规。
要显示应用程序工作负载的发现结果,请选择应用程序视图。
要显示 OpenShift Container Platform 中平台组件的发现结果,请选择平台视图。
要同时显示应用程序工作负载和平台组件的发现结果,请选择完整视图。
可选:选择合适的方法重新组织违规页面中的信息。
要按升序或降序排列违规,请选择列标题。
要过滤违规,请使用筛选栏。
要查看违规的更多详细信息,请选择违规页面中的违规项。
可选:选择合适的方法将部署从策略中排除。
如果您选择了一个部署,请点击溢出菜单 ,然后选择从策略中排除部署。
如果您选择了多个部署,请从行操作下拉列表中选择从策略中排除部署。
违规页面显示违规列表,并将信息组织到以下几组:
策略:违反的策略的名称。
实体:发生违规的实体。
类型:实体的类型。
对于工作负载违规,类型指示工作负载类型,例如Deployment
、Pod
、DaemonSet
等。
对于其他资源违规,类型指示资源类型,例如Secrets
、ConfigMaps
、ClusterRoles
等。
强制执行:指示在发生违规时是否强制执行了策略。
严重性:违规的严重性。
以下值与违规的严重性相关联:
低
中
高
严重
类别:违反策略的类别。
要查看策略类别:
在 RHACS 门户中,单击平台配置→策略管理→策略类别选项卡。
生命周期:策略适用的生命周期阶段。
以下值与生命周期阶段相关联:
构建
部署
运行时
时间:发生违规的日期和时间。
在违规视图中选择违规时,将打开一个窗口,其中包含有关违规的更多信息。它提供按多个选项卡分组的详细信息。
违规详细信息面板的违规选项卡解释了如何违反策略。如果策略针对部署阶段属性,则可以查看违反策略的具体值,例如违规名称。如果策略针对运行时活动,则可以查看有关违反策略的进程的详细信息,包括其参数和创建它的祖先进程。
详细信息面板的部署选项卡显示违规适用的部署的详细信息。
部署概述部分列出了以下信息:
部署 ID:部署的字母数字标识符。
部署名称:部署的名称。
部署类型:部署的类型。
集群:部署容器的集群名称。
命名空间:已部署集群的唯一标识符。
副本:已复制部署的数量。
创建日期:创建部署的时间和日期。
更新日期:更新部署的时间和日期。
标签:应用于所选部署的标签。
注释:应用于所选部署的注释。
服务帐户:所选部署的服务帐户的名称。
容器配置部分列出了以下信息:
容器:对于每个容器,提供以下信息:
镜像名称:所选部署的镜像名称。单击名称以查看有关镜像的更多信息。
资源:本部分提供以下字段的信息:
CPU 请求(核心):容器请求的核心数。
CPU 限制(核心):容器可以请求的最大核心数。
内存请求(MB):容器请求的内存大小。
内存限制(MB):容器可以请求的最大内存。
卷:如果存在,则在容器中挂载的卷。
密钥:与所选部署关联的密钥。对于每个密钥,提供以下字段的信息:
名称:密钥的名称。
容器路径:存储密钥的位置。
名称:服务将被挂载到的位置的名称。
来源:数据源路径。
目标:存储数据的位置。
类型:卷的类型。
端口配置部分提供有关部署中端口的信息,包括以下字段:
端口:部署公开的所有端口以及与此部署和端口关联的任何 Kubernetes 服务(如果存在)。对于每个端口,列出以下字段:
containerPort:部署公开的端口号。
协议:端口使用的协议,例如 TCP 或 UDP。
暴露方式:服务的暴露方式,例如负载均衡器或节点端口。
暴露信息:本部分提供以下字段的信息:
级别:指示服务是在内部还是外部暴露端口。
serviceName:Kubernetes 服务的名称。
serviceID:存储在 RHACS 中的 Kubernetes 服务的 ID。
serviceClusterIp:集群内其他部署或服务可以使用此 IP 地址访问服务。这不是外部 IP 地址。
servicePort:服务使用的端口。
nodePort:节点上外部流量进入节点的端口。
externalIps:如果存在,则可以用于从集群外部访问服务的 IP 地址。此字段不适用于内部服务。
安全上下文部分列出容器是否作为特权容器运行。
特权:
如果是特权,则为true
。
如果不是特权,则为false
。
网络策略部分列出包含违规的命名空间和命名空间中的所有网络策略。单击网络策略名称以查看网络策略的完整 YAML 文件。
详细信息面板的策略选项卡显示导致违规的策略的详细信息。
策略概述部分列出了以下信息:
严重性:策略的等级(严重、高、中或低),表示所需关注程度。
类别:策略所属的类别。策略类别列在平台配置→策略管理中的策略类别选项卡中。
类型:策略是用户生成的(用户创建的策略)还是系统策略(RHACS 默认内置的策略)。
描述:对策略警报内容的详细解释。
基本原理:关于制定该策略的理由及其重要性的信息。
指导:关于如何解决违规的建议。
MITRE ATT&CK:指示是否有适用于此策略的MITRE 战术和技术。
策略行为部分提供以下信息:
生命周期阶段:策略所属的生命周期阶段,构建
、部署
或运行时
。
事件源:此字段仅在生命周期阶段为运行时
时适用。它可以是以下之一:
部署:当事件源包括进程和网络活动、Pod 执行和 Pod 端口转发时,RHACS 会触发策略违规。
审计日志:当事件源与 Kubernetes 审计日志记录匹配时,RHACS 会触发策略违规。
响应:响应可以是以下之一:
通知:策略违规会在违规列表中生成一条违规记录。
通知并强制执行:违规将被强制执行。
强制执行:如果响应设置为通知并强制执行,则列出为以下阶段设置的强制执行类型:
构建:当镜像与策略的条件匹配时,RHACS 会使您的持续集成 (CI) 构建失败。
部署:对于部署阶段,如果 RHACS 准入控制器已配置并正在运行,则 RHACS 会阻止创建和更新与策略条件匹配的部署。
在具有准入控制器强制执行的集群中,Kubernetes 或 OpenShift Container Platform API 服务器会阻止所有不符合规定的部署。在其他集群中,RHACS 会编辑不符合规定的部署以防止 Pod 被调度。
对于现有部署,策略更改仅在下次检测到条件时(当发生 Kubernetes 事件时)才会导致强制执行。有关强制执行的更多信息,请参见“部署阶段的安全策略强制执行”。
运行时:当 Pod 中的事件与策略的条件匹配时,RHACS 会删除所有 Pod。
策略条件部分列出了策略的策略条件。
Red Hat Advanced Cluster Security for Kubernetes 支持两种针对部署时策略的安全策略强制执行形式:通过准入控制器进行的硬强制执行和由 RHACS 传感器进行的软强制执行。准入控制器会阻止创建或更新违反策略的部署。如果准入控制器被禁用或不可用,传感器可以通过将违反策略的部署的副本缩减到0
来执行强制执行。
策略强制执行可能会影响正在运行的应用程序或开发流程。在启用强制执行选项之前,请通知所有利益相关者并规划如何响应自动强制执行操作。 |
硬强制执行由 RHACS 准入控制器执行。在具有准入控制器强制执行的集群中,Kubernetes 或 OpenShift Container Platform API 服务器会阻止所有不符合规定的部署。准入控制器会阻止CREATE
和UPDATE
操作。任何满足配置了启用部署时强制执行的策略的 Pod 创建或更新请求都将失败。
Kubernetes 准入 Webhook 仅支持 |
对于阻止强制执行,您必须在 RHACS 中为集群启用以下设置:
在对象创建时强制执行:动态配置部分中的此切换控制准入控制服务的行为。您必须启用静态配置部分中的配置准入控制器 Webhook 以侦听对象创建切换才能使其正常工作。
在对象更新时强制执行:动态配置部分中的此切换控制准入控制服务的行为。您必须启用静态配置部分中的配置准入控制器 Webhook 以侦听对象更新切换才能使其正常工作。
如果您更改了静态配置设置中的设置,则必须重新部署安全集群才能使这些更改生效。
软强制执行由 RHACS 传感器执行。此强制执行可防止操作启动。使用软强制执行,传感器会将副本数量缩减到 0,并防止 Pod 被调度。在这种强制执行中,集群中存在一个非就绪部署。
如果配置了软强制执行,并且传感器已关闭,则 RHACS 无法执行强制执行。
默认情况下,RHACS 会将某些管理命名空间(例如stackrox
、kube-system
和istio-system
命名空间)从强制阻止中排除。原因是必须部署这些命名空间中的某些项目才能使 RHACS 正确工作。