卡巴斯基容器安全

目录

[Topic 263612]

卡巴斯基容器安全 2.0 帮助

图标"最新功能"。

最新功能

了解卡巴斯基容器安全的新功能。

硬件和软件要求

查看支持的编排平台、CI 系统、可用的镜像仓库和用户工作站要求。

授权卡巴斯基容器安全

了解为卡巴斯基容器安全提供的授权许可类型的更多信息。

安装和部署图标。

安装卡巴斯基容器安全

准备安装,然后在专用或公共公司网络中安装卡巴斯基容器安全

恶意软件图标。

识别安全威胁

扫描对象并接收有关检测到的漏洞、恶意软件、错误配置和敏感数据的信息。

漏洞图标。

风险处理

接受卡巴斯基容器安全识别到的风险(漏洞、恶意软件、敏感数据以及错误配置),以更改镜像的安全状态。

策略设置图标。

安全策略配置

配置扫描器策略保障策略响应策略运行时策略,以根据您的要求进行扫描。

镜像扫描图标。

从仓库扫描镜像和与 CI/CD 的集成

在 CI 系统中的项目构建期间,运行卡巴斯基容器安全扫描器来检查存储库中的对象是否符合启用的安全策略。

输出图标。

与输出的集成

配置与 Telegram 和电子邮件地址的集成以接收有关安全事件的通知。

Active Directory 图标。

与 Active Directory 的集成

使用有关 Active Directory 组的数据配置用户角色

"范围"图标。

容器内的进程控制

使用容器运行时配置文件控制容器内的进程和应用程序。

安全事件日志

了解有关用户活动注册和扫描结果存储的更多信息。

页首

[Topic 292907]

关于卡巴斯基容器安全平台

卡巴斯基容器安全(以下称为“解决方案”)可发现安全问题,并为真个容器应用程序全生命周期(开发、部署控制至运行时)提供保护。

解决方案功能:

  • 与镜像仓库(例如,Docker Hub、JFrog Artifactory、Sonatype Nexus Repository OSS、GitLab 仓库、Harbor)集成,扫描仓库中的镜像以查找 NVD 和 数据安全威胁数据库(FSTEC) 发布的已知漏洞、秘密(密码、访问密钥、令牌)、错误配置和恶意软件。
  • 作为管道阶段集成入 流程,扫描 是否存在错误配置,以及扫描容器镜像是否存在漏洞、恶意软件和敏感数据(秘密)。
  • 检查集群节点是否符合信息安全基准。
  • 在构建和运行应用程序时监控已配置安全策略的合规情况,包括运行时中的容器启动控制。
  • 监控受控集群使用的资源。

您可以通过管理控制台配置和访问卡巴斯基容器安全的功能。控制台以 Web 界面的形式实现,可通过 Chromium(Google Chrome、Microsoft Edge、Apple Safari)或者 Mozilla Firefox 浏览器访问。

本节帮助内容

最新功能

分发包

硬件和软件要求

缩放

基础镜像的系统软件包

扫描的应用软件包

在基于云的环境中运行

页首

[Topic 290867]

最新功能

卡巴斯基容器安全 2.0 提供以下新功能和改进:

  • 集中调查 CI/CD 构件、镜像仓库和运行时中的漏洞。
  • 增强了记录与网络流量(入站和出站)、文件操作、启动的进程和文件威胁防护防护相关的容器事件的功能。
  • 对包含多达数千个节点的基础设施进行不间断监控。
  • 与 HashiCorp Vault 外部机密存储集成
    • 读取为卡巴斯基容器安全组件预先创建的 Secret。
    • 使用 Vault PKI 创建用于跨服务交互的 TLS 证书。
  • 与安全信息与事件管理 (SIEM) 软件集成:
    • 在 UI 中配置与多种产品的集成。
    • 针对各种事件(管理、警报、CI/CD、策略、资源、扫描器、准入控制器、API)发送消息的参数规范。
    • 针对与与网络流量(入站和出站)、文件操作和启动进程相关的容器事件发送消息的参数规范。
  • 生成 .JSON 和 .XML 格式的报告。
  • 扫描基础架构以符合集群安全基准
  • 生成集群基准摘要报告。
  • 改进了与 LDAP(绑定 DN 方案)的集成。
  • 基于容器性能分析 (Autoprofiling) 的容器运行时配置文件生成。
  • OpenAPI 的改进:
    • 获取核心健康检查的数据
    • 管理扫描器策略、保障策略、响应策略和运行时策略。
    • 运行时配置文件管理。
    • 获取系统事件日志。
    • 获取容器事件日志
    • 风险管理。
    • 自动分析任务管理。
    • 获取有关与镜像签名验证器集成的信息
  • 支持与以下外部镜像仓库集成:
    • Amazon Elastic Container Registry
    • Red Hat Quay
  • 在 CI/CD 进程中扫描 OCI 目录。
页首

[Topic 292932]

分发包

有关购买应用程序的信息,请访问 https://www.kaspersky.com 或联系我们的合作伙伴。

分发包包括一个 Helm Chart 软件包,其中包含部署和安装卡巴斯基容器安全组件所需的容器化资源。下表列出了分发套件中的容器化组件。

卡巴斯基容器安全分发套件中的容器化组件

组件

镜像

Pod

ClickHouse DBMS

clickhouse

kcs-clickhouse

PostgreSQL DBMS

postgresql

kcs-postgres

Middleware

middleware

kcs-middleware

事件代理

event-broker

kcs-eb

镜像处理程序,客户端扫描器

image-handler

kcs-ih

扫描器

scanner-server

kcs-scanner

Licenses

licenses

kcs-licenses

文件存储(Minio)

minio

kcs-s3

多线程基于事件的键值缓存存储 (Memcached)

memcached

kcs-memcached

更新专用公司网络的文件服务器(更新)

updates

kcs-updates

解决方案界面(面板)

nginx

kcs-panel

代理中介

agent-broker

kcs-ab

代理

node-agent
kube-agent

node-agent
kube-agent

Helm 包还包括一个values.yaml配置文件,其中包含安装更新解决方案的设置值。

下载并保存 Helm 包到选定目录后,编排器会将镜像从 Helm 包中指定的源直接下载到编排平台节点。

激活应用程序所需的信息将通过电子邮件发送给您。

页首

[Topic 287165]

硬件和软件要求

要安装和运行卡巴斯基容器安全,必须满足以下基础设施要求:

  • 以下编排器平台之一:
    • Kubernetes 1.21 或更高版本
    • OpenShift 4.8、4.11 或更高版本
    • DeckHouse 1.52 或 1.53 (CNI: Flannel)
    • DropApp 2.1
  • 具备可在开发过程中扫描容器镜像的 CI 系统(如 GitLab CI)。
  • 安装了包管理器 Helm 3.10.0 或更高版本。

使用容器运行时配置文件实现运行时监控,编排器节点必须满足以下要求:

  • Linux 内核 4.18 或更高版本。

    Linux内核 5.8 或更高版本使用了一些在 Linux 内核级别管理进程权限的机制。如果 Linux 内核版本低于 5.8,则在安装卡巴斯基容器安全时,必须禁用 kcs-ih 组件的这些进程权限管理机制列表,并将其设置为特权模式。
    设置特权模式的示例

    default:
    kcs-ih:
    privileged: true

  • 容器运行时 (CRI):containerd、CRI-O。
  • 容器网络接口 (CNI) 插件:Flannel、Calico、Cilium。

架构要求:

卡巴斯基容器安全支持 x86 架构:

实现使用容器运行时配置文件进行运行时监控所需的 Linux 发行版和 Linux 内核的最低支持版本:

  • CentOS 8.2.2004 或更新版本 + 内核 4.18.0-193 或更新版本
  • Ubuntu 18.04.2 或更新版本 + 内核 4.18.0 或更新版本
  • Debian 10 或更新版本 + 内核 4.19.0 或更新版本
  • Astra Linux SE 1.7. * + 内核 6.1.50-1-generic

    如果使用 Astra Linux OS,内核配置必须具有 CONFIG_DEBUG_INFO_BTF=y 选项。

  • RHEL 9.4 或更高版本 + 内核 5.14 或更高版本
  • Red Hat Enterprise Linux CoreOS 416.94.202408200132-0 + kernel 5.14.0-427.33.1.el9_4.x86_64
  • Sber Linux 8.9, 9.3 + kernel 5.14 (CNI: CRI-O, Calico, Cilium)

当使用 Cilium 1.16 时,您必须设置 enableTCXfalse

如果您的基础设施包含运行其他 Linux 发行版的主机服务器,我们建议联系技术支持。技术支持将检查解决方案与您的发行版的兼容性。如果不存在这种兼容性,则卡巴斯基容器安全的未来版本可能会支持这些发行版。

卡巴斯基容器安全可确保在 Istio 服务网格基础设施中使用时正确运行。

该解决方案支持与 Hashicorp Vault 1.7 或更高版本的集成。

使用外部数据库管理系统时,卡巴斯基容器安全支持以下 DBMS:

  • PostgreSQL 11.*, 13.*, 14.*, 15.*
  • Pangolin 6.2.0

卡巴斯基容器安全支持与以下镜像仓库的集成:

  • GitLab 14.2 或更高版本
  • Docker Hub V2 API
  • JFrog Artifactory 7.55 或更高版本
  • Sonatype Nexus Repository OSS 3.43 或更高版本
  • Harbor 2.х
  • Yandex Registry(使用 Yandex Container Registry API 进行集成)
  • Docker Registry(使用 Docker V2 API 进行集成)
  • Red Hat Quay 3.x

卡巴斯基容器安全同时支持 IPv4 和 IPv6 网络。

镜像要求(操作系统、版本、扫描的软件包):

  • AlmaLinux,版本 8、9。扫描通过 dnf/yum/rpm 安装的软件包。
  • Alpine Linux,版本 2.2 - 2.7、3.0 - 3.20、Edge。扫描通过 apk 安装的软件包。
  • Amazon Linux,版本 1、2、2023。扫描通过 dnf/yum/rpm 安装的软件包。
  • Astra Linux SE,版本 1.6.x、1.7.x。扫描通过 apt/dpkg 安装的软件包。
  • CBL-Mariner,版本 1.0、2.0。扫描通过 dnf/yum/rpm 安装的软件包。
  • CentOS,版本 6、7、8。扫描通过 dnf/yum/rpm 安装的软件包。
  • Chainguard,所有版本。扫描通过 apk 安装的软件包。
  • Debian GNU/Linux,版本 7、8、9、10、11、12。扫描通过 apt/dpkg 安装的软件包。
  • openSUSE Leap,版本 42、15。扫描通过 zypper/rpm 安装的软件包。
  • openSUSE Tumbleweed,所有版本。扫描通过 zypper/rpm 安装的软件包。
  • Oracle Linux,版本 5、6、7、8。扫描通过 dnf/yum/rpm 安装的软件包。
  • Photon OS,版本 1.0、2.0、3.0、4.0。扫描通过 tdnf/yum/rpm 安装的软件包。
  • Red Hat Enterprise Linux,版本 6、7、8。扫描通过 dnf/yum/rpm 安装的软件包。
  • RedOS 版本 7.1、7.2、7.3.х、8.0。扫描通过 dnf/yum/rpm 安装的软件包。
  • Rocky Linux,版本 8、9。扫描通过 dnf/yum/rpm 安装的软件包。
  • SUSE Enterprise Linux,版本 11、12、15。扫描通过 zypper/rpm 安装的软件包。
  • SUSE Linux Enterprise Micro,版本 5、6。扫描通过 zypper/rpm 安装的软件包。
  • Ubuntu,Canonical 支持的所有版本。扫描通过 apt/dpkg 安装的软件包。
  • Wolfi Linux,所有版本。扫描通过 apk 安装的软件包。
  • 安装了具有 Conda 命令行工具的操作系统。通过 conda 安装的软件包得到扫描。

当在有三个工作节点、三个扫描器 Pod (kcs-ih) 和最大镜像扫描大小为 10 GB 的集群中配置卡巴斯基容器安全时,集群工作节点必须满足以下要求:

  • 至少 10 个处理器核心
  • 至少 18 GB 的 RAM
  • 40 GB 可用磁盘空间
  • 集群组件之间至少有 1 Gbps 的通信通道带宽

为了运行集群中的代理,必须为每个工作节点提供以下额外的计算资源:

  • 2 个处理器核心
  • 3 GB 的 RAM
  • 15 GB 可用磁盘空间

您必须根据受监控节点的数量为 ClickHouse DBMS 分配可用磁盘空间。每个节点需要 1 GB 的可用磁盘空间用于 ClickHouse 持久卷。

上述要求仅适用于卡巴斯基容器安全部署;他们不考虑客户端资源上的其他负载。

卡巴斯基容器安全用户工作站要求:

  • 在公共公司网络中部署时,可永久连接互联网。
  • 可访问卡巴斯基容器安全管理控制台页面(需使用客户企业内部网络地址,在安装期间指定)。
  • 带宽至少为 10 Mbit/s 的通信信道。
  • 以下浏览器之一:
    • Google Chrome 版本 73 或更高版本。
    • Microsoft Edge 版本 79 或更高版本。
    • Mozilla Firefox 版本 63 或更高版本。
    • Apple Safari 版本 12.1 或更高版本。
    • Opera 版本 60 或更高版本。
页首

[Topic 287063]

缩放

为了在扫描卡巴斯基容器安全镜像的传入卷时实现并保持最佳性能,您必须考虑解决方案支持的扫描 Pod 和集群节点的数量。

本节内容

缩放扫描 Pod 的数量

缩放时考虑所服务的集群节点数量

页首

[Topic 287064]

缩放扫描 Pod 的数量

卡巴斯基容器安全支持缩放扫描 Pod 数量,以确保可以扫描传入的镜像量。您可以在解决方案运行时随时缩放扫描 Pod 数量。

添加扫描 Pod 时,系统资源有如下增加:

  • 节点处理器的数量 – 增加 2。
  • 节点上的 RAM 量 – 增加 4 GB。
  • 节点硬盘驱动器上的可用磁盘空间量 – 增加 15 GB。

为扫描大于 10 GB 的镜像,对于每个扫描 Pod,每增加 1 GB,都必须按如下方式增加 kcs-ih 服务资源。

  • 节点上的 RAM 量 – 增加 300 MB。
  • 节点硬盘驱动器上的可用磁盘空间量 – 增加 1 GB。

在标准操作模式下,如果没有扫描镜像以查找配置文件中的错误,则无需增加扫描 Pod 上的 RAM。

为了更快地处理许多大型对象的扫描结果,您可以通过更新 Helm 包中的变量来为作业处理程序服务分配更多资源。

要添加更多扫描作业处理资源:

  1. 打开 Helm 包,并在default部分的 scanWorkers 变量中为 kcs-middleware 参数指定所需的处理程序数量。
  2. requestslimits变量中,指定根据以下公式确定的 RAM 大小:

    memory = X * scanWorkers / 2,其中

    memory是分配给镜像处理程序服务的 RAM 大小。

    X 是表示 RAM 大小的变量的原始值。

    scanWorkers 是步骤 1 中所指定的处理程序的数量。

    scanWorkers/2 的结果不能为零。

  3. requestslimits变量中,指定根据以下公式计算的 CPU 资源:

    cpu = X*scanWorkers,其中

    cpu 是分配给镜像处理程序服务的 CPU 资源。

    X 是表示 CPU 资源的变量的原始值。

    scanWorkers 是步骤 1 中所指定的处理程序的数量。

添加更多扫描作业处理资源的示例

添加更多扫描作业处理资源

初始值

default:

# kcs-middleware:

#scanWorkers: 1

## “资源”的默认值

# resources:

# requests:

# memory: "2Gi"

# cpu: "400m"

# limits:

# memory: "4Gi"

# cpu: "800m"

 

增加后的值

default:

kcs-middleware:

scanWorkers: 4

## “资源”的默认值

resources:

requests:

memory: "4Gi"

cpu: "1600m"

limits:

memory: "8Gi"

cpu: "3200m"

 

页首

[Topic 295413]

缩放时考虑所服务的集群节点数量

卡巴斯基容器安全的一个实例支持最多 600 个受监控集群。每个集群的服务节点数量可通过更改以下组件来扩展:

  • kcs-ab可增加或减少组件副本的数量。
  • kcs-memcached可增加或减少组件的资源分配要求。

默认情况下,卡巴斯基容器安全附带为这些组件设置的以下值:

  • kcs-ab:
    • 每个副本 1 个 pod,可为 2000 个节点提供服务。
    • 请求的资源量:节点 0.5 个 CPU 核心;节点 512 MB RAM。
    • 最大资源使用量:节点 1 个 CPU 核心;节点 1 GB RAM。
  • kcs-memcached:
    • 请求的资源量:节点 2 个 CPU 核心;节点 2 GB RAM。
    • 最大资源使用量:节点 4 个 CPU 核心;节点 4 GB RAM。

卡巴斯基容器安全通过增加以下参数进行缩放:

  • 对于 kcs-ab,向副本添加一个 Pod 会使支持的节点数量增加 2000 个。
  • 对于 kcs-memcached,向 kcs-ab 组件添加一个 Pod 需要按以下数量增加 kcs-memcached 组件的请求资源和最大资源使用量:
    • 请求的资源量:节点 0.5 个 CPU 核心;节点 2 GB RAM。
    • 最大资源使用量:节点 0.5 个 CPU 核心;节点 2 GB RAM。

例如,如果卡巴斯基容器安全实例为用户集群中的 10,000 个节点提供服务,则适用以下参数:

  • kcs-ab:
    • 每个副本有 5 个 Pod。
    • 请求的资源量:每个节点 0.5 个 CPU 核心;每个节点 512 MB RAM。
    • 最大资源使用量:节点 1 个 CPU 核心;节点 1 GB RAM。
  • kcs-memcached:
    • 请求的资源量:节点 4 个 CPU 核心;节点 10 GB RAM。
    • 最大资源使用量:节点 6 个 CPU 核心;节点 12 GB RAM。

给出的值是近似值,因为部署需要考虑虚拟化设置的细节和给定基础设施中主机服务器(节点)的性能。

页首

[Topic 265976]

基础镜像的系统软件包

卡巴斯基容器安全使用以下操作系统镜像作为基础镜像:

  • Alpine 3.18.4。
  • Ubuntu 23.10。
  • Oracle Linux 9.2。

软件包管理系统(“软件包管理器”)用于管理各种软件组件的安装、删除、配置和更新。卡巴斯基容器安全对其基础操作系统中使用以下软件包管理器:

  • 对于 Alpine,使用 apk
  • 对于 Ubuntu,使用 apt
  • 对于 Oracle Linux,使用 rpm

要获取有关已安装的系统软件包的信息,

请使用标准编排器工具访问正在运行的容器,并(根据所使用的软件包管理器)输入以下 bash 命令:

  • 对于 apk:

    apk -q list | grep "installed"

  • 对于 apt:

    apt list --installed

  • 对于 rpm:

    yum list installed

页首

[Topic 283462]

扫描的应用软件包

卡巴斯基容器安全支持指定编程语言的以下扫描应用程序软件包:

  • Ruby:
    • gemspec(镜像已扫描)。
    • Gemfile.lock(CI/CD 中的仓库已扫描)。
  • Python:
    • egg 包、wheel 包、conda 包(镜像已扫描)。
    • Pipfile.lock、poetry.lock、requirements.txt(CI/CD 中的仓库已扫描 )。
  • PHP的:
    • installed.json(镜像已扫描)。
    • composer.lock(CI/CD 中的仓库已扫描)。
  • Node.js:
    • package.json(镜像已扫描)。
    • package-lock.json、yarn.lock、pnpm-lock.yaml(CI/CD 中的仓库已扫描)。
  • .NET:packages.lock.json、packages.config、.deps.json、Packages.props(CI/CD 中的镜像和仓库已扫描)。
  • Java:
    • *.jar、*.war、*.par 和 *.ear(镜像已扫描)。
    • pom.xml、* gradle.lockfile、* .sbt.lock(CI/CD 中的仓库已扫描)。
  • Go:
    • 二进制文件(镜像已扫描)。
    • go.mod(CI/CD 中的仓库已扫描)。
  • Rust:
    • Cargo 检查的二进制文件(镜像已扫描)。
    • Cargo.lock(CI/CD 中的镜像和仓库已扫描)。
  • C/C++: conan.lock(CI/CD 中的仓库已扫描)。
  • Elixir: mix.lock(CI/CD 中的仓库已扫描)。
  • Dart: pubspec.lock(CI/CD 中的仓库已扫描)。
  • Swift: Podfile.lock、Package.resolved(CI/CD 中的仓库已扫描)。
  • Julia:Manifest.toml(CI/CD 中的镜像和仓库已扫描)。
页首

[Topic 295358]

在基于云的环境中运行

卡巴斯基容器安全可以在各种云环境中运行。要了解有关在云环境中启动解决方案的更多信息,请联系您的售前经理。

页首

[Topic 292949]

解决方案架构

卡巴斯基容器安全组件根据分发套件中包含的镜像进行部署。下表显示哪些镜像对应于哪些解决方案组件。

卡巴斯基容器安全组件

组件

镜像

组件功能

ClickHouse DBMS

clickhouse

管理 ClickHouse 数据库以存储和处理来自代理的信息消息。

PostgreSQL DBMS

postgresql

使用分析和优化查询解析和查询引擎的工具管理数据库。

 

Middleware

middleware

实现解决方案的服务器组件的数据处理业务逻辑并将 REST API 暴露给卡巴斯基容器安全的图形用户界面。

事件代理

event-broker

确保分布式解决方案系统各个元素之间的通信。

镜像处理程序,客户端扫描器

image-handler

使用漏洞和恶意软件扫描程序处理扫描作业:启动扫描作业、扫描对象、汇总和发布扫描结果。

扫描程序服务器

scanner-server

管理扫描程序服务器,它被用于存储漏洞数据库和镜像层缓存,以及支持镜像处理程序。

许可模块

licenses

管理根据授权许可提供的功能。

文件存储

minio

管理存储,用于存储和向用户分发解决方案生成的文件。

多线程基于事件的键值缓存存储

memcached

管理解决方案作为事件的一部分接收的密钥和值的缓存存储。

为专用公司网络提供更新的文件服务器

updates

部署解决方案时提供更新。

解决方案界面

nginx

卡巴斯基容器安全图形用户界面的功能。

代理中介

agent-broker

确保分布式解决方案系统各个元素之间的通信。

代理

node-agent

kube-agent

根据配置的安全策略和与编排器的集成来维护节点上的安全。

解决方案包含以下主要组件:

卡巴斯基容器安全可以部署在公共或专用公司网络中。

本节帮助内容

Middleware

代理

扫描器

第三方应用程序密码要求

页首

[Topic 274610]

Middleware

卡巴斯基容器安全中间件具有以下功能:

  • 提供用于交互式管理解决方案的界面(管理控制台)。
  • 确保与外部软件组件(SIEM、CI、镜像仓库、LDAP、Telegram、电子邮件)集成并接收来自它们的信息。
  • 协调其他解决方案组件的运行。
  • 确保安全策略的创建和管理。
  • 显示解决方案操作的结果。
页首

[Topic 295359]

代理

卡巴斯基容器安全代理(以下也称为“代理”)是一个作为容器化应用程序运行的解决方案组件,它根据配置的安全策略为节点提供安全保护,特别是:

  • 节点上运行的容器的运行时安全性。
  • 容器内 Pod 和应用程序之间的网络交互。
  • 与编排平台的集成以及分析编排器配置及其组件所需的数据流。
  • 从受信任的镜像启动容器,以防止未经验证的镜像运行。

代理将安装到集群的所有节点以及需要保护的所有集群。卡巴斯基容器安全使用两种类型的代理:集群保护代理 (csp-kube-agent) 和节点保护代理 (csp-node-agent)。它们一起组成代理组。对于每个集群,都创建单独的一组代理。可以为一个解决方案安装创建多组代理。

代理不会将其可执行代码注入受监控集群中的容器中。

如果集群不包含代理,则某些解决方案功能不可用(例如,运行时策略、资源监控)。

页首

[Topic 254415]

扫描器

扫描器是卡巴斯基容器安全的一个软件组件,用于实时扫描对象以评估其安全性并检测已知漏洞、恶意软件、敏感数据迹象以及错误配置。扫描器允许您根据活动的安全策略执行安全检查。

卡巴斯基容器安全采用以下类型的扫描器:

  • 基于公共漏洞和暴露 (CVE) 数据库的漏洞扫描器
  • 文件威胁防护组件中的文件威胁扫描器
  • 配置文件扫描器
  • 敏感数据(秘密)扫描器

本节内容

关于对象扫描

扫描过程

页首

[Topic 271778]

关于对象扫描

卡巴斯基容器安全在扫描过程中会检查解决方案中部署的对象。扫描过程会搜索并分析与解决方案中的对象相关的威胁和安全风险。必须定期执行对象扫描以跟踪新出现的安全威胁。

在扫描时,卡巴斯基容器安全可识别以下安全威胁:

  • 漏洞
  • 恶意软件
  • 错误配置
  • 敏感数据
  • 不符合安全策略要求
页首

[Topic 274621]

扫描过程

扫描器通过镜像处理程序接收扫描作业。镜像处理程序是部署在卡巴斯基容器安全基础架构中的模块,它将扫描作业转发到扫描器并接收扫描器的扫描结果。

转发扫描作业后,扫描器的当前状态将确定为以下状态之一:

  • 空闲 – 扫描器当前未处理对象,可以根据请求接受来自镜像处理程序的作业。
  • 忙碌 – 扫描器当前正在处理扫描作业。来自镜像处理程序应用程序的新作业将放入队列。

扫描作业队列包含所有转发的扫描作业,在以下情况下生成:

扫描队列中的作业会获得以下状态:

  • 未运行 – 创建作业时默认指定的状态。
  • 进行中 – 作业正在由镜像处理程序处理。
  • 解析结果 – 解决方案处理作业扫描结果并将其显示在界面上。
  • 错误 – 扫描作业失败。
  • 已完成 – 扫描作业的结果可用。

队列中的扫描作业按照接收顺序提交给镜像处理程序。然后,扫描作业将发送至状态为“空闲”的扫描器,并进行扫描以检查是否存在安全问题。扫描结果将发送回镜像处理程序。如果收到扫描结果,则该扫描作业被视为已完成。如果扫描作业执行了三次或更多次但没有收到结果,则该扫描作业将被赋予“错误”状态。

扫描许多大型对象时,解决方案在用户界面上显示扫描结果的速度可能会较慢。您可能需要等待几分钟才能看到结果。在此期间,扫描作业将与解析结果状态一起显示在扫描器部分。

如果您希望加快扫描结果的处理速度,可以通过更新 Helm Chart 中的变量来为扫描作业处理程序服务分配更多资源(更多详细信息请参阅缩放)。

当发生错误时,解决方案会显示由代码和文本消息组成的错误消息(例如, HNDL-004: scan time out)。

错误信息以英文显示。下表列出了消息示例及其含义。

运行扫描作业时可能出现的错误消息示例

扫描错误消息及其含义

错误信息

消息含义

HNDL-001:mdw 适配器发送状态

无法发送扫描状态或结果,收到接收服务器的响应错误消息

HNDL-003: scanner config invalid

扫描器设置缺失或不正确

HNDL-004: scan time out

由于未在时限内收到扫描结果或扫描作业超时,扫描过程结束

HNDL-005: scan params empty

扫描作业参数缺失或不正确

HNDL-006: <消息文本>

运行子进程或命令时出错并给出描述

HNDL-007: <消息文本>

意外系统错误及描述

HNDL-008:作业 ID 为空

扫描作业 ID 无效

HNDL-011:代理 URL 无效

代理服务器 URL 无效

HNDL-012:数据库的最后发布日期未知

恶意软件数据库发布日期未设定

HNDL-013:数据库发布日期格式无效

恶意软件数据库发布日期格式无效

HNDL-014:扫描策略为空

扫描器策略未设置

HNDL-015:无法获取本地时区

无法确定解决方案的当前时区

扫描后,解决方案将显示扫描结果。如果在对象中检测到安全威胁,卡巴斯基容器安全会提示您执行以下操作之一:

页首

[Topic 296006]

第三方应用程序密码要求

卡巴斯基容器安全使用特定的第三方服务运行。分发套件中包含以下解决方案组件:

  • S3 兼容文件存储
  • ClickHouse DBMS
  • PostgreSQL DBMS
  • 多线程基于事件的键值缓存存储 Memcached

这些组件的部署参数在 Helm Chart 包中的 values.yaml 配置文件中指定。

这些组件的密码有以下要求:

  • 最短密码长度为 8 个字符。
  • 密码不得包含以下特殊字符: '"

密码在配置文件中的以下变量中指定:

  • MINIO_ROOT_PASSWORD,适用于 S3 兼容文件存储
  • CLICKHOUSE_PASSWORDCLICKHOUSE_WRITE_PASSWORDCLICKHOUSE_READ_PASSWORD,适用于 ClickHouse。
  • POSTGRES_PASSWORD,适用于 PostgreSQL。
  • MEMCACHED_PASSWORD,适用于 Memcached 缓存存储。
页首

[Topic 273082]

标准部署方案

卡巴斯基容器安全支持以下部署场景:

  • 在公共公司网络中部署(允许从 Kubernetes 集群访问互联网):
    • 用于部署卡巴斯基容器安全组件的镜像位于公共存储库中。
    • 安装后,解决方案组件会引用互联网上的漏洞数据库。
    • 数据库使用卡巴斯基更新服务器进行更新,服务器可在互联网上找到。

    专用公司网络如果可以访问允许的服务器列表中的服务器,可以被视为公共公司网络。

  • 在专用公司网络中部署(禁止从 Kubernetes 集群访问互联网):
    • 内部存储库用于托管从中部署卡巴斯基容器安全组件的镜像。
    • 此外,安装了 组件 kcs-updates,这是一个特殊镜像,包含解决方案运行所需的漏洞数据库和安全基准。
    • 安装后,解决方案组件将引用在公司网络内特殊镜像 kcs-updates 中的漏洞数据库和安全标准。
    • 提供威胁数据库更新的更新服务器作为单独的组件部署在公司网络中。

专用公司网络还允许使用代理服务器进行部署

我们不建议部署采用集群基础架构配置的解决方案,在这种配置中,主机服务器(节点)之间的网络交互在公共互联网上进行。如果采用该配置,集群内的网络交互可能会面临严重的网络安全风险。

本节帮助内容

在公共公司网络中部署

在专用公司网络中部署

页首

[Topic 291328]

在公共公司网络中部署

在公共公司网络中部署时,卡巴斯基容器安全可以从集群访问互联网。解决方案数据库从包含漏洞和恶意软件数据库更新的外部数据库进行更新。

公共公司网络中的解决方案部署方案。

部署在公共公司网络时的解决方案架构

页首

[Topic 291329]

在专用公司网络中部署

在专用公司网络中部署时,卡巴斯基容器安全被禁止从集群访问互联网。通过更新从 CI / CD 运行的扫描器的镜像以及镜像扫描器,解决方案数据库会进行更新。

在私有网络中部署解决方案的方案。

部署在专用公司网络时的解决方案架构

页首

[Topic 292927]

准备安装解决方案

在安装卡巴斯基容器安全之前,您必须安装公司网络所需的所有证书并配置代理服务器。

该解决方案可以部署在专用或公共公司网络中

在安装卡巴斯基容器安全之前,请确保您拥有以下组件和访问权限:

  • 能够访问互联网和集群的虚拟机或物理机。
  • Helm 软件包管理器,用于在集群中打包、配置和部署应用程序及服务。

    卡巴斯基容器安全支持 Helm 3.10.0 或更高版本。

  • 互联网访问权限,用于下载 Helm Chart 软件包。
  • 编排器管理工具,例如 kubectl(适用于 Kubernetes)或 oc(适用于 Openshift)。
  • 对使用 kubeconfig文件的集群的访问权限。

    要在专用公司网络中安装解决方案,请配置容器镜像存储库。该存储库使用解决方案供应商提供的凭据访问卡巴斯基容器安全供应商存储库。

本节帮助内容

准备在专用网络中安装

证书要求

页首

[Topic 276636]

解决方案安装

卡巴斯基容器安全组件以镜像的方式在卡巴斯基容器安全制造商仓库中提供,并部署为容器。

卡巴斯基容器安全平台的安装包括以下步骤:

  1. 安装基本业务逻辑模块和扫描器组件。
  2. 首次启动管理控制台。
  3. 配置受控集群节点上的代理组和代理部署。

安装后,应该准备好运行解决方案:

本节帮助内容

安装基本业务逻辑模块和扫描器

首次启动管理控制台

查看并接受最终用户授权许可协议

检查解决方案功能

代理部署

查看和编辑代理组

配置代理服务器

连接到外部数据存储资源

安装私人修复

页首

[Topic 292077]

安装基本业务逻辑模块和扫描器

在解决方案安装之前,必须检查准备的 Helm Chart 包中的数据完整性。

要检查数据完整性:

  1. 下载包含准备好的 Helm Chart 包和哈希文件的压缩文件,然后前往此目录。
  2. 运行命令:

    sha256sum -c kcs-2.0.0.tgz.sha

    如果显示以下消息,则确认数据完整性:

    kcs-2.0.0.tgz: OK

在开始安装(包括在 AWS EKS 或 Microsoft Azure 上)之前,请注意配置文件中 defaultingress.kcs 块中的 storageClassingressClass 设置。这些设置与集群相关,如有必要,可以根据您的基础设施进行更改。例如,以下变量用于 Azure:

default:
  storageClass: azurefile
  networkPolicies:
    ingressControllerNamespaces:
      - app-routing-system

ingress:
  kcs:
    ingressClass: webapprouting.kubernetes.azure.com

要安装卡巴斯基容器安全的基本业务逻辑模块和扫描程序,

准备好配置文件后,运行解决方案安装:

cd kcs/

helm upgrade --install kcs . \

--create-namespace \

--namespace kcs \

--values values.yaml \

--set default.domain="example.com" \

--set default.networkPolicies.ingressControllerNamespaces="{ingress-nginx}" \

--set secret.infracreds.envs.POSTGRES_USER="user" \

--set-string secret.infracreds.envs.POSTGRES_PASSWORD="pass" \

--set secret.infracreds.envs.MINIO_ROOT_USER="user" \

--set-string secret.infracreds.envs.MINIO_ROOT_PASSWORD="password" \

--set-string secret.infracreds.envs.CLICKHOUSE_ADMIN_PASSWORD="pass" \

--set secret.infracreds.envs.MCHD_USER="user" \

--set-string secret.infracreds.envs.MCHD_PASS="pass" \

--set pullSecret.kcs-pullsecret.username="user" \

--set-string pullSecret.kcs-pullsecret.password="pass"

安装后,解决方案组件即部署完成。

此外,在安装卡巴斯基容器安全中间件模块和扫描程序时,您可以配置密码、令牌和机密的安全传输。这是使用 HashiCorp Vault 存储实现的,您可以在 values.yaml 文件中配置它,并在启动 Helm Chart 包时进行部署。

安装完成后,有关解决方案安装命令的执行的记录会保留在命令 shell 中。您可以打开命令历史记录文件并删除该记录,或者阻止命令历史在安装之前记录在命令 shell 中。

控制面板将在环境变量部分的 envs 子部分中所指定的地址可用。这允许您为 API_URL 参数创建 ConfigMap 对象

http://${DOMAIN}

页首

[Topic 250380]

首次启动管理控制台

要启动卡巴斯基容器安全管理控制台:

  1. 在浏览器中,导航到在安装服务器期间为管理控制台指定的地址。

    将打开授权页面。

  2. 输入您的用户名和密码,然后单击“登录”按钮

    在安装解决方案期间,用户名和密码被分配了相同的值 – admin您可以在启动管理控制台后更改用户名和密码。

    3 次尝试输入密码失败后,用户将被暂时阻止访问。默认的阻止时间为 1 分钟。

  3. 按照要求,更改用户账户的当前密码:输入新密码,确认,然后单击“更改”按钮

    密码的要求如下:

    • 密码必须包含数字、特殊字符、大写和小写字母。
    • 最小密码长度为 6 个字符,最大密码长度为 72 个字符。

管理控制台的主页面将打开。

默认情况下,管理控制台中登录的用户会话为 9 小时。在“设置身份验证”部分,您可以设置自己的会话持续时间,最小值为 1 小时,最大值为 168 小时。该时间到期后,控制台会话结束。

您可以在“设置身份验证”部分更改连接设置

页首

[Topic 255780]

查看并接受最终用户授权许可协议

首次在浏览器中启动管理控制台时,卡巴斯基容器安全将提示您阅读您与卡巴斯基之间的最终用户授权许可协议。要继续使用解决方案,请确认您已完全阅读并接受卡巴斯基容器安全最终用户授权许可协议的条款。

要确认接受最终用户授权许可协议的条款,

在最终用户授权许可协议窗口的底部,单击“接受”按钮。

将为启动管理控制台打开授权页面。

安装新版本的解决方案后,需再次接受最终用户授权许可协议。

页首

[Topic 266166]

检查解决方案功能

安装卡巴斯基容器安全并启动管理控制台后,您可以确保该解决方案能够检测安全问题并保护容器化对象。

要检查卡巴斯基容器安全的功能:

  1. 使用激活码或密钥文件激活解决方案
  2. 配置与镜像仓库的集成。与单个仓库的集成足以检查功能。
  3. 如有必要,配置解决方案安装后默认创建的扫描器策略的设置
  4. 添加要扫描的镜像并确保发送扫描任务进行处理。
  5. 扫描完成后,转至包含镜像扫描结果详细信息的页面

扫描镜像并收到有效结果,即确认卡巴斯基容器安全正常运行。此后,您可以进一步配置解决方案设置。

页首

[Topic 294539]

代理部署

您应该在要保护的集群的所有节点上都安装代理。

每个集群上都安装单独的一组代理。

要在集群中部署代理:

  1. 在主菜单中,转到“组件 → 代理”部分
  2. 在工作窗格中,单击“添加代理组”按钮
  3. 常规选项卡上:
    1. 填写表单中的字段。
      • 输入组名称。为了方便代理管理,我们建议根据将在其节点上部署代理的集群来对代理组进行命名。
      • 如需要,请输入代理组的描述。
      • 选择要使用的编排器。
      • 指定命名空间名称。
    2. 在“KCS 仓库”部分中,输入用于安装代理的镜像所在仓库的网址。要访问仓库,必须指定正确的用户名和密码。
    3. 链接的 SIEM下,从下拉列表中选择 SIEM 系统。

      要在卡巴斯基容器安全中链接代理组,您必须创建并配置至少一个与 SIEM 系统的集成
      一个代理组只能与一个 SIEM 系统链接。

      对于每个 SIEM 系统集成,下拉列表指示连接状态 – 成功警告错误

  4. 在“节点监控”选项卡上,使用“禁用/启用”切换按钮开始监控和分析网络状态、容器内进程以及文件威胁防护的以下设置:
    • 网络连接监控使用流量捕获设备(网络监视器)和 eBPF 模块监控网络连接的状态。此过程考虑适用的运行时策略和容器运行时配置文件。
    • 容器进程监控。基于适用的运行时策略规则和容器运行时配置文件规则,使用 eBPF 程序监控容器进程。
    • 文件威胁防护。要跟踪反恶意软件数据库更新,请指定以下值之一:
      • 反恶意软件数据库更新 URL:卡巴斯基容器安全更新服务的网址。
      • 反恶意软件数据库更新代理:云或本地更新服务器的 HTTP 代理。

      如果使用kcs-updates容器更新反恶意软件数据库,则必须如下指定数据库更新工具的 URL:<domain>/kuu/updates(例如,https://kcs.company.com/kuu/updates)。

      默认情况下,文件威胁防护数据库从卡巴斯基云服务器更新。

    • 文件操作。该解决方案根据适用的运行时策略和容器运行时配置文件,使用 eBPF 模块跟踪文件操作。

      无论运行时策略指定何种模式,文件操作仅支持审计模式。如果在适用的运行时策略中指定了强制模式,则文件操作将以审核模式执行。

    可以禁用不需要的监控步骤,以避免节点上不必要的负载。

  5. 单击“保存”。

在工作区中, 部署数据选项卡显示在集群上部署代理所需的以下数据:

  • 自动生成的部署令牌是代理用于连接服务器的标识符。您可以通过单击部署令牌字段旁边的复制图标 (复制图标。) 来复制令牌。
  • 在集群上部署代理的说明。您可以通过单击复制图标 (复制图标)从配置字段复制说明,或者将说明下载为 .YAML 格式的文件。

    您可以按照此说明在集群上部署代理。例如:

    kubectl apply -f <文件> -n <命名空间>

    应用指令后,代理将被部署到集群的所有工作节点上。

如果您更改以下参数,解决方案将自动更新代理部署说明:

  • 解决方案的 TLS 证书
  • 用于下载 kube-agent 和 node-agent 镜像的 URL、用户名和密码
  • 链接的 SIEM 系统
  • 节点监控部分中的设置

您必须再次复制或下载 .YAML 文件中的更新说明,然后使用 kubectl apply -f < file > -n <namespace > 命令应用它。否则,这些参数的更改不会应用于已部署的代理。

页首

[Topic 283087]

查看和编辑代理组

组件代理”下方的表格将显示已创建和部署的代理组。为每个组提供以下信息:

  • 代理组的名称
  • 组内已连接的代理数量
  • 编排器
  • 启用节点监控活动
  • 链接的 SIEM

您可以使用表格上方的按钮,按照连接状态(“全部”、“已连接”、“已断开连接”、“未运行”)过滤代理组。

单击部署图标 (向右箭头图标。),可以展开表格中的每个代理组,以查看以下代理详情:

  • 代理的名称及其连接状态。
  • 部署代理的节点的版本(主节点或工作节点)。
  • 与代理关联的 Pod 的名称。
  • 节点监控操作(容器进程网络连接文件威胁防护文件操作)。
  • SIEM 状态。
  • 代理上次连接的日期和时间。

通过单击代理名称链接,您可以展开侧边栏来查看代理状态信息

编辑代理组设置:

  1. 在“组件代理”下包含代理组列表的表格中,单击代理组名称中的链接。
  2. 在打开的窗口中,编辑组设置。
  3. 单击“保存”。
页首

[Topic 293087]

配置代理服务器

在版本 2.0 中,卡巴斯基容器安全可以将请求从专用公司网络代理到外部环境。通过代理服务器进行连接的设置是使用解决方案分发包中包含的 Helm Chart 软件包的以下环境变量进行配置的:

  • HTTP_PROXY – 用于 HTTP 请求的代理服务器。
  • HTTPS_PROXY – 用于 HTTPS 请求的代理服务器。
  • NO_PROXY – 指定要从代理范围排除的域或域掩码的变量。

    如果使用 HTTP_PROXYHTTPS_PROXY,则在 Helm Chart 包中会自动生成 NO_PROXY 变量,Kaspersky Container Security 使用的所有组件都会在此变量中指明。

    如果您需要为卡巴斯基容器安全的操作指定域和掩码以将其排除在代理之外,则可以更改 NO_PROXY 变​​量。

  • SCANNER_PROXY – 用于指定代理服务器的专用变量,指定哪个服务器接收来自文件威胁防护组件扫描器的请求。卡巴斯基服务器使用这些请求来更新数据库。
  • LICENSE_PROXY – 用于指定代理服务器的专用变量,kcs-licenses 模块通过该服务器将请求发送到卡巴斯基服务器,以检查和更新有关当前授权许可的信息。

根据您的代理服务器支持的域名掩码,您必须使用以下掩码在允许的代理服务器列表中指定卡巴斯基服务器:*.kaspersky.com.kaspersky.com*.kaspersky-labs.com.kaspersky-labs.com。要访问这些代理服务器,必须打开端口 80。

您可以使用 IP 地址或 FQDN 在代理服务器参数中指定端口。

特殊字符必须使用转义符。

下表列出了可以使用环境变量的卡巴斯基容器安全组件,并指示了这些环境变量的用途。

卡巴斯基容器安全组件使用的环境变量

组件

环境变量

用途

kcs-ih

HTTP_PROXY

HTTPS_PROXY

NO_PROXY

访问卡巴斯基容器安全命名空间中不可用的外部镜像仓库。

kcs-ih

SCANNER_PROXY

使用卡巴斯基更新服务器更新文件威胁防护扫描器的数据库。

kcs-middleware

HTTP_PROXY

HTTPS_PROXY

NO_PROXY

访问卡巴斯基命名空间中不可用的外部镜像仓库。

kcs-scanner

SCANNER_PROXY

使用卡巴斯基更新服务器更新漏洞扫描器数据库。

kcs-licenses

LICENSE_PROXY

使用卡巴斯基授权许可服务器检查和更新有关当前授权许可的信息。

您可以使用代理服务器配置代理的运行,代理服务器将把请求传递到卡巴斯基容器安全的安装地址。

要使用代理服务器配置代理的运行:

  1. 在“组件 → 代理”下包含代理组列表的表格中,单击代理组名称中的链接。
  2. 在打开的窗口中,转到节点监控选项卡并执行以下操作:
    • 确保使用禁用/启用切换开关启用文件威胁防护组件。
    • 文件威胁防护部分中,在反恶意软件数据库更新代理中指定代理服务器。
    • 单击“保存”。
  3. 点击部署数据选项卡。
  4. 再次在 .YAML 文件中复制或下载更新代理部署说明,然后使用kubectl apply -f <file> -n <namespace>命令应用它。
  5. 在代理的“部署和 DaemonSet” 对象中配置 HTTP_PROXY、HTTPS_PROXYNO_PROXY 环境变量。
页首

[Topic 298985]

连接到外部数据存储资源

除了分发包中包含的卡巴斯基容器安全组件外,该解决方案还可以与以下外部数据存储资源配合使用:

  • PostgreSQL 数据库
  • ClickHouse DBMS
  • 兼容 S3 的 MinIO 文件存储

通过 values.yaml 配置文件来配置与外部数据存储资源连接的设置。

本节内容

为外部 PostgreSQL 数据库创建用户

使用外部 ClickHouse DBMS

配置 MinIO 外部存储设置

页首

[Topic 292954]

为外部 PostgreSQL 数据库创建用户

对于卡巴斯基容器安全,您可以使用解决方案中包含的 PostgreSQL 数据库或您自己的 PostgreSQL 数据库。要安装不适用于卡巴斯基容器安全模式的外部 PostgreSQL 数据库,您必须创建单独的用户。您可以通过安装带有为外部 PostgreSQL 数据库指定的模式参数的 Helm Chart 包来执行此操作。

要为外部 PostgreSQL 数据库创建具有自定义模式的用户:

  1. 运行以下命令为外部 PostgreSQL 数据库创建单独的命名空间:

    kubectl create ns kcspg

    其中kcspg是外部 PostgreSQL 数据库的命名空间。

  2. 要部署外部 PostgreSQL 数据库:
    1. 在 pg.yaml 配置文件中指定部署外部 PostgreSQL 数据库的参数。

      用于部署外部 PostgreSQL 数据库的参数

      apiVersion: apps/v1

      kind: Deployment

      metadata:

      annotations:

      deployment.kubernetes.io/revision: "1"

      labels:

      app: postgres

      component: postgres

      name: postgres

      namespace: kcspg

      spec:

      replicas: 1

      selector:

      matchLabels:

      app: postgres

      component: postgres

      strategy:

      type: Recreate

      template:

      metadata:

      creationTimestamp: null

      labels:

      app: postgres

      component: postgres

      spec:

      containers:

      - name: postgres

      image: postgres:13-alpine

      ports:

      - containerPort: 5432

      env:

      - name: POSTGRES_DB

      value: api

      - name: POSTGRES_USER

      value: postgres

      - name: POSTGRES_PASSWORD

      value: postgres

      volumeMounts:

      - mountPath: "/var/lib/postgresql/data"

      name: "pgdata"

      imagePullSecrets:

      - name: ci-creds

      volumes:

      - hostPath:

      path: "/home/docker/pgdata"

      name: pgdata

      该参数指定数据库的密码。然后,您必须在 values.yaml 配置文件的infraconfig部分中指定此密码,该文件是解决方案分发套件中包含的Helm Chart 包的一部分。

    2. 运行以下命令:

      kubectl apply -f pg.yaml -n kcspg

    该外部数据库的名称格式如下:

    pod_name >.命名空间名称>.服务>.cluster.local

    例如,postgres.kcspg.svc.cluster.local

  3. 要在集群中部署服务对象:
    1. 在 svc.yaml 配置文件中指定服务对象部署参数。

      用于在集群中部署服务对象的参数

      apiVersion: v1

      kind: Service

      metadata:

      name: postgres

      spec:

      type: ClusterIP

      selector:

      component: postgres

      ports:

      - port: 5432

      targetPort: 5432

    2. 运行以下命令:

      kubectl apply -f svc.yaml -n kcspg

  4. 要创建用户、模式和用户-模式关系:
    1. 使用步骤 2b 中展开的 postgres 元素,登录到Pod。
    2. 启动 psql 交互式终端:

      psql -h localhost -U postgres -d api

    3. 运行以下命令:

      CREATE ROLE kks LOGIN PASSWORD 'kks' NOINHERIT CREATEDB;

      CREATE SCHEMA kks AUTHORIZATION kks;

      GRANT USAGE ON SCHEMA kks TO PUBLIC;

  5. 在 values.yaml 配置文件中,指定使用外部 PostgreSQL 数据库所需的参数。

    values.yaml 文件中的参数

    default:

    postgresql:

    external: true

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    POSTGRES_HOST: postgres.kcspg.svc.cluster.local

    POSTGRES_PORT: 5432

    POSTGRES_DB_NAME: api

    secret:

    infracreds:

    type: fromEnvs

    envs:

    POSTGRES_USER: kks

    POSTGRES_PASSWORD: kks

    values.yaml中指定的参数值必须与 pg.yaml 和svc.yaml 配置文件中对应参数的值匹配。

  6. 开始解决方案更新

    使用外部 PostgreSQL 数据库创建用户的命令示例

    export KUBECONFIG=/root/.kube/config

    export CHART_URL=repo.kcs.kaspersky.com

    export CHART_USERNAME=<CHART_USERNAME>

    export CHART_PASSWORD=<CHART_PASSWORD>

    export VERSION=2.0.0

    export KCS_HOSTNAME=kcs.apps.aws.ext.company.com

    export IMAGE_URL=company.gitlab.examplecloud.com:5050

    export IMAGE_USERNAME=<repo_user>

    export IMAGE_PASSWORD=<repo_pass>

    cd /tmp

    helm registry login --username $IMAGE_USERNAME --password $IMAGE_PASSWORD company.gitlab.examplecloud.com:5050/company/kcs/chart

    helm pull oci://company.gitlab.examplecloud.com:5050/company/kcs/chart/kcs --version $VERSION

    tar -xf kcs*.tgz -C /tmp

    cp -rf /tmp/values.yaml /tmp/kcs

    cd /tmp/kcs

    helm upgrade --install kcs-release --create-namespace --namespace kcs --values values.yaml --version $VERSION --timeout 30m --wait --debug .

页首

[Topic 298717]

使用外部 ClickHouse DBMS

除了作为卡巴斯基容器安全组件并包含在分发包中的 ClickHouse DBMS 之外,该解决方案还可以使用外部 ClickHouse DBMS 的资源。为此,您必须执行以下操作:

页首

[Topic 298742]

为卡巴斯基容器安全创建数据库

要为卡巴斯基容器安全创建数据库:

在工作站上的 ClickHouse 中,运行以下命令:

CREATE DATABASE IF NOT EXISTS kcs

其中 kcs 是卡巴斯基容器安全数据库的名称。

要配置为卡巴斯基容器安全所创建的数据库的设置:

  1. 添加用户并定义他们的授权方法。为此,您必须执行以下操作:
    1. 添加以下用户:
      • 有权读取卡巴斯基容器安全核心所接收数据的用户(读取者)。

        <roles>

        <kcs_reader_role>

        <grants>

        <query>GRANT SELECT ON kcs.*</query>

        </grants>

        </kcs_reader_role>

      • 有权写入来自外部代理请求的数据的用户(写入者)。

        <roles>

        <kcs_writer_role>

        <grants>

        <query>GRANT CREATE TABLE, INSERT, ALTER, UPDATE ON kcs.*</query>

        <query>GRANT SELECT (source_ip, source_port, source_alias, dest_ip, dest_port, dest_alias, protocol, severity, action, event_time, count, type) ON kcs.node_agent_events</query>

        </grants>

        </kcs_writer_role>

    2. 指定用户授权方法:使用密码或证书。

      配置密码认证用户的示例

      <clickhouse>

      ...

      <kcsuser-write>

      <password>*********</password>

      <networks>

      <ip>::/0</ip>

      </networks>

      ...

      <grants>

      <query>GRANT kcs_writer_role</query>

      </grants>

      </kcsuser-write>

      <kcsuser-read>

      <password>*********</password>

      <networks>

      <ip>::/0</ip>

      </networks>

      ...

      <grants>

      <query>GRANT kcs_reader_role</query>

      </grants>

      </kcsuser-read>

      ...

      <roles>

      <kcs_reader_role>

      <grants>

      <query>GRANT SELECT ON kcs.*</query>

      </grants>

      </kcs_reader_role>

      <kcs_writer_role>

      <grants>

      <query>GRANT CREATE TABLE, INSERT, ALTER, UPDATE ON kcs.*</query>

      <query>GRANT SELECT (source_ip, source_port, source_alias, dest_ip, dest_port, dest_alias, protocol, severity, action, event_time, count, type) ON kcs.node_agent_events</query>

      </grants>

      </kcs_writer_role>

      ...

      </roles>

      ...

      </clickhouse>

      配置证书认证用户的示例

      <clickhouse>

      ...

      <kcsuser-write>

      <ssl_certificates>

      <common_name>kcsuser-write</common_name>

      </ssl_certificates>

      <networks>

      <ip>::/0</ip>

      </networks>

      ...

      <grants>

      <query>GRANT kcs_writer_role</query>

      </grants>

      </kcsuser-write>

      <kcsuser-read>

      <ssl_certificates>

      <common_name>kcsuser-read</common_name>

      </ssl_certificates>

      <networks>

      <ip>::/0</ip>

      </networks>

      ...

      <grants>

      <query>GRANT kcs_reader_role</query>

      </grants>

      </kcsuser-read>

      ...

      <roles>

      <kcs_reader_role>

      <grants>

      <query>GRANT SELECT ON kcs.*</query>

      </grants>

      </kcs_reader_role>

      <kcs_writer_role>

      <grants>

      <query>GRANT CREATE TABLE, INSERT, ALTER, UPDATE ON kcs.*</query>

      <query>GRANT SELECT (source_ip, source_port, source_alias, dest_ip, dest_port, dest_alias, protocol, severity, action, event_time, count, type) ON kcs.node_agent_events</query>

      </grants>

      </kcs_writer_role>

      ...

      </roles>

      ...

      </clickhouse>

  2. 指定用于短期和长期数据存储的磁盘。与 ClickHouse 配合使用时,卡巴斯基容器安全可以存储具备不同保留期的大量数据。默认情况下,事件的主要部分最多存储 30 分钟,而事故相关信息最多存储 90 天。由于事件记录需要大量资源来确保较高的记录速度和足够的磁盘空间,因此推荐使用不同的磁盘来分别进行短期和长期数据存储。

    配置数据存储设置的示例

    <clickhouse>

    ...

    <storage_configuration>

    <disks>

    <kcs_disk_hot>

    <path>/etc/clickhouse/hot/</path>

    </kcs_disk_hot>

    <kcs_disk_cold>

    <path>/etc/clickhouse/cold/</path>

    </kcs_disk_cold>

    </disks>

    <policies>

    <kcs_default>

    <volumes>

    <default>

    <disk>kcs_disk_hot</disk>

    </default>

    <cold>

    <disk>kcs_disk_cold</disk>

    </cold>

    </volumes>

    </kcs_default>

    </policies>

    </storage_configuration>

    ...

    </clickhouse>

页首

[Topic 298743]

配置外部 ClickHouse DBMS 设置

要配置卡巴斯基容器安全设置以使用外部 ClickHouse DBMS:

  1. 在 values.yaml 配置文件中,指定该解决方案使用外部 ClickHouse DBMS:

    default:

    kcs-clickhouse:

    external: true

  2. 指定使用外部 ClickHouse DBMS 所需的变量:

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ...<使用外部 ClickHouse DBMS 所需的变量>

    在本部分中,您必须指定以下变量:

    • EXT_CLICKHOUSE_PROTOCOL 是用于连接外部 ClickHouse DBMS 的协议。
    • EXT_CLICKHOUSE_HOST 是用于连接外部 ClickHouse DBMS 的主机。
    • EXT_CLICKHOUSE_PORT 是用于连接外部 ClickHouse DBMS 的端口。
    • EXT_CLICKHOUSE_DB_NAME 是准备与卡巴斯基容器安全配合使用的数据库的名称。
    • EXT_CLICKHOUSE_COLD_STORAGE_NAME 是磁盘的名称,ClickHouse 将在该磁盘上长期存储事故相关数据。
    • EXT_CLICKHOUSE_STORAGE_POLICY_NAME 是数据存储策略的名称,ClickHouse 将根据该策略将事故相关数据传输到磁盘进行长期存储。

      如果您使用同一个磁盘进行短期和长期数据存储,则无需指定 EXT_CLICKHOUSE_COLD_STORAGE_NAMEEXT_CLICKHOUSE_STORAGE_POLICY_NAME 的值。

    • EXT_CLICKHOUSE_SSL_AUTH 是 ClickHouse 用户进行 SSL 授权所需的变量。如果指定值为“true”,则使用客户端证书无需密码即可进行授权。

      如果 TLS_INTERNAL 为“false”,则 EXT_CLICKHOUSE_SSL_AUTH 也必须为“false”。

    • EXT_CLICKHOUSE_ROOT_CA_PATH 是 CA 证书的路径,如果使用 https 协议连接 ClickHouse (EXT_CLICKHOUSE_PROTOCOL: https),则需要指定该路径。您可以通过下列其中一种方式指定路径:
      • 将 ClickHouse CA 证书放置在路径所指定的目录中。在这种情况下,您必须取消 secret.cert-kcs-clickhouse-ca 块的注释。
      • 使用 Vault 以存储证书数据。在这种情况下,您必须取消 vault.certificate 部分中 cert-kcs-clickhouse-ca 块的注释。
  3. 指定使用外部 ClickHouse DBMS 所需的 secret 值:

    configmap:

    secret:

    infracreds:

    type: fromEnvs

    envs:

    ...<使用外部 ClickHouse DBMS 所需的 secret>

    在本部分中,您必须指定以下变量:

    • EXT_CLICKHOUSE_WRITE_USER 是为与卡巴斯基容器安全配合使用而创建的具有写入权限的用户的名称。
    • CLICKHOUSE_WRITE_PASSWORD 是为与卡巴斯基容器安全配合使用而创建的具有写入权限的用户的密码。
    • EXT_CLICKHOUSE_READ_USER 是为与卡巴斯基容器安全配合使用而准备的具有读取权限的用户的名称。
    • CLICKHOUSE_READ_PASSWORD 是为与卡巴斯基容器安全配合使用而创建的具有读取权限的用户的密码。

      如果 EXT_CLICKHOUSE_SSL_AUTH 设置为“true”,则不使用 CLICKHOUSE_READ_PASSWORDCLICKHOUSE_WRITE_PASSWORD

    还可以使用 Vault secret 存储来指定用户名和密码。

    配置外部 ClickHouse DBMS 设置的示例

    kcs-clickhouse:

    external: true

    persistent: true

    ...

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ...

    EXT_CLICKHOUSE_PROTOCOL: https

    EXT_CLICKHOUSE_HOST: clickhouse.ns.svc.cluster.local

    EXT_CLICKHOUSE_PORT: 8443

    EXT_CLICKHOUSE_DB_NAME: kcs

    EXT_CLICKHOUSE_COLD_STORAGE_NAME: cold

    EXT_CLICKHOUSE_STORAGE_POLICY_NAME: kcs_default

    EXT_CLICKHOUSE_SSL_AUTH: false

    EXT_CLICKHOUSE_ROOT_CA_PATH: /etc/ssl/certs/kcs-clickhouse-ca.crt

    ...

    secret:

    ...

    infracreds:

    type: fromEnvs

    envs:

    ...

    EXT_CLICKHOUSE_WRITE_USER: kcsuser-write

    EXT_CLICKHOUSE_READ_USER: kcsuser-read

    CLICKHOUSE_WRITE_PASSWORD: **************

    CLICKHOUSE_READ_PASSWORD: ***********

    ...

    使用 Vault 时:

    vault:

    ...

    secret:

    type: managedByVault

    ...

    EXT_CLICKHOUSE_WRITE_USER: kv/secret/kcs/clickhouse@EXT_CLICKHOUSE_WRITE_USER

    EXT_CLICKHOUSE_READ_USER: kv/secret/kcs/clickhouse@EXT_CLICKHOUSE_READ_USER

    CLICKHOUSE_WRITE_PASSWORD: kv/secret/kcs/clickhouse@CLICKHOUSE_WRITE_PASSWORD

    CLICKHOUSE_READ_PASSWORD: kv/secret/kcs/clickhouse@CLICKHOUSE_READ_PASSWORD

    ...

页首

[Topic 298749]

配置 MinIO 外部存储设置

要配置卡巴斯基容器安全设置以使用外部兼容 S3 的 MinIO 文件存储:

  1. 在 values.yaml 配置文件中,指定该解决方案使用外部 MinIO 文件存储:

    default:

    kcs-s3:

    external: true

  2. 指定使用 MinIO 所需的变量值:

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ... 使用外部 MinIO 文件存储所需的变量 >

    在本部分中,您必须指定以下变量:

    • MINIO_HOST 是连接 MinIO 的主机。
    • MINIO_PORT 是连接 MinIO 的端口。
    • MINIO_BUCKET_NAME 是 MinIO 中为卡巴斯基容器安全数据分配的存储容器的名称。
    • MINIO_SSL 是用于与 MinIO 建立 ssl 连接所需的变量(包括使用 https 协议)。

      如果 TLS_INTERNAL 为“false”,则 MINIO_SSL 必须也为“false”。

    • MINIO_ROOT_CA_PATH 是 CA 证书的路径,如果使用 https 协议连接 MinIO (MINIO_SSL: true),则需要指定该路径。您可以通过下列其中一种方式指定路径:
      • 将 MinIO CA 证书放置在路径所指定的目录中。在这种情况下,您必须取消 secret.cert-minio-ca 块的注释。
      • 使用 Vault 以存储证书数据。在这种情况下,您必须取消 vault.certificate 部分中 cert-minio-ca 块的注释。
  3. 指定使用外部 MinIO 文件存储所需的 secret 值:

    configmap:

    secret:

    infracreds:

    type: fromEnvs

    envs:

    ...<使用外部 MinIO 文件存储所需的 secret>

    在本部分中,您必须指定以下变量:

    • MINIO_ROOT_USER 是为卡巴斯基容器安全指定的 MinIO 用户的名称。
    • MINIO_ROOT_PASSWORD 是为卡巴斯基容器安全指定的 MinIO 用户的密码。

    还可以使用 Vault secret 存储服务来指定用户名和密码。

    配置外部 MinIO 文件存储设置的示例

    kcs-s3:

    enabled: true

    external: true

    ...

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ...

    MINIO_HOST: kcs-s3

    MINIO_PORT: 9000

    MINIO_BUCKET_NAME: reports

    MINIO_SSL: true

    MINIO_ROOT_CA_PATH: /etc/ssl/certs/minio-ca.crt

    ...

    secret:

    ...

    infracreds:

    type: fromEnvs

    envs:

    ...

    MINIO_ROOT_USER: kcs_user

    MINIO_ROOT_PASSWORD: ********

    ...

    使用 Vault 时:

    vault:

    ...

    secret:

    type: managedByVault

    ...

    MINIO_ROOT_USER: kv/test/minio@MINIO_ROOT_USER

    MINIO_ROOT_PASSWORD: kv/test/minio@MINIO_ROOT_PASSWORD

页首

[Topic 298784]

安装私人修复

由于部署卡巴斯基容器安全的各类企业网络存在特殊性,有时需要为该解决方案安装私人修复。私人修复是一个或多个定制的 Docker 镜像。这类私人修复不会在卡巴斯基官方镜像源上发布,而是直接传输给客户,用于放入企业镜像仓库中。

要将接收到的 Docker 镜像放入镜像仓库:

  1. 将包含 Docker 镜像的压缩文件保存在所选目录中。
  2. 运行 docker load -i <压缩文件名称> 命令。
  3. 运行 docker tag <步骤 2 中获取的哈希名称> <客户注册表/<组件>:fix> 命令。
  4. 运行 docker push <客户注册表/<组件>:fix> 命令。
  5. 根据安装私人修复所针对的组件,在以下其中一个配置文件中,将镜像标签从 <组件>:2.0 替换为 <客户注册表/<组件>:fix>
    • 如果是为代理(node-agent 和 kube-agent)安装该修复,则在 YAML 文件(包含有关在集群中部署代理的说明)中进行相应操作。例如,node-agent:2.0 必须更改为 <客户注册表/node-agent:fix>
    • 如果是为解决方案的核心组件安装该修复,则在 values.yaml 文件中进行相应操作。例如,kcs-ih:2.0 必须更改为 <客户注册表/kcs-ih:fix>
页首

[Topic 276671]

删除解决方案

要卸载卡巴斯基容器安全的基本业务逻辑模块,请执行以下操作之一:

  • 在安装了 Helm 软件包管理器的工作站上,访问安装了卡巴斯基容器安全的目标集群和命名空间,然后运行以下命令:

    helm uninstall kcs-release

    Helm 软件包管理器不会删除 PVC 对象、PV 对象或密钥。您应该使用以下命令手动删除这些项:

    kubectl delete pvc <PVC 名称>

    kubectl delete secret <密钥名称>

    kubectl delete pv <PV 名称>

  • 如果卡巴斯基容器安全安装在单独的命名空间中,请运行以下命令:

    kubectl delete ns <命名空间>

要删除卡巴斯基容器安全代理:

在部署了代理的集群节点上运行以下命令:

kubectl delete -f <文件> -n kcs

其中 <文件> 是用于部署代理的 YAML 配置文件的名称。

如果删除集群节点上的所有代理,我们建议您删除包含这些代理的组。

要删除代理组:

  1. 在卡巴斯基容器安全的主菜单中,转到“组件代理”部分
  2. 在包含要删除的代理组的名称的行中,单击删除图标 ("删除" 图标。)。
  3. 在打开的窗口中,确认操作。
页首

[Topic 292946]

更新解决方案

您可以将卡巴斯基容器安全 1.2.x 升级到版本 2.0。

更新解决方案不会导致数据丢失。

在开始更新解决方案之前,您需要执行以下操作:

  • 删除 ClickHouse 的 StatefulSet 对象:

    kubectl delete statefulset/kcs-clickHouse -n kcs

  • 删除 ClickHouse 的 PVC 对象:

    kubectl delete pvc/pvc-clickhouse-kcs-clickhouse-0 -n kcs

  • 如果您的解决方案版本使用 kcs-nats 组件,且它由 StatefulSet 控制器管理,您必须从以下集群中移除该控制器的 PVC:

    kubectl delete pvc/pvc-nats-js-kcs-nats-0 -n kcs

在上面列出的所有命令中,您必须将 -n kcs 替换为您的命名空间的名称。

其余更新过程与解决方案安装过程相同。

更新持续时间取决于可用数据库的容量,可能需要几个小时。我们建议在活动时间之外更新卡巴斯基容器安全。

您可以在卡巴斯基网站 https://www.kaspersky.com.cn 上找到有关应用程序最新版本的信息,或联系我们的合作伙伴。

页首

[Topic 250383]

解决方案界面

管理控制台通过 Web 界面实现,由以下元素组成:

  • 主菜单 – 主菜单的各个部分和子部分用于访问解决方案的主要功能。
  • 工作窗格 – 工作窗格中的信息和控件取决于您在主菜单中选择的部分或子部分。

本节帮助内容

主菜单

仪表盘

用户个人资料

设置数据显示的具体方法

页首

[Topic 295364]

主菜单

在 Web 界面中,卡巴斯基容器安全的主菜单位于左侧窗格,由对应于解决方案基本功能的多个部分组成。

资源

此部分包含所有可用卡巴斯基容器安全资源的监控结果:集群与解决方案集成的仓库以及 CI/CD 过程

调查

本节包含卡巴斯基容器安全对容器中的事件和镜像中检测到的漏洞的调查结果。

合规性

本节包含检查节点和集群资源是否符合以下标准的要求的结果: Kubernetes 基准集群安全基准

策略

此部分允许您在操作卡巴斯基容器安全时配置安全策略

风险接受”子部分含所有检测到的威胁和漏洞的列表,它们的风险已被用户接受。在该子部分中,您可以取消风险接受或设置将风险视为已接受的期限

组件

本节包含有关解决方案组件(即代理、扫描器和内核)状态的信息。

管理

此部分允许您执行以下任务:

设置

此部分允许您执行以下任务:

包含当前用户名的块

该块显示登录卡巴斯基容器安全管理控制台的用户的相关信息。使用弹出菜单的命令,可以转到用户配置文件页面并退出控制台。

页首

[Topic 255368]

仪表盘

在卡巴斯基容器安全的主页上,您可以配置仪表盘以接收有关解决方案所处理对象的最新分析数据。此配置使用筛选器执行,允许您按对象和时间段对信息进行排序。

分析数据通过展示分析信息的小部件或专用工具显示。

当登录账户或单击主菜单上方包含解决方案徽标和名称的区域时,卡巴斯基容器安全仪表盘将打开。

本节内容

应用筛选器

仪表盘上的小组件

页首

[Topic 255372]

应用筛选器

卡巴斯基容器安全提供使用以下筛选器配置仪表盘的功能:

  • 按时间段筛选:
    • 整个时间段
    • 本年
    • 本季度
    • 本月
    • 本周
    • 过去 24 小时
    • 自定义期间

    对于您选择的任何时间段,时间从当天开始算起。默认情况下,显示当周的信息。

  • 按资源筛选:
    • 所有镜像
    • 集群外部的所有镜像
    • 集群中的镜像
    • 特定集群的镜像
    • CI/CD 镜像

    默认情况下,显示所有镜像的信息。

页首

[Topic 295368]

仪表盘上的小组件

卡巴斯基容器安全在仪表盘上使用小组件提供分析数据,这些小组件根据数据类型分组为多个组。卡巴斯基容器安全中提供以下小组件组和小组件:

  • 镜像对安全策略要求的符合情况。解决方案显示以下信息:
    • 镜像总数。
    • 状态为合规的镜像数量。
    • 状态为不合规的镜像数量。
  • 镜像风险评估。该小组件提供有关对象状态的以下信息:
    • 镜像总数。
    • 状态为严重的镜像数量。
    • 状态为的镜像数量。
    • 状态为的镜像数量。
    • 状态为的镜像数量。
    • 状态为可忽略的镜像数量。
    • 状态为正常的镜像数量。
  • 最常导致集群节点不符合 Kubernetes 基准的前 10 个对象基准:
    • 最常导致不合规的 10 个集群节点基准。
    • 未能通过指定基准合规性检查的集群节点数量。
  • 按风险评分最高的镜像数量排名前 10 的仓库。
  • 漏洞
    • 最常检测到的前 10 种严重状态为严重的漏洞,以及包含指定漏洞的镜像数量。

      如果漏洞包含漏洞利用,则漏洞利用图标 (带有漏洞利用的漏洞的图标。) 会显示在严重级别旁边。您可以使用漏洞列表上方的包含漏洞利用切换开关来显示所有匹配的漏洞或仅显示带有漏洞利用的漏洞。

    • 包含已识别漏洞(严重状态为严重)数量最多的前 10 个镜像。
  • 恶意软件
    • 最常检测到的前 10 种恶意软件,以及包含该恶意软件的镜像数量。
    • 检测到恶意软件类型数量最多的前 10 个镜像。
  • 敏感数据:
    • 最常检测到的前 10 种严重状态为严重的敏感数据,以及包含此类敏感数据的镜像数量。
    • 包含检测到的敏感数据(严重状态为严重)数量最多的前 10 个镜像。
  • 错误配置
    • 最常检测到的前 10 种严重状态为严重的错误配置,以及包含此类敏感数据的镜像数量。
    • 包含检测到的错误配置(严重状态为严重)数量最多的前 10 个镜像。

    指定严重级别的对象列表按严重程度进行降序排列(列表中的第一项是严重状态最高的对象)。

页首

[Topic 267266]

用户个人资料

要进入用户个人资料页面:

  1. 在主菜单中,单击含有当前用户名的块。
  2. 选择“我的个人资料”。

在“我的个人资料”页面上,卡巴斯基容器安全将显示有关活跃用户账户的主要信息。此信息分为以下几部分:

  • 一般信息 – 显示用户名和已显示的用户名、供联系的电子邮件地址以及分配给用户的角色列表。

    在该部分,还可以通过单击“更改密码”按钮更改访问管理控制台的密码

  • API 令牌 – 有关用于使用 API 连接和访问解决方案的令牌的信息。有效 API 令牌的值被掩码隐藏,可单击令牌右侧的取消掩码图标 (取消掩码图标。) 以查看令牌值。可以单击掩码图标 (掩码图标。) 来使用掩码隐藏令牌值。

    在该部分,还可以使用“复制”按钮复制活动令牌的值。如有必要,您还可以通过点击“重新签发令牌”按钮来生成新的 API 令牌

  • 权限 – 显示分配给用户的所有权限。
页首

[Topic 263603]

设置数据显示的具体方法

卡巴斯基容器安全界面提供以下设置数据显示的方式:

  • 筛选。筛选器字段位于数据表上方。筛选器字段和管理筛选器的方式取决于要显示的数据的具体情况。

    在某些部分中,您必须单击筛选器图标才能打开筛选器字段 (筛选器图标。)。

  • 按升序或降序排序。在某些部分中,您可以使用列标题中的排序图标 (排序图标。) 按选定列对数据列表进行排序。
  • 搜索。您可以使用表格上方标有搜索图标 ("是" 图标。) 的“搜索”字段来搜索显示的数据。
  • 菜单。在某些表格中,您可以使用表格行中的菜单命令对对象执行操作。要打开所选对象的菜单,请单击对象行中的菜单图标 (上下文菜单图标。)。
  • 选择。在某些表格中,您可以通过单击复选框 (复选框选择字段。) 来选择项目。要取消选中某个复选框,请再次单击该复选框。
  • 删除。您可以使用在选择对象时出现的删除图标 ("删除" 图标。) 或“删除”链接来删除对象。
  • 展开或折叠列表。在某些表格中,您可以单击展开图标 (向右箭头图标。) 来展开对象行并查看其内容。要折叠表格元素,请单击折叠图标 (向下箭头图标。)。
页首

[Topic 251945]

关于最终用户授权许可协议

最终用户授权许可协议是您与卡巴斯基之间具有约束力的协议,规定了您可以使用应用程序所依据的条款。

在开始使用应用程序之前,请仔细阅读最终用户授权许可协议的条款。

您可以在卡巴斯基容器安全安装期间阅读最终用户授权许可协议的条款。

在应用程序安装期间确认您同意最终用户授权许可协议的文本,即表示您接受最终用户授权许可协议的条款。如果您不接受最终用户授权许可协议的条款,则必须取消安装应用程序并且不得使用应用程序。

该软件的更新功能(包括提供防病毒签名更新和代码库更新)可能无法在美国境内使用。

页首

[Topic 251954]

关于授权许可

授权许可是根据最终用户授权许可协议授予的使用卡巴斯基容器安全的有时间限制的权利。

授权许可包括根据最终用户授权许可协议的条款使用应用程序以及获得技术支持的权利。可用功能和应用程序使用期限取决于用于激活应用程序的授权许可类型。

卡巴斯基容器安全支持以下类型的授权许可:

  • NFR(不可转售)是特定期限的免费授权许可,旨在让用户熟悉应用程序并进行测试部署。
  • 商业授权许可是您购买解决方案时获得的付费授权许可。

解决方案的功能取决于所持有的授权许可的类型。卡巴斯基容器安全支持以下授权许可:

  • 标准授权许可 – 允许与镜像仓库和平台的集成、安全威胁检测扫描、风险评估以及对象状态监控。
  • 企业授权许可 – 除了标准授权许可提供的功能之外,此授权许可还允许访问用于监视、控制和分析对象、错误配置检测以及安全威胁防护的组件。

授权许可过期后,应用程序可以继续运行,但功能有限。要使用卡巴斯基容器安全的全部功能,您必须购买商业授权许可或续订商业授权许可。

页首

[Topic 251955]

关于授权许可证书

授权许可证书是与密钥文件或激活码一起收到的文件。

授权许可证书包含以下授权许可信息:

  • 授权许可编号或订单号
  • 有关被授予授权许可的用户的信息
  • 有关在所提供的授权许可下可以激活的应用程序的信息
  • 授权许可单位数量的限制(例如,可以在所提供的授权许可下使用应用程序的设备数)
  • 授权许可期限的开始日期
  • 授权许可到期日期或授权许可期限
  • 授权许可类型
页首

[Topic 251956]

关于授权许可密钥

授权许可密钥是一个位序列,可用于按照最终用户授权许可协议的条款激活和使用应用程序。授权许可密钥由卡巴斯基专家生成。

您可以通过应用密钥文件或输入激活码来向应用程序添加授权许可密钥。

卡巴斯基可以阻止违反最终用户授权许可协议的授权许可密钥。如果授权许可密钥已被阻止,您必须添加其他授权许可密钥才能继续使用应用程序。

页首

[Topic 251958]

关于密钥文件

密钥文件是您从卡巴斯基收到的扩展名为 KEY 的文件。密钥文件的用途是添加激活应用程序的授权许可密钥。

您在购买卡巴斯基容器安全时提供的电子邮件地址会收到密钥文件。

您无需连接到卡巴斯基激活服务器即可使用密钥文件激活解决方案。

如果密钥文件被意外删除,您可以将其恢复。

要恢复密钥文件,请执行以下操作之一:

  • 联系授权许可供应商。
  • 卡巴斯基网站上根据可用的激活码获取密钥文件。
页首

[Topic 251957]

关于激活码

激活码是由 20 个英文字母和数字组成的唯一序列。您必须输入激活码才能添加激活卡巴斯基容器安全的授权许可密钥。激活码将发送到您在购买卡巴斯基容器安全时提供的电子邮件地址。

要使用激活码激活应用程序,需要访问互联网以连接到卡巴斯基激活服务器。

如果您在激活应用程序后丢失了激活码,请联系您购买授权许可的卡巴斯基合作伙伴。

页首

[Topic 253551]

应用程序激活过程

应用程序激活是激活授权许可的过程,将授予使用卡巴斯基容器安全的权限,且在到期之前有效。

您可以使用在购买解决方案时所获取的激活码或密钥文件来激活应用程序。

在可访问互联网的公共公司网络中安装解决方案时,请使用激活码进行激活。在没有互联网连接的公共公司网络或专用公司网络中安装卡巴斯基容器安全时,请使用密钥文件进行激活。

要使用激活码激活应用程序:

  1. 在“设置 → 授权许可”部分中,单击“添加授权许可密钥”按钮。
  2. 在提示您选择希望如何添加授权许可密钥的窗口中,选择“输入激活码”。
  3. 在“激活码”字段中,输入激活码,然后单击“添加”。

应用程序即被激活,授权许可信息页面将打开。

要使用密钥文件激活应用程序:

  1. 在“设置 → 授权许可”部分中,单击“添加授权许可密钥”按钮。
  2. 在提示您选择如何添加授权许可密钥的窗口中,选择“上传密钥文件”,然后单击“上传并添加”按钮。
  3. 在打开的窗口中,选择扩展名为 KEY 的文件,然后单击“打开”。

应用程序即被激活,授权许可信息页面将打开。

激活应用程序时,新的激活码或密钥文件将替换之前输入的激活码或密钥文件。

页首

[Topic 253956]

查看授权许可信息

您可以在卡巴斯基容器安全 Web 界面的“设置授权许可”部分中查看有关活动授权许可的信息。

授权许可详细信息页面显示以下参数:

  • 授权许可信息。卡巴斯基容器安全显示以下内容:
    • 您向其购买授权许可的卡巴斯基合作伙伴的名称。
    • 授权许可期限。

      该期限从您购买授权许可的那一刻开始,而不是从您激活应用程序的那一刻开始。

  • 客户信息。该子部分提供有关购买授权许可的公司的数据:
    • 公司名称
    • 公司所在国家/地区
    • 客户代表的电子邮件地址
  • 授权许可到期之前的剩余时间 – 解决方案会显示授权许可到期的确切日期和时间。
  • 节点数是授权许可允许的最大节点数和活动节点数。
  • 每月镜像扫描次数是授权许可允许的最大镜像扫描次数和已完成的扫描次数。一个月被视为过去 30 天(从当天算起的 30 天)。
  • 授权许可提供的功能。解决方案将显示您购买的授权许可下的可用功能列表。
页首

[Topic 254015]

续订授权许可

当授权许可即将到期时,卡巴斯基容器安全将显示以下通知:

  • 授权许可即将到期的通知,指示到期前的剩余时间。您将在授权许可到期前 30 天、14 天和 7 天收到此通知。
  • 授权许可即将到期并且解决方案将切换到有限功能模式的通知。此通知在授权许可到期当天发送。

在有限功能模式下,卡巴斯基容器安全的功能受到如下限制:

  • 不会执行新对象扫描。
  • 授权许可过期后,Web 界面不会显示添加到之前创建的集群中的新节点。
  • 无法添加新的集群进行监控。
  • 漏洞数据库不会更新。

您可以通过应用新的激活码或添加新的密钥文件来续订授权许可。要续订授权许可,请联系您向其购买授权许可的卡巴斯基合作伙伴。

页首

[Topic 255742]

删除授权许可密钥

要删除授权许可密钥:

  1. 在“设置授权许可”部分中,单击“删除授权许可密钥”按钮。
  2. 单击“删除”按钮确认删除。
页首

[Topic 250750]

数据提供

本节包含有关卡巴斯基容器安全在运行期间可以保存在设备上和转发到卡巴斯基的数据的信息。

如果您使用激活码激活卡巴斯基容器安全,则您同意自动向卡巴斯基提供信息,作为常规授权许可密钥状态确认流程的一部分。为了确认授权许可密钥状态, 卡巴斯基容器安全会定期联系卡巴斯基激活服务器并将以下信息转发到卡巴斯基:

  • 区域激活中心标识符;
  • 使用解决方案的授权许可的标题;
  • 授权许可密钥的校验和类型和校验和;
  • 授权许可密钥的创建日期和时间;
  • 解决方案授权许可的到期日期和时间;
  • 解决方案授权许可标识符;
  • 提供解决方案使用授权许可时应用的信息模型的标识符;
  • 当前授权许可密钥状态;
  • 用于激活解决方案的授权许可类型;
  • 唯一设备标识符;
  • 设备操作系统的系列名称;
  • 解决方案安装标识符 (PCID);
  • 解决方案的标识符、本地化和完整版本;
  • 从授权许可中获得的解决方案标识符;
  • 兼容的软件标识符集;
  • 解决方案品牌重塑标识符;
  • 向解决方案用户显示的法律协议列表;
  • 用户在使用解决方案时所接受的法律协议的类型和版本。

此外,使用激活码即表示您同意将以下信息转发到卡巴斯基:

  • 用户为激活解决方案所输入的激活码;
  • 用户设备上的日期和时间;
  • 设备操作系统的版本、内部版本号、更新号和修订版;
  • 指示用户在使用解决方案时接受了法律协议条款的标志。

使用激活码即表示您同意自动将上面列出的数据转发到卡巴斯基。如果您不同意提供此信息,请使用密钥文件激活卡巴斯基容器安全。

如果您使用卡巴斯基更新服务器下载更新,则您同意自动提供以下信息:

  • 从授权许可中获取的卡巴斯基容器安全解决方案标识符;
  • 解决方案的完整版本;
  • 解决方案授权许可标识符;
  • 有效授权许可的类型;
  • 解决方案安装标识符 (PCID);
  • 解决方案更新启动的标识符;
  • 处理的网址。

卡巴斯基可以使用获得的所有数据来生成有关卡巴斯基软件的分发和使用的统计信息。

卡巴斯基根据法律规定的要求和卡巴斯基的适用法规保护所接收的任何信息。数据通过加密的通信通道传输。

有关对使用解决方案期间获得并传输到卡巴斯基的信息进行处理、存储和销毁的更多详细信息,请参阅卡巴斯基网站上的最终用户授权许可协议隐私策略

页首

[Topic 294418]

使用集群

卡巴斯基容器安全提供了一种工具,用于显示和分析集群中命名空间内各种对象之间的连接。

集群是一组运行容器化应用程序的

通过使用集群,您可以对这些集群内的镜像执行批量扫描。执行此操作时,扫描期间在集群中找到的仓库会自动创建。卡巴斯基容器安全会自动读取并记录用于访问集群中仓库的标识数据(用户名、密码、令牌),并生成此对象的链接。还会为仓库分配以下格式的名称:<集群名称>_<仓库名称>。使用集群对象时,接收到的标识数据将用于访问仓库。

在“资源集群”下,卡巴斯基容器安全以表格形式显示可用集群列表。

本节帮助内容

查看集群列表

集群中的命名空间

集群中的 Pod

集群资源可视化

页首

[Topic 294424]

查看集群列表

资源集群”部分将显示一张有关卡巴斯基容器安全中可用集群的表格。为每个集群提供以下数据:

您可以使用“排序”来重新排列表格中的数据,如下所示:

  • 按集群名称:您可以在“集群名称”列中按字母顺序升序(从 A 到 Z)或降序(从 Z 到 A)排列集群。
  • 按命名空间数量:您可以按照命名空间列中的命名空间数量的降序或升序对集群进行排序。
  • 按编排器名称:通过对“编排器”列进行排序,您可以根据部署集群的编排器对集群进行分组。
  • 按最高风险评级:您可以按最高风险评级降序或升序排列集群,并显示在“最高风险评级”列中。

单击“在图表上查看”列中的“查看”,即可查看集群中的命名空间及其之间的连接。卡巴斯基容器安全将打开所选集群的“命名空间图表”。

仅当部署的代理可用时,才能扫描并以可视化形式展示集群资源。

页首

[Topic 294420]

集群中的命名空间

要查看集群中包含的命名空间:

  1. 转到“资源集群”下的“表格”选项卡。
  2. 在包含集群列表的表格中的“集群名称”列,单击集群名称。

    卡巴斯基容器安全将打开一个页面,其中显示了包含所选集群中命名空间列表的表格。

为集群中的每个命名空间指示以下信息:

  • 命名空间名称。在“命名空间”列中,单击命名空间名称中的链接,您将进入可查看命名空间中 Pod 的页面
  • 所选命名空间中所有 Pod 的容器数量。
  • 扫描的镜像数量。扫描镜像列将以 X/Y 格式显示此信息,例如:1/8第一个值 (X) 表示扫描镜像的数量,第二个值 (Y) 表示命名空间中的镜像总数量。
  • 状态为“队列中”的镜像数量。“队列中的扫描”列将显示排队等候扫描的作业中的镜像数量。
  • 状态为“出现错误”的镜像数量。“失败的扫描”列将显示扫描完成但出现错误的镜像数量。
  • 分配给命名空间中镜像的最高风险评级。

您可以使用排序来重新排列表格中的数据,如下所示:

  • 按命名空间名称:您可以在“命名空间”列中按字母顺序升序(从 A 到 Z)或降序(从 Z 到 A)排列对象。
  • 按所选命名空间中 Pod 的容器数量升序或降序排列。
  • 按带有“队列中”状态标记的镜像数量升序或降序排列。
  • 按带有“出现错误”状态标记的镜像数量升序或降序排列。
  • 按最高风险评级:您可以按最高风险评级降序或升序排列命名空间,并显示在“最大风险评级”列中。

单击“在图表上查看”列中的“查看”,即可查看命名空间中的对象。卡巴斯基容器安全将打开所选命名空间的应用程序图表。

要查看集群中的命名空间及其关系,

请转到“资源集群”下的“图表视图”选项卡。

页首

[Topic 294423]

集群中的 Pod

要查看命名空间中的 Pod 列表:

  1. 在“资源集群”下,打开包含集群中命名空间列表的表格
  2. 在“命名空间”列中,单击命名空间的名称

    卡巴斯基容器安全将打开一个页面,其中会显示一个包含所选集群中 Pod 列表的表格。

对于所选命名空间中的每个 Pod,将显示以下内容:

  • Pod 名称。
  • 与 Pod 关联的容器名称列表。
  • 部署容器的镜像的名称。通过点击镜像名称中的链接,可以转到“资源仓库”下该镜像扫描的结果页面。
  • 对安全策略要求的符合情况。
  • 风险评级。卡巴斯基容器安全将显示在“镜像”列中指定的镜像风险评级。
  • 检测到的安全问题(漏洞、恶意软件、敏感数据和错误配置)数量 – 对于漏洞,该解决方案单独列出了其数量并按严重程度进行细分。
  • 上次对象扫描的日期和时间。

您可以使用排序来重新排列表格中的数据,如下所示:

  • 按 Pod 名称、容器名称或镜像名称:您可以按字母升序或降序排列“Pod”、“容器”和“镜像”列中的对象。
  • 是否符合安全策略。卡巴斯基容器安全可以根据“合规”和“不合规”状态对对象进行分组。
  • 按风险评级:可以按照严重程度对对象进行排列。
  • 按日期和时间:卡巴斯基容器安全可以按扫描日期和时间从最早或最晚开始显示对象。
页首

[Topic 271446]

集群资源可视化

卡巴斯基容器安全可视化了一个或多个集群内的对象,以及集群内的对象与集群或范围之外的资源之间的链接。根据集群资源可视化的级别,它将显示以下内容:

  • 命名空间图表:表示集群及其中的命名空间。
  • 所选集群的应用程序图:显示集群、其命名空间以及扩展命名空间的应用程序。通过将对象扩展至最低级别,可以最详细地显示应用程序图。

使用集群资源图表时,必须考虑对象显示的以下详情:

  • 对象图标右上角的数字显示了指定对象内更低级别的对象(子对象)的数量。
  • 图表上的对象可能会以某种颜色突出显示。如果对象符合关于风险评估和安全策略合规的既定参数,则可对其进行识别。
  • 图表上的对象将按照以下规则分组:
    1. 如果突出显示的对象数量超过五个,则将其分为一组。
    2. 如果未突出显示的对象数量超过两个,则将其分为一组。
  • 如需要,可以隐藏图表上的对象。

如果该集群存在活动代理,则会生成集群资源的可视化表示。

页首

[Topic 273534]

图表上的集群资源

卡巴斯基容器安全可扫描并显示集群的资源及其之间的链接。此扫描针对所有具有活动代理的集群执行。

集群资源是存储在编排器中并用于表示集群状态的实体或对象。在它们的帮助下,您可以获得有关正在运行的容器化应用程序的信息、它们的启动位置(节点)以及对其可用的资源。集群对象还可定义用于管理正在运行的应用程序的策略(例如,重新启动或更新)。

在卡巴斯基容器安全的界面中,最高级别的对象(父对象)是集群。它包括在其中启动应用程序的命名空间。反过来,应用程序包括 Pod 和其他对象。

集群是一组运行容器化应用程序的实体机或虚拟机(节点)。在 Kubernetes 中节点分为以下类型:

  • 主节点实现 API 对象并用于管理集群及其资源。
  • 工作节点用于运行工作负载。一个集群包含一个或多个工作节点。

卡巴斯基容器安全将集群显示为使用集群图标的图表(Kubernetes 中的集群图标)。

根据您想要集群资源显示的详细程度,卡巴斯基容器安全将图表显示为命名空间图表或应用程序图表。下表列出了可能包含在集群中并显示在图表上的所有对象。

集群内的对象

对象

图标

描述

命名空间

图表上的命名空间图标

用于隔离集群内资源的机制。命名空间包含单个工作区所需的各种对象(例如,部署、服务)。

卡巴斯基容器安全可以在图表上对命名空间进行分组,并显示这样的一组对象,指示其中的实体数量(例如,图表上的命名空间组图标。)。

Pod

图表上的 Pod 图标。

包含一个或多个具有共享网络资源的容器的实体,以及一组用于运行 Pod 中包含的容器的规则。

应用程序

图表上的应用程序图标。

集群中的一组对象,在卡巴斯基容器安全中通常被视为单个实体。

该应用程序由以下对象组成:

  • 部署 → ReplicaSet → 其他对象(如果有)。
  • DaemonSet → 其他对象(如果有)。
  • ReplicaSet → 其他对象(如果有)。
  • StatefulSet → 其他对象(如果有)。

单个 Pod 不构成应用程序。它们继续作为命名空间的一部分发挥作用,并在图表上单独显示。

部署

图表上的部署对象图标。

包含一组规则的对象,描述了 Pod 及在其中的应用程序的运行、Pod 副本的数量以及在其特性发生变化时替换它们的顺序。

DaemonSet

图表上的 DaemonSet 对象图标。

负责在集群的所有节点上从同一映像创建和运行 Pod 的对象。在卡巴斯基容器安全中,DaemonSet 用于在集群的每个节点上部署代理(node-agent)来接收信息并管理 Pod 中的进程。

Ingress

图表上的 Ingress 对象图标。

提供对集群中服务的外部访问的对象,通常通过 HTTP 和 HTTPS 进行。

ReplicaSet

图表上的 ReplicaSet 对象图标。

管理 Pod 复制的对象。ReplicaSet 维护一定数量的相同 Pod。

Secret

图表上的 Secret 对象图标。

用于存储敏感数据(例如密码、令牌或密钥)的对象。Secret 有助于避免将此类数据存储在应用程序代码中。

Secret 是与使用此类对象存储敏感数据的 Pod 分开创建的。这降低了在创建、查看或编辑 Pod 时泄露 Secret 的风险。

服务

图表上的服务对象图标。

描述 Pod 中应用程序的网络功能的对象。服务将 Pod 组合成逻辑组,向它们转发流量,并在它们之间平衡负载。

端点

图表上的端点对象图标。

服务对象查询以确定将流量引导到哪些 Pod 的网络端点列表。

StatefulSet

图表上的 StatefulSet 对象图标。

用于通过跟踪和保存应用程序状态来管理应用程序的工作负载对象。

StatefulSet 用于需要以下功能的应用程序:

  • 持久唯一的网络 ID
  • 持久存储卷
  • 持续部署和扩展
  • 资源的持续自动更新

ConfigMap

图表上的 ConfigMap 对象图标。

用于以键值对形式存储非敏感数据的对象。ConfigMap 在 Pod 中用作环境变量、命令行参数或卷内的配置文件。

使用 ConfigMap 可以将特定于环境的配置设置与容器中的镜像分开,以提高应用程序的可转移性。

持久卷(PV)

图表上的持久卷对象图标。

用于在集群中存储 Pod 数据的专用持久资源(卷)。PV 独立于 Pod,存储其中包含的信息,并在实现多路访问时允许其他 Pod 使用该信息。

持久卷申领(PVC)

图表上的持久卷申领对象图标。

用户生成的存储具有持久卷 (PV) 要求的数据的请求。例如,PVC 可以指定所需的持久卷的大小以及访问其中的数据的模式(例如,单次读取访问或多次读/写访问)。

页首

[Topic 272591]

命名空间图表

要查看选定集群的命名空间图表,

在包含集群列表的表中,单击“查看”。

卡巴斯基容器安全显示集群及其命名空间。

卡巴斯基容器安全可以在侧边栏表格中的命名空间图表上显示有关集群和命名空间的信息。侧边栏提供了有关对象的简短总结。表格展示了有关集群中对象的安全扫描状态的更多详细信息。侧边栏和表格之间的数据部分重复。

页首

[Topic 272699]

在侧边栏中查看有关图表对象的详细信息

要在侧边栏查看集群信息:

  1. 单击命名空间图表上的集群 (Kubernetes 中的集群图标) 或命名空间 (图表上的命名空间图标) 图标。
  2. 在打开的菜单中,选择“详细信息”。

    详细信息侧边栏将显示以下特定于对象的数据:

    1. 对于集群:
      • 集群名称。
      • 集群中命名空间的数量。
      • 集群编排平台。
      • 分配给集群中对象的最大风险评级
      • 安全策略合规状态为合规不合规
    2. 对于命名空间:
      • 命名空间名称。
      • 命名空间中的容器和应用程序数量。
      • 命名空间中的扫描镜像数量。
      • 处理扫描任务和失败扫描任务的数量。
      • 分配给集群中对象的最大风险评级
      • 安全策略合规状态为合规不合规
      • 所有风险类型的安全问题数量。对于漏洞,指明安全问题的数量,并按风险严重程度进行细分。
页首

[Topic 272700]

在表格中查看有关图表对象的详细信息

要查看表格中图表上对象的信息:

  1. 单击命名空间图表中的以下图标之一:
    • 集群 (Kubernetes 中的集群图标)
    • 命名空间组 (图表上的命名空间组图标)
    • 命名空间 (图表上的命名空间图标)
  2. 在打开的菜单中,选择“在表格中打开”。

    卡巴斯基容器安全会在图表下方的工作窗格底部打开一个表格,其中包含有关所选对象或对象组的信息。根据对象,卡巴斯基容器安全将在打开的表格中显示以下容器详细信息:

    1. 对于集群或命名空间组:
      • 集群中的命名空间列表。
      • 每个命名空间中的容器数量。
      • 每个命名空间的扫描镜像、队列中的扫描作业以及失败的扫描作业的数量。
      • 分配给集群中对象的最大风险评级
      • 安全策略合规状态为合规不合规
    2. 对于选定的命名空间:
      • 此命名空间中的应用程序及其类型的列表。
      • 每个应用程序中的 Pod 和容器数量。
      • 分配给命名空间中对象的最大风险评级
      • 安全策略合规状态为合规不合规

您也可以使用该表格来配置对象在图表上的显示方式,以隐藏或显示命名空间。

页首

[Topic 294421]

应用程序图表

要查看选定集群的应用程序图表:

  1. 转到资源集群
  2. 执行以下操作之一:
    • 表格查看选项卡上,打开包含命名空间列表的表格并单击“查看”
    • 图表查看选项卡中,打开命名空间图并执行以下操作之一:
      • 双击将命名空间扩展至应用程序。
      • 单击命名空间图标 (图表上的命名空间图标) 打开菜单并选择在图表上展开

    卡巴斯基容器安全显示所选命名空间中的所有应用程序。

每个应用程序都可以向下扩展到 Pod 级别。您可以在选定集群的应用程序图上查看以下对象的详细信息:

页首

[Topic 273663]

查看应用程序信息

要打开有关应用程序图中的应用程序的信息,请

单击应用程序图标 (图表上的应用程序图标。)打开菜单并选择“详细信息”

卡巴斯基容器安全将打开一个侧面板,其中包含有关应用程序的详细信息。

该解决方案显示有关应用程序的以下信息:

  • 对象类型和应用程序类型(例如,应用程序:部署)。
  • 应用程序名称。
  • 最高风险评级。该解决方案可根据该应用程序内所有对象的最高严重性级别为应用程序分配风险等级。
  • 安全策略合规状态为合规不合规
  • 容器选项卡包含所选 Pod 内的容器的以下信息:
    • 容器名称。
    • 部署容器的镜像的名称。
    • 安全策略合规状态为合规不合规
    • 分配给 Pod 中容器的最大风险评级
    • 所有风险类型的安全问题数量。对于漏洞,指明安全问题的数量,并按风险严重程度进行细分。
    • 上次扫描从其部署容器的镜像的日期和时间。
  • 策略选项卡显示有关应用于应用程序的保障策略和运行时策略的信息。

    保障策略部分提供以下信息:

    • 策略应用状态(已通过/已失败)。
    • 策略名称。
    • 表明现有的安全威胁。根据所应用的策略,扫描结果可以显示如下:
      • 扫描已执行,识别出安全威胁(扫描期间发现的安全威胁的图标。)。
      • 扫描已执行,未识别出安全威胁(扫描期间未检测的安全威胁的图标。)。
      • 未对此类安全威胁进行扫描(未扫描其存在的安全威胁的图标。)。

    运行时策略部分包含以下信息:

    • 策略名称。
    • 策略应用模式(审计/强制)。

    通过单击策略选项卡中策略名称的链接,您可以查看其详细描述。侧栏显示以下信息:

    • 策略类型和名称。
    • 策略描述(如果有)。
    • 策略作者。
    • 模式(适用于运行时策略)。
    • 预定义范围的列表。
    • 应用策略时执行的操作(适用于保障策略)。
    • 设定基准及其参数。

    您可以通过单击编辑策略按钮来编辑保障策略的设置。

    要查看策略的详细描述,您必须具有查看它们的权限。需要策略管理权限才能更改策略设置。

页首

[Topic 273666]

查看应用程序中对象的信息

要打开有关应用程序图中的对象的信息:

  1. 在应用程序图上,选择您想要获取其对象信息的应用程序,然后执行以下操作之一:
    • 双击应用程序将其展开至其组成对象。
    • 单击应用程序图标 (图表上的命名空间图标) 打开菜单并选择在图表上展开
  2. 选择感兴趣的对象并双击以在侧面板中展开其信息。

    卡巴斯基容器安全将打开一个侧面板,其中包含有关所选对象的详细信息。

根据对象的类型,会显示有关所选实体的附加信息。下表描述了解决方案针对应用程序中的各种对象显示的信息集。

应用程序中的对象信息

对象

显示的对象数据

部署

  • 对象类型。
  • 名称。
  • 创建的日期和时间。
  • 标签。
  • Pod 列表。

DaemonSet

  • 对象类型。
  • 名称。
  • 创建的日期和时间。
  • 标签。
  • Pod 列表。

Ingress

  • 对象类型。
  • 名称。
  • 创建的日期和时间。
  • 访问被控制的服务和正在被使用的端口(显示端口号或端口名称)。

Secret

  • 对象类型。
  • 名称。
  • 创建的日期和时间。
  • 标签。
  • Secret 类型。
  • 隐藏形式的 Secret。

    仅当您有查看 Secret 的权限时才可以查看 Secret。未经许可,Secret 不会以任何形式显示。

    默认情况下,Secret 值被隐藏。您可以使用显示按钮查看 Secret。

ReplicaSet

  • 对象类型。
  • 名称。
  • 创建的日期和时间。
  • 标签。
  • Pod 列表。

服务

  • 对象类型。
  • 名称。
  • 创建的日期和时间。
  • 标签。
  • 交互协议:数据发送端口和目标端口。
  • 服务访问类型。
  • 服务 IP 地址。

端点

  • 对象类型。
  • 名称。
  • 创建的日期和时间。
  • 标签。

StatefulSet

  • 对象类型。
  • 名称。
  • 创建的日期和时间。
  • 标签。
  • Pod 列表。

ConfigMap

  • 对象类型。
  • 名称。
  • 创建的日期和时间。
  • .YAML 文件中对象的描述。

持久卷

  • 对象类型。
  • 名称。
  • 创建的日期和时间。
  • PV 大小。
  • 授予的访问权限。
  • PV 分类。
  • 存储卷操作模式。
  • 提供商。
  • PV 到 PVC 的关系状态。
  • PVC 详细信息(命名空间、名称、用户)。

持久卷申领

  • 对象类型。
  • 名称。
  • 创建的日期和时间。
  • 标签。
  • 允许的 PV 大小。
  • 授予的 PV 访问权限。
  • 请求的 PV 资源使用量。
  • 请求的资源访问权限。
  • 卷名称。
  • PV 分类。
  • PV 卷操作模式。
  • CSI 提供商。
  • PV 在其上部署的节点。
  • PV 关系状态。

您可以使用下载 .yaml按钮为所有对象生成并下载一个包含对象当前状态描述的文件(.YAML 格式)。

页首

[Topic 273755]

查看 Pod 信息

要打开 Pod 信息,请

在图表上,选择您想要接收其信息的 Pod,然后双击在侧面板中展开其信息。

卡巴斯基容器安全在所有类型的图表上显示 Pod:命名空间图表应用程序图表

该解决方案将打开一个侧面板,其中包含有关 Pod 的详细信息。

卡巴斯基容器安全显示有关该 Pod 的以下信息:

  • 对象类型。
  • Pod 镜像中的最大风险分数
  • 安全策略合规状态为合规不合规
  • Pod 名称。
  • 常规选项卡包含有关该对象的以下信息:
    • 创建的日期和时间。
    • 标签。
    • Pod 运行状态。
    • Pod 生命周期 – 查看 Pod 信息的日期和时间与其创建日期和时间之间的时间段。
    • Pod 容器使用的端口列表,格式如下:<“端口名称”端口协议>。例如,"dns" UDP 53
    • Pod 可用的系统功能。
    • Pod 使用的 PV 的名称。
    • 所用 PVC 的名称。
    • Pod 所在的应用程序、命名空间和集群的名称。

    另外,在此选项卡中,您可以单击“下载 *.yaml”来生成并下载包含 Pod 描述的文件。

  • 容器选项卡包含有关 Pod 内的容器的以下信息:
    • 容器名称。
    • 部署容器的镜像的名称。
    • 部署镜像的合规性状态:合规不合规
    • 部署镜像的最高风险评级
    • 所有风险类型的安全问题数量。对于漏洞,指明安全问题的数量,并按风险严重程度进行细分。
    • 上次扫描从其部署容器的镜像的日期和时间。
    • Pod 容器使用的端口列表,格式如下:<“端口名称”端口协议>。
    • 容器的附加属性 – 它是一个
  • 策略选项卡显示有关应用于 Pod 的保障策略和运行时策略的信息。关于应用到 Pod 的策略的信息分为两部分(保障策略运行时策略),类似于在图表上查看有关应用程序的信息时显示的有关适用策略的信息。

    要查看策略的详细描述,您必须具有查看它们的权限。需要策略管理权限才能更改策略设置。

页首

[Topic 274980]

在表格中查看有关应用程序图表对象的详细信息

要查看作为表格的应用程序图表上对象的信息:

  1. 执行以下操作之一:
    • 单击表示图表上命名空间内的应用程序数量的命名空间图标 (图表上的命名空间图标 ) 。
    • 单击命名空间内应用程序组的图标 (图表上的应用程序组图标。)。
  2. 在打开的菜单中,选择“在表格中打开”。

    解决方案将在图表下方工作区下部打开一个表格,其中包含有关应用程序的信息。卡巴斯基容器安全显示以下信息:

    • 该命名空间中的应用程序列表及其类型(父对象的类型)。
    • 每个应用程序中的 Pod 和容器数量。
    • 分配给命名空间中对象的最大风险评级
    • 安全策略合规状态为合规不合规
页首

[Topic 273477]

突出显示图表上的对象

要突出显示图形上的对象:

  1. 单击图表上方的“突出显示对象”按钮。

    卡巴斯基容器安全将打开一个侧边栏,您可以在其中配置突出显示对象的设置。

  2. 选中复选框以指定以下设置的值:
    1. 风险评级。您可以选择一个或多个风险严重程度级别(“严重”、“”或“”)。如果未选中复选框,则图表上的对象不会突出显示。

      默认情况下,值为“严重”和“”的复选框处于选中状态。

    2. 合规 如果选中“不合规”复选框,卡巴斯基容器安全将突出显示不符合适用安全策略的对象。如果未选中此复选框,则图表上的对象不会突出显示,无论其是否符合标准。

      默认情况下,不合规为指定项。

  3. 单击“应用”。

    卡巴斯基容器安全根据您的设置更新图表并显示对象。

    对于每个用户,解决方案都会保存用户指定的突出显示设置,并在显示该用户稍后打开的集群对象时应用这些设置。

页首

[Topic 272713]

配置对象在图表上的可见性

默认情况下,卡巴斯基容器安全在图表上显示集群中的所有命名空间。如果这些命名空间及其中的对象与您的特定分析任务无关,必要时您可以隐藏命名空间。

您可以配置图表对象的可见性:

  • 在图表上
  • 在包含子对象相关信息的表格中

要借助图表隐藏名字空间:

  1. 单击图表上的对象图标。
  2. 在打开的菜单中,选择“隐藏”。

    卡巴斯基容器安全将更新图表并隐藏对象。

    您可以借助包含有关父对象或对象组详细信息的表格来恢复对象的可见性。

要借助表格配置命名空间的可见性:

  1. 包含命名空间作为列的一部分的表中,选择一个或多个要更改可见性设置的对象。
  2. 使用表格上方的按钮执行以下操作之一:
    • 要显示图表上的对象,请单击“在图表上显示”。
    • 要隐藏图表上的对象,请单击“在图表上隐藏”。

    卡巴斯基容器安全根据您的设置更新图表并显示对象。“数据显示”列指示对象在图表上是否显示或隐藏。

页首

[Topic 294425]

图表上的网络连接

卡巴斯基容器安全在图表上显示对象之间的网络交互,还提供有关集群资源之间网络连接的信息。

要查看集群中的网络连接:

  1. 资源集群部分,转到图形视图选项卡。
  2. 点击图表区域上方的网络连接按钮。

    解决方案将打开侧边栏,其中包含可供显示的网络连接类型。

  3. 通过选中复选框,选择一个或多个网络连接显示选项。您可以选择以下显示选项:
    • 显示审计模式连接。这将显示根据审计模式下应用的运行时策略检测到的网络连接。
    • 显示强制模式连接。这将显示根据强制模式下应用的运行时策略阻止的网络连接尝试。
    • 显示所有其余连接。这将显示审计强制模式下应用的运行时策略未涵盖的网络连接。
  4. 单击“应用”。

    图表将重新加载,选定的网络连接将显示。

页首

[Topic 297994]

网络进程显示原则

以下原则适用于卡巴斯基容器安全中图表上网络连接的显示:

  • 解决方案将连接显示为两个对象(集群内的对象组)之间的边,或一个对象(对象组)与集群外部资源之间的边。图表上的箭头从发送者对象指向接收者对象。如果相同类型的网络连接(例如,审计模式连接)发生在通过网络连接链接的一对对象之间,并且对象之间的流量是双向的,则解决方案用双向箭头表示该活动。
  • 如果接收对象超出了相关集群、基础设施或分配给用户的范围,则解决方案将其指示为超出集群或范围的资源
  • 如果检测到涉及此类组中至少一个对象的入站或出站流量,则图表显示与该组命名空间或应用程序的网络连接。当您将组展开到其组成对象时,将显示与特定资源的连接。
  • 如果多个网络连接从一个对象转到另一个对象,则解决方案在显示它们时会采用网络连接的优先级。强制模式连接具有最高优先级,而其他连接的优先级最低。

解决方案显示不同类型的网络连接,如下所示:

  • 图表上的强制模式连接用红色虚线表示(图表上被阻止的网络连接图标。)。
  • 图表上的审计模式连接用带箭头的红实线表示 (图表上的被审计网络连接图标。)。
  • 图表上的其他连接用带箭头的黑实线表示(图表上与审计模式或强制模式连接不同的连接的图标。)。
  • 双向网络连接在图表上表示为与某一活动类型相对应的一条线,两端都有箭头(图表上的双向网络连接图标。)。
  • 如果将鼠标悬停在图表上的网络连接线上,该线将突出显示并改变颜色(图表上突出显示的网络连接图标。)。
页首

[Topic 297999]

查看有关网络连接的信息

卡巴斯基容器安全可以提供有关网络连接的简要和详细信息。

要查看有关网络连接的简要信息:

将鼠标悬停在相关网络连接上。

该解决方案将显示一个工具提示,其中包含每种网络连接类型(针对审计和强制模式中的连接以及其他连接)的非唯一连接的数量。

要查看有关网络连接的详细信息:

单击相关连接。

卡巴斯基容器安全将打开侧栏,其中包含有关所选连接的网络连接的信息。

侧边栏显示侧边栏打开之前 15 分钟的网络连接信息。关于网络连接的信息以表格的形式在审计模式连接强制模式连接其他连接选项卡中提供。连接数显示在选项卡名称旁边。

这些表格具有相同的结构并包含以下信息:

  • 列包含网络流量发送方 Pod 的名称,以及格式为<pod IP address:outbound traffic port>的 Pod 的 IP 地址。您可以单击 Pod 名称中的链接来打开该 Pod 的详细描述。
  • 协议列表示 Pod 交互协议。
  • 目的地列包含网络流量接收方 Pod 的名称,以及格式为<pod IP address:inbound traffic port>的 Pod 的 IP 地址。您可以单击 Pod 名称中的链接来打开该 Pod 的详细描述。
  • 连接数列显​​示流量发送方和接收方之间的非唯一连接的总数。
  • 上次连接列显示流量发送方和接收方之间上次非唯一连接的日期和时间。

如果发送方对象或接收方对象位于相关集群之外,则目的地列分别显示该对象的域名和 IP 地址(如果解决方案可以获取此信息)。

页首

[Topic 275421]

按适用范围显示图表

在图表上显示集群资源时,会考虑分配给用户角色的范围。在这种情况下,必须考虑以下几点:

  • 如果为用户角色分配了全局范围,则图表会显示所有集群资源。
  • 如果将访问命名空间内特定图像的范围分配给用户角色,则图表将显示整个命名空间(显示命名空间中的所有实体)。
  • 如果将无权访问特定命名空间的范围分配给用户角色,则此类命名空间不会显示在图表上。

    如果在分配的范围内没有要显示的选定集群的命名空间,则解决方案将通知您没有要显示的数据。

页首

[Topic 294300]

处理仓库中的镜像

资源仓库”部分包含卡巴斯基容器安全扫描的镜像存储库列表以及镜像扫描结果。该列表包括与卡巴斯基容器安全集成的仓库中的镜像。您可以自动或手动向该列表添加镜像。

当您在“管理中配置与仓库的集成以及拉取和扫描仓库镜像的设置之前,镜像列表为空

镜像列表显示为表格,镜像按存储库分组。

您可以在“资源仓库”部分中执行以下操作:

  • 按名称或校验和搜索镜像。

    仅在选定的活动镜像仓库中进行搜索。如果所查找的镜像不在所选仓库中,而是其他仓库的一部分,则搜索不会给出任何结果。

  • 筛选列表以显示符合指定条件的镜像:
    • 仅限指定仓库中的镜像;
    • 符合或不符合基准的镜像;
    • 在指定时间段内扫描的镜像;
    • 已识别出指定风险的镜像。
  • 开始重新扫描指定镜像(选择一个或多个镜像后,表格上方会显示“重新扫描”按钮)。
  • 生成所选镜像的报告(选择一个或多个镜像后,表格上方会显示“创建报告”按钮)。
  • 将镜像添加到列表中和从列表中删除镜像
  • 查看有关镜像扫描结果的详细信息

本节帮助内容

添加和删​​除镜像

查看仓库的镜像扫描结果

有关检测到的漏洞的详细信息

有关检测到的恶意软件的详细信息

镜像的错误配置控制

关于风险评级

风险处理

扫描镜像中的 Java 软件包

页首

[Topic 294302]

添加和删​​除镜像

与卡巴斯基容器安全集成的仓库中的镜像可以自动添加到镜像列表中,与为每个仓库拉取和扫描镜像所配置的设置一致。您还可以手动向仓库镜像列表中添加镜像。新镜像将排队等待扫描。

要手动向列表添加镜像:

  1. 资源仓库部分,单击表格上方的添加镜像按钮。

    您不能将镜像添加到根据外部 Harbor 仓库的请求创建的镜像仓库中。

  2. 在显示的窗口中,从仓库下拉列表中选择一个仓库。
  3. 搜索字段中,输入存储库或者镜像的名称或部分名称,然后单击搜索按钮。
  4. 存储库下面,选择一个存储库。
  5. 镜像标签下面,使用复选框选择镜像。

    您可以从多个存储库选择镜像。

  6. 单击“添加镜像”按钮。

为了优化镜像仓库的负载,每 10 分钟生成一次所连接仓库中镜像的列表。新镜像出现在仓库中后,可能会延迟指定的时间后才显示在卡巴斯基容器安全界面中。

要从列表中删除镜像:

  1. 在“资源仓库”部分中,执行以下操作之一:
    • 从列表中选择要删除的一个或多个镜像,然后使用表格上方的“删除”链接开始删除。
    • 在列表中,选择要删除的镜像的存储库,打开存储库名称所在行的操作菜单,然后选择“删除存储库
  2. 在打开的窗口中,确认删除。
页首

[Topic 294283]

查看仓库的镜像扫描结果

有关存储库中所有镜像和每个特定镜像的扫描结果的摘要信息显示在存储库中“资源仓库”部分的镜像列表中。

单击镜像名称链接可打开包含镜像扫描结果详细信息的页面。

窗口顶部的选项卡包含以下信息:

  • 风险”选项卡提供扫描结果的摘要。如果在扫描过程中检测到威胁,页面底部会提供推荐的保护镜像的操作。单击“重新扫描镜像”按钮可重复扫描镜像。
  • 漏洞”选项卡显示在镜像中检测到的漏洞。点击漏洞名称中的链接,即可打开漏洞的详细描述,并了解是否存在

    卡巴斯基容器安全从连接的漏洞数据库接收漏洞描述。该描述以漏洞数据库的语言提供。例如,来自 NVD 的漏洞描述以英语显示。
    解决方案中的漏洞分类与连接的漏洞数据库中使用的分类相匹配。

  • ”选项卡显示镜像中使用的层以及已识别漏洞的规格。单击层名称链接可打开已识别漏洞的详细描述。
  • 资源”选项卡展示资源(组件)以及已识别漏洞的规格。单击资源名称链接可打开已识别漏洞的详细描述。
  • 恶意软件扫描列出扫描在镜像中检测到的恶意软件。单击恶意软件名称链接可打开详细描述
  • 敏感数据”选项卡将显示在镜像中发现的敏感数据(机密),例如密码、访问密钥或令牌。
  • 错误配置”选项卡显示检测到的构成威胁的镜像错误配置。单击错误配置名称链接可打开详细描述。
  • 信息”选项卡提供有关镜像和镜像历史记录的基本信息。
  • 哈希扫描历史记录”显示每个镜像版本的最新扫描结果。如果扫描相同版本的镜像,结果会更新;如果扫描不同版本的镜像,结果会添加到表格的单独行中

以下信息为每个镜像显示:

  • 对安全策略要求的符合情况。
  • 风险评级,表明风险严重程度。
  • 上次扫描的日期和时间。
  • 在镜像中包含漏洞、恶意软件、敏感数据和配置错误的对象的数量。对于漏洞,将针对每个已识别的风险严重程度级别分别标明对象数量。
  • 在当前范围内采用适当的安全策略进行镜像扫描的结果。

如果某个镜像包含在通过 Harbor 请求与解决方案集成时创建的镜像仓库中,则解决方案会指示这一点,并使用 Harbor 图标 (Harbor 仓库图标。)标记镜像。

您可以通过单击创建报告按钮生成有关镜像的详细报告。您也可以通过单击重新扫描按钮来启动重新扫描镜像。

无法对卡巴斯基容器安全从通过 Harbor 请求与解决方案集成期间创建的镜像仓库中收到的镜像进行重新扫描。

您可以接受每个已识别的风险。

页首

[Topic 291077]

有关检测到的漏洞的详细信息

镜像扫描期间检测到的漏洞列表以表格形式显示在镜像扫描结果窗口的“漏洞”选项卡上。对于每个漏洞,提供了以下信息:

  • 漏洞条目标识符 标识符以 CVE-YYYY-X... 格式给出,其中:
    • CVE 是一个前缀,表示该漏洞已包含在已知漏洞和安全缺陷数据库中。
    • YYYY 是报告该漏洞的年份。
    • X... 是授权机构分配给漏洞的编号。
  • 漏洞的严重级别基于其风险评级

    如果漏洞包含漏洞利用,则漏洞利用图标 (带有漏洞利用的漏洞的图标。) 会显示在严重级别旁边。

  • 在其中检测到漏洞的已安装容器化资源。
  • 供应商是否提供了针对该漏洞的修复程序。解决方案显示具有修复方案的版本号,或指示无可用的修复方案。

您可以通过单击风险接受列中的“接受”按钮接受漏洞的风险

要接受风险,就需要有风险管理权限。

要查看检测到的漏洞的详细信息:

  1. 单击以下部分之一中含有漏洞记录 ID 的链接:
    • 在镜像扫描结果窗口的“漏洞”选项卡上。
    • 控制板漏洞块中。
    • 在包含完整漏洞列表的的表格中,在调查漏洞部分。
  2. 这将打开侧边栏,其中包含有关检测到的漏洞的以下信息:
    • 漏洞条目标识符
    • 来自漏洞数据库的漏洞描述。该描述以漏洞数据库的语言提供。例如,NVD 的漏洞描述以英文显示。
    • 常规信息选项卡显示以下内容:
      • 漏洞的严重级别基于其风险评级
      • 在其中检测到漏洞的已安装资源。
      • 基于 漏洞数据库中的 S 开放标准的漏洞严重程度分数,以及最终的综合漏洞严重程度分数。
    • “Artifacts”选项卡显示来自仓库和运行时或 CI/CD 对象的镜像工件的详细信息,并指示有多少个工件。

      来自仓库或运行时的镜像块显示以下信息:

      • 镜像对象类型和镜像的名称。如果自动配置文件是根据此镜像的校验和创建的,则自动配置文件图标 (表示创建运行时自动配置文件的的图标。) 会出现在镜像名称旁边。

        通过单击镜像名称,您可以转到包含有关镜像扫描结果的详细信息的页面。

        要查看详细信息,您需要有查看镜像扫描结果的权限。

      • 镜像的操作系统。
      • 镜像的合规性状态:合规不合规
      • 风险评级
      • 上次扫描图像的日期和时间
      • 在镜像中首次检测到漏洞的日期和时间。

      CI/CD 管道中对象的块显示以下信息:

      • 对象类型,对应于工件类型和对象名称。

        通过单击工件的名称,您可以转到包含有关项目构建阶段扫描对象结果的详细信息的页面。

        要查看详细信息,您需要有查看 CI/CD 流程中扫描对象的结果的权限。

      • 在其中扫描对象的操作系统。
      • 镜像的合规性状态:合规不合规
      • 风险评级
      • 上次对象扫描的日期和时间。
      • 在对象中首次检测到漏洞的日期和时间。
      • 在 CI/CD 进程中扫描对象的时间戳。
    • 工作负载选项卡显示包含存在漏洞的镜像的 Pod 列表以及它们的数量。对于每个对象,提供了以下信息:
      • 包含在其中检测到漏洞的 Pod 镜像的集群的名称。
      • 包含在其中检测到漏洞的 Pod 镜像的命名空间的名称。

        如果您单击命名空间名称,解决方案将从图表中打开命名空间的侧面板

      • 检测到漏洞的镜像的 Pod 名称。

        如果你单击命名空间名称,解决方案将从图表中打开 Pod 的侧面板

    • 风险接受选项卡显示以下信息:
      • 风险接受日期。
      • 风险接受期间。
      • 子集。
      • 发起风险接受的人。
      • 接受风险的原因。

      如果您有权查看已接受的风险,则“风险接受”选项卡可用。

      对于每个接受的风险,您可以执行以下操作:

      • 单击 期间结束。 图标来设置风险接受的持续时间。
      • 单击 撤销风险接受。 图标来取消风险接受。

      此选项卡还可让您使用“添加风险接受”按钮为漏洞添加风险接受

      需要“管理风险”权限才能编辑风险接受设置。

页首

[Topic 294285]

有关检测到的恶意软件的详细信息

如果镜像扫描检测到恶意软件,解决方案会在包含镜像扫描结果信息的页面上显示这一情况。要查看有关检测到的恶意对象的详细信息,请在包含镜像扫描结果的窗口中选择“恶意软件扫描”选项卡。

对于每个对象,解决方案都会生成 MD5 或 SHA256 哈希,并指示检测到该对象的位置的路径。

您可以在

中创建的网络威胁数据库中查看有关检测到的恶意对象的详细信息。要执行此操作,请单击卡巴斯基 OpenTIP 和卡巴斯基 TIP 资源的链接。

卡巴斯基 OpenTIP 门户上的威胁描述页面公开可用。用户必须输入其账户凭据才能访问卡巴斯基 TIP。

页首

[Topic 293438]

镜像的错误配置控制

卡巴斯基容器安全可使用配置文件扫描器检测配置文件中的错误配置。该扫描器可以扫描包含 IaC 文件的镜像、文件系统和存储库(例如,Terraform、CloudFormation、Azure ARM 模板、Helm Chart 和 Dockerfile 包)。

卡巴斯基容器安全可扫描以下配置文件:

  • Kubernetes 对象的配置文件
    • Pod
    • ReplicaSet
    • ReplicationController
    • 部署
    • DeploymentConfig
    • StatefulSet
    • DaemonSet
    • CronJob
    • Job
    • Services
    • ConfigMaps
    • 角色和 СlusterRoles 权限和命令
    • ClusterRoleBindings 和 RoleBindings
    • 网络策略(Ingress 和 Egress 连接)
  • 集群组件的配置文件。
  • 镜像的配置文件。
  • Amazon 云环境服务的配置文件
    • Amazon IAM 策略
    • API Gateway
    • Amazon Athena
    • Amazon CloudFront
    • Amazon CloudTrail
    • Amazon CloudWatch
    • Amazon CodeBuild
    • Amazon Config
    • Amazon DocumentDB 数据库
    • Amazon DynamoDB Accelerator
    • Amazon Elastic Compute Cloud
    • AWS Elastic Container Registry
    • Amazon Elastic Container Service
    • Amazon Elastic File System
    • Amazon Elastic Kubernetes Service
    • Amazon ElastiCache
    • Amazon Elasticsearch
    • Amazon Elastic Load Balancing
    • Amazon Elastic MapReduce
    • Amazon Identity and Access Management
    • Amazon Kinesis
    • Amazon Key Management Service
    • Amazon Lambda
    • Amazon MQ Broker
    • Amazon Managed Streaming for Apache Kafka
    • Amazon Neptune
    • Amazon Relational Database Service
    • Amazon Redshift
    • Amazon Simple Storage Service
    • Amazon Serverless Application Model
    • Amazon Simple Notification Service
    • Amazon Simple Queue Service
    • Amazon Secrets Manager
    • Amazon Workspaces
  • Azure 云环境服务的配置文件
    • Azure App Service
    • Azure Compute
    • Azure Container Service
    • Azure SQL Database
    • Azure Data Factory
    • Azure Data Lake
    • Azure Key Vault
    • Azure Monitor
    • 负责 Azure 的网络交互的服务
    • Azure Security Center
    • Azure Storage
    • Azure Synapse Analytics
    • Azure IAM policies
  • DigitalOcean 云环境的配置文件。
  • ApacheCloudStack 云环境的配置文件。
  • Terraform GitHub Provider 的配置文件。
  • Google 云环境服务的配置文件
    • Google BigQuery
    • Google Compute Engine
    • Google Cloud DNS
    • Google Cloud IAM 策略
    • Google Cloud Key Management Service
    • Google Cloud SQL
    • Google Cloud Storage
  • Nifcloud Provider 的配置文件
    • 计算
    • DNS
    • NAS
    • 网络
    • Rdb
    • SSL 证书
  • OpenStack 的配置文件
    • 计算
    • 网络
  • Oracle Compute Cloud 的配置文件。

以下表格列出了卡巴斯基容器安全支持的配置文件的类型和配置文件格式。

配置文件的类型和格式

文件类型

文件格式

Kubernetes

*.yml, *.yaml, *.json

Docker

Dockerfile,Containerfile

Terraform

*.tf, *.tf.json, *.tfvars

Terraform Plan

tfplan, *.tfplan, *.json

CloudFormation

*.yml, *.yaml, *.json

Azure ARM Template

*.json

Helm

*yaml, *.tpl, *.tar.gz

YAML

*.yaml, *.yml

JSON

*.json

页首

[Topic 271977]

关于风险评级

卡巴斯基容器安全软件进行扫描后,会对扫描对象进行风险评级。扫描时,解决方案可能会检测到对象中包含的以下全部或部分安全问题:

  • 漏洞
  • 恶意软件
  • 敏感数据
  • 错误配置

根据安全威胁的严重程度,对检测到的每个风险分配以下风险等级之一:

  • 可忽略
  • 严重

如果扫描过程中未检测到安全问题,则该镜像被视为安全并被标记为“正常”。

检测到的漏洞、恶意软件、敏感数据或错误配置的风险等级与用于扫描的安全威胁数据库中指定的等级相对应(例如,NVD 和数据安全威胁数据库)。这些漏洞和威胁数据库使用特殊的评分标准来评估安全威胁的严重程度。例如,NVD 中应用了通用漏洞评分系统 (CVSS)。

在所有已检测到的对象中,该对象的严重程度最高,风险评级也最高。

例如,在对象扫描期间检测到以下安全威胁:

  • 严重程度较低的漏洞;
  • 严重程度高且至关重要的敏感数据;
  • 中等严重程度的配置错误;
  • 低严重程度的恶意软件。

此处,如果检测到的威胁的严重程度为最高,则对应的风险等级为严重

页首

[Topic 250391]

风险处理

卡巴斯基容器安全识别的威胁(漏洞、恶意软件、敏感数据和错误配置)受风险接受程序的约束。如果您接受某个威胁的风险,在指定的接受期限内确定镜像安全状态(符合/不符合安全策略)时,保障策略将不会考虑该威胁。镜像扫描会继续检测威胁,但不会将该镜像标记为不合规。

如果您接受在镜像中检测到的漏洞的风险,则对于特定镜像仓库也接受此风险。如果接受镜像中所有漏洞的风险,则该镜像将被视为符合安全策略要求并获得“合规”状态

如果更改应用于镜像的保障策略设置,镜像安全状态也会随之更改。

默认情况下,接受威胁风险的期限为 30 天。您可以延长将风险视为接受的期限。您也可以随时取消风险接受。如果取消风险接受,关联的威胁将再次影响镜像的安全状态。

您可以在“策略风险接受”部分中查看所有已接受风险的列表

本节内容

风险接受

查看有关接受的风险的信息

取消风险接受

页首

[Topic 292001]

风险接受

您可以接受该解决方案发现的风险,但需考虑以下几点:

  • 如果存在漏洞、配置错误和敏感数据,您可以接受所有严重程度的风险。
  • 如果出现恶意软件,您只能接受中等可忽略严重程度级别的风险。

    您不能接受严重程度为严重的风险。

您可以在以下部分中接受风险:

  • 镜像扫描结果窗口中,可以接受通过扫描特定镜像检测到的与所有威胁类型(漏洞、恶意软件、错误配置和敏感数据)相关的风险。
  • 调查漏洞部分,接受解决方案检测到的所有漏洞的风险。接受与扫描过程中检测到的所有工件(包括 CI/CD 对象)相关的风险。

要接受风险,就需要有风险管理权限。

要根据镜像扫描结果接受风险:

  1. 镜像扫描结果窗口中,打开包含所需威胁类型的信息的选项卡。
  2. 在表中,选择一个威胁并单击风险接受栏中的接受按钮。
  3. 在打开的窗口中,指定风险接受参数:
    • 选择风险接受程度:
      • 对于选定的检测到风险的镜像;
      • 对于包含已检测安全威胁的镜像的存储库中的所有镜像;
      • 对于已经或将要检测到此安全威胁的所有镜像。
    • 请指定一个期限,在此之后当确定镜像安全状态时必须再次考虑该安全风险。
    • 指定接受风险的原因。
  4. 单击“接受”按钮

选定的威胁在定义的天数(或无限期)内不会影响该特定镜像、存储库中的镜像或所有镜像的安全状态。

可以在策略风险接受”部分查看已接受的风险

要接受检测到的漏洞的风险:

  1. 单击以下部分之一中的漏洞记录 ID:
    • 进行扫描结果窗口漏洞选项卡上。
    • 调查漏洞部分中。
  2. 在打开的侧栏中,转到风险接受选项卡。

    如果您有权查看已接受的风险,则“风险接受”选项卡可用。

  3. 单击添加风险接受按钮。
  4. 在打开的窗口中,指定风险接受参数:
    • 选择风险接受程度:
      • 对于选定的工件(镜像或 CI/CD 对象)
      • 对于包含检测到漏洞的对象的存储库
      • 对于当前检测到此漏洞的工件
      • 对于所有工件,包括解决方案在后续扫描中可能发现的工件。

      无论范围如何,都承担风险。

    • 指定 1 至 999 天的时间段,在此时间段之后将撤销对此漏洞的风险接受。默认情况下,期间为 30 天。
    • 指定接受风险的原因。
  5. 单击“添加”按钮。

漏洞的接受风险显示在风险接受选项卡上。它也可以在策略接受的风险部分中查看

页首

[Topic 292012]

查看有关接受的风险的信息

所有接受的风险的列表显示在“策略风险接受”部分中

您可以使用该列表执行以下操作:

  • 按风险名称、存储库名称、镜像或检测到风险的资源进行搜索。
  • 按风险类型和制造商修复可用性对列表进行筛选。
  • 单击表格上方的“创建报告”按钮来生成风险接受报告。
  • 按接受日期、风险名称、范围(适用于所有镜像或仅一个镜像)和接受期限对列表进行排序。使用 (排序图标。) 排序图标进行排序。
  • 查看有关风险接受和相关威胁的详细信息。单击风险名称链接可打开包含相关详细信息的窗口。

使用详细信息窗口中的按钮可执行以下操作:

  • 请指定或延长考虑此安全威胁的期限,且在此之后需在确定镜像安全状态时再次考虑该安全风险。
  • 取消风险接受

您还可以在镜像扫描结果中的检测到的威胁列表中查看有关接受的风险的信息。在已接受风险的威胁行中,您可以找到接受风险的时间。您还可以单击链接打开一个窗口,其中包含有关风险接受和相关威胁的详细信息。

有关特定漏洞的风险接受的信息也显示在调查漏洞部分中包含解决方案检测到的所有漏洞列表的表格中。风险接受列显示接受风险的工件(镜像、CI/CD 对象)的数量。

要查看漏洞的已接受风险,您需要“查看已接受风险”的权限。
无论范围如何,都会显示有关已接受风险的信息。

风险接受选项卡上的漏洞详细描述中提供了有关特定漏洞的每个接受风险的更多详细信息。

页首

[Topic 292016]

取消风险接受

要取消风险接受:

  1. 在以下部分之一中,打开包含检测到风险的对象列表的表格:
  2. 选择一个风险,然后单击风险接受栏中的编辑按钮。

    编辑按钮仅针对先前接受的风险显示。

  3. 单击“撤销”按钮并在打开的窗口中确认操作。

您还可以通过单击 风险接受选项选项卡上的 撤销风险接受。 图标从包含漏洞详细信息的窗口撤销对漏洞的风险接受。

取消风险接受意味着相关威胁将再次影响接受了风险的镜像的安全状态。

页首

[Topic 279524]

扫描镜像中的 Java 软件包

卡巴斯基容器安全可以扫描注册表镜像中包含的 Java 软件包。为此,该解决方案使用 Java 漏洞数据库。

可以用卡巴斯基容器安全 v1.2.1 及更高版本扫描 Java 软件包。如果您安装了早期版本,则必须将解决方案更新到 v1.2.1. 才能使用此功能。

您可以通过设置 values.yaml 文件中ENABLE_JAVA_VULN环境变量的值来配置 Java 软件包的扫描。如果ENABLE_JAVA_VULN = true,卡巴斯基容器安全将使用 Java 漏洞数据库执行扫描。如果ENABLE_JAVA_VULN = false,则不会扫描 Java 软件包。

默认情况下,ENABLE_JAVA_VULN被设置为false

从版本 v1.2.1 开始,分发套件中提供的 kcs-updates 组件包含 Java 漏洞数据库。使用此组件时,您应该确保 values.yaml 文件中的环境变量定义如下:

ENABLE_JAVA_VULN = true
KCS_UPDATES_TAG=vХ.Х.Х (版本变量值根据解决方案的版本指定)
KCS_UPDATES=true

如果 Java 软件包扫描被激活(ENABLE_JAVA_VULN = true),kcs-scanner 解决方案组件将下载 Java 漏洞数据库并相应地通知 kcs-middleware 和 kcs-ih 组件。然后,kcs-ih 组件从kcs-scanner 接收数据库文件,组装并验证数据库,并在扫描期间使用它。

使用 Java 漏洞数据库发现的漏洞显示在镜像扫描结果中

卡巴斯基容器安全还可以在使用外部扫描器时在 CI/CD 过程中扫描外部注册表中的镜像中的 Java 软件包。在这种情况下,您必须使用带有 vХ.Х.Х-with-db-java 标签的扫描器,其中包含预安装的 Java 漏洞数据库。所指定扫描器的配置和使用与 vХ.Х.Х-with-db 扫描器类似。

页首

[Topic 290879]

调查安全事件

为了调查容器中发生的事件和镜像中检测到的漏洞,卡巴斯基容器安全可让您执行以下操作:

  • 分析容器取证。该解决方案可让您根据正在运行的进程、文件操作、网络流量和检测到的恶意软件识别容器中的事件。
  • 分析漏洞。该解决方案可生成静态分析仓库镜像、运行时镜像扫描和 CI/CD 对象期间检测到的漏洞列表。

本节帮助内容

分析容器取证

分析检测到的漏洞

页首

[Topic 291028]

分析容器取证

调查容器取证部分,卡巴斯基容器安全可让您组织在容器中发生的事件以供进一步分析。有关事件的信息以表格的形式呈现。

如果您有权查看事件,则此部分可用。

在表中,解决方案显示有关事件的以下信息:

  • 事件的日期和时间。
  • 事件类型 — 进程文件操作网络流量文件威胁防护
  • 有关事件的其他信息,以以下方式显示:
    • 对于进程启动,显示在容器中执行的命令
    • 对于文件操作,指示操作类型(例如,写入或删除)
    • 对于网络流量,显示流量的来源和目的地,即来源的 Pod 或域的名称、端口和 IP 地址
    • 对于文件威胁防护组件生成的事件,显示检测到的恶意软件的名称。
  • 运行时策略模式 — 审计强制
  • 要启动的容器可执行文件的完整路径和名称。对于文件操作,文件路径显示为执行任何操作的容器的文件系统中的文件或目录的名称和位置。

通过使用筛选器,您可以自定义表中信息的显示,如下所示:

  • 按事件类型:
    • 按运行进程
    • 按文件操作
    • 按网络流量
    • 按由文件威胁防护组件检测到的恶意软件
  • 按事件的时间(您必须指定事件的日期和时间)。解决方案默认显示当天的事件。
  • 按事件数据或路径(您需要在搜索字段中输入数据或路径)。

通过单击表中的事件行,您可以展开侧边栏以查看有关所选事件的详细信息。

页首

[Topic 293485]

搜索容器取证

调查容器取证下面,您可以搜索在容器中发生的事件。

要查找发生在容器中的安全事件:

按事件数据和路径搜索字段中,输入搜索的事件数据。

根据事件类型,您必须指定以下内容:

  • 容器 ID 或者容器名称(适用于所有事件类型)。
  • 文件路径(适用于进程文件操作或者文件威胁防护事件)。
  • IP 地址或者域名(适用于网络流量类型的事件)。

解决方案在调查容器取证部分的安全事件表中显示搜索结果。

页首

[Topic 292170]

关于正在运行的进程的详细信息

要打开有关正在运行的进程的详细信息:

  1. 调查容器取证部分的安全事件表中单击进程事件行中的任意地方。
  2. 在打开的侧栏中,转到“信息”选项卡。

卡巴斯基容器安全显示以下信息:

  • 常规信息部分包含常规信息:
    • 进程开始的日期和时间。
    • 用于启动进程的命令,包括参数。
    • 文件或目录的路径。
    • 运行时策略模式。
  • 位置详细信息部分包含有关在其中启动该进程的容器的以下信息:
    • 容器 ID 和名称。
    • 镜像名称和校验和。您可以通过单击相关镜像的名称打开包含镜像扫描结果的页面。

      要查看镜像扫描的结果,您需要有查看镜像扫描结果的权限。您还需要访问集群的范围。

    • Pod 名称。您可以通过单击 Pod 的名称显示 Pod详情。

      查看和管理集群资源需要相应权限。您还需要访问相应的范围

    • 命名空间名称。
    • 集群名称。
    • 主机名和 IP 地址。
  • 进程部分包含有关正在运行的进程的以下数据:
    • 父进程 ID (PPID)
    • 进程 ID (PID) 和新的 PID
    • 有效用户 ID (EUID)
    • 有效组 ID (EGID)
    • 组 ID (GID)
  • 影响容器部分的运行时策略下面的表格显示可以应用于包含正在运行的进程的容器的所有运行时策略列表。对于每项策略,该解决方案显示该策略的名称及其模式。

    您可以通过单击策略名称打开包含所应用策略的详细描述的侧边栏。策略信息的显示方式与在图表上查看应用程序程序信息时所呈现的应用策略信息的显示方式类似。当查看策略信息时限制应用。

页首

[Topic 292232]

关于文件操作的详细信息

要打开有关文件操作的详细信息,

  1. 调查容器取证部分的安全事件表中单击文件操作事件行中的任意地方。
  2. 在打开的侧栏中,转到“信息”选项卡。

卡巴斯基容器安全显示以下信息:

  • 常规信息部分包含常规信息:
    • 执行文件操作的日期和时间。
    • 文件操作的类型(例如,创建删除)。

      卡巴斯基容器安全中的文件操作示例

      卡巴斯基容器安全检测以下类型的文件操作:

      • 打开
      • 创建
      • 读取
      • 写入
      • 重命名或移动
      • 删除
      • 变更所有权
      • 更改访问权限
    • 文件或目录的路径。
    • 文件或目录的新路径(仅显示重命名或移动文件操作类型)。
    • 新权限(仅针对更改访问权限操作类型显示)。
    • 运行时策略模式。
    • 错误代码。
  • 位置详细信息块提供有关在其中发现文件操作的容器的以下信息:
    • 容器 ID 和名称。
    • 镜像名称和校验和。您可以通过单击相关镜像的名称打开包含镜像扫描结果的页面。

      要查看镜像扫描的结果,您需要有查看镜像扫描结果的权限。您还需要访问集群的范围。

    • Pod 名称。您可以通过单击 Pod 的名称显示 Pod详情。

      查看和管理集群资源需要相应权限。您还需要访问相应的范围

    • 命名空间名称。
    • 集群名称。
    • 主机名和 IP 地址。
  • 进程部分包含有关在其中发现文件操作的进程的以下数据:
    • 父进程 ID (PPID)
    • 进程 ID (PID) 和新的 PID
    • 用户 ID (UID)
    • 组 ID (GID)
    • 有效用户 ID (EUID)
    • 有效组 ID (EGID)
    • 新所有者的 UID(仅针对更改所有权文件操作类型显示)。
    • 新所有者的 GID(仅针对更改所有权文件操作类型显示)。
  • 影响容器部分的运行时策略下面的表格显示可以应用于在其中检测到文件操作的容器的所有运行时策略列表。对于每项策略,该解决方案显示该策略的名称及其模式。

    您可以通过单击策略名称打开包含所应用策略的详细描述的侧边栏。策略信息的显示方式与在图表上查看应用程序程序信息时所呈现的应用策略信息的显示方式类似。当查看策略信息时限制应用。

页首

[Topic 292235]

关于网络流量的详细信息

要打开有关文件操作的详细信息,

  1. 调查容器取证部分的安全事件表中单击网络流量事件行中的任意地方。
  2. 在打开的侧栏中,转到“信息”选项卡。

卡巴斯基容器安全显示以下信息:

  • 常规信息部分包含常规信息:
    • 执行文件操作的日期和时间。
    • 运行时策略模式。
    • 流量类型:Ingress 或 Egress 连接。
  • 部分包含有关连接的以下信息:
    • 连接源的 Pod 名称或域。您可以通过单击 Pod 的名称显示 Pod详情。

      查看和管理集群资源需要相应权限。您还需要访问相应的范围

    • 网络流量来源的 IP 地址。
    • 用于连接的端口。
  • 目的地部分包含有关连接的以下信息:
    • 网络流量接收者的 Pod 名称或域。您可以通过单击 Pod 的名称显示 Pod详情。
    • 网络流量接收者的 IP 地址。
    • 用于连接的端口。
  • 位置详细信息部分提供有关在其中检测到网络流量的容器的以下信息:
    • 容器 ID 和名称。
    • 镜像名称和校验和。您可以通过单击相关镜像的名称打开包含镜像扫描结果的页面。

      要查看镜像扫描的结果,您需要有查看镜像扫描结果的权限。您还需要访问集群的范围。

    • Pod 名称。您可以通过单击 Pod 的名称显示 Pod详情。
    • 命名空间名称。
    • 集群名称。
    • 主机名和 IP 地址。
  • 影响容器部分的运行时策略下面的表格显示可以应用于在其中检测到网络连接的容器的所有运行时策略列表。对于每项策略,该解决方案显示该策略的名称及其模式。

    您可以通过单击策略名称打开包含所应用策略的详细描述的侧边栏。策略信息的显示方式与在图表上查看应用程序程序信息时所呈现的应用策略信息的显示方式类似。当查看策略信息时限制应用。

页首

[Topic 292237]

关于检测到的恶意对象的详细信息

要打开有关检测到的恶意的对象的详细信息:

  1. 调查容器取证部分的安全事件表中单击文件威胁防护事件行中的任意地方。
  2. 在打开的侧栏中,转到“信息”选项卡。

卡巴斯基容器安全显示以下信息:

  • 常规信息部分包含常规信息:
    • 检测到恶意软件的日期和时间。
    • 恶意软件名称。
    • 检测到的恶意软件类型(例如病毒软件)。
    • 恶意软件的严重级别
    • MD5 和 SHA286 格式的文件校验和。
    • 事件类型(例如,检测到的威胁)。
    • 文件或目录的路径。
    • 所有者 ID。
    • 对象 ID。
    • 运行时策略模式。
    • 文件拦截器模式(无论运行时策略模式如何,文件拦截器都会运行)。
  • 位置详细信息部分包含有关在其中检测到恶意软件的容器的以下信息:
    • 容器 ID 和名称。
    • 镜像名称和校验和。您可以通过单击相关镜像的名称打开包含镜像扫描结果的页面。

      要查看镜像扫描的结果,您需要有查看镜像扫描结果的权限。您还需要访问集群的范围。

    • Pod 名称。您可以通过单击 Pod 的名称显示 Pod详情。

      查看和管理集群资源需要相应权限。您还需要访问相应的范围

    • 命名空间名称。
    • 集群名称。
    • 主机名和 IP 地址。
  • 进程部分包含有关在其中检测到恶意软件的进程的以下信息:
    • 进程 ID (PID) 和新的 PID
    • 有效用户 ID (EUID)
  • 影响容器部分的运行时策略下面的表格显示可以应用于在其中检测到恶意软件的容器的所有运行时策略列表。对于每项策略,该解决方案显示该策略的名称及其模式。

    您可以通过单击策略名称打开包含所应用策略的详细描述的侧边栏。策略信息的显示方式与在图表上查看应用程序程序信息时所呈现的应用策略信息的显示方式类似。当查看策略信息时限制应用。

页首

[Topic 292240]

对运行时策略的限制

对于每种事件类型,卡巴斯基容器安全都会显示可应用于在其中发现安全事件的容器的所有运行时策略的列表。对策略列表的访问受到以下限制:

  • 如果用户拥有管理运行时策略的权限并拥有与策略作者相同的角色,则该用户可以访问有关策略的所有信息,还可以编辑运行时策略设置。
  • 如果用户被授予查看运行时策略的权限,则该用户可以访问有关策略的所有信息。
  • 如果用户没有被授予查看运行时策略的权限,则用户无法打开运行时策略的详细描述。用户只能访问侧栏中“信息”选项卡上有关应用的运行时策略列表的信息以及安全事件的详细描述。
页首

[Topic 292233]

调查容器取证同时解释相邻事件

在调查事件时,应该关注并分析相关事件前后发生的事件。

要查看相关事件之前和之后发生的事件:

  1. 调查容器取证部分的安全事件表中单击事件行中的任意地方。
  2. 转到相邻事件选项卡。

默认情况下,解决方案会显示一个包含以下信息的表格:

  • 正在审查的事件。
  • 3 起在所检查事件之前发生的事件。
  • 46 起在所检查事件之后发生的事件。

对于每个事件,您还可以查看 90 天范围内的事件。例如,如果您正在查看当天的事件,则可以打开过去 90 天的事件。如果有关事件发生在 45 天前,您可以打开被检查事件前 45 天发生的事件。

对于表中的每个事件,解决方案显示以下信息:

  • 事件的日期和时间。
  • 事件类型。
  • 关于事件的其他信息
  • 完整路径。

您可以通过单击表中的事件行打开有关所选事件的详细信息的侧边栏。

您还可以下载有关所有事件的信息,其中包含每个事件的详细描述(文本格式)。

页首

[Topic 290891]

分析检测到的漏洞

卡巴斯基容器安全通过对仓库镜像、运行时中的镜像扫描和 CI/CD 对象进行静态分析来检测漏洞。为了分析之目的,检测到的漏洞的完整列表以表格的形式显示在调查漏洞部分中。

表格列出了每个检测到的漏洞的以下内容:

  • 漏洞列包含漏洞条目的 ID。通过点击标识符,您可以打开一个页面,其中包含有关在镜像中检测到的漏洞的详细信息
  • 严重性列显示检测到的漏洞的严重级别以及其是否被利用。
  • 资源列包含在其中检测到漏洞的资源的名称。
  • 供应商修复方案列显示供应商是否提供了针对该漏洞的修复方案。解决方案显示具有修复方案的版本号,或指示无可用的修复方案。
  • 工件列显示卡巴斯基容器安全扫描的工件数量(仓库和运行时环境中的镜像以及 CI/CD 对象)。

    该解决方案根据所选范围的imagename:tag显示唯一镜像的数量。确定工件数量时,应用以下规则:

    • 如果基于imagename:tag的镜像是基于资源和集群的范围的资源的一部分,则该镜像被计算一次。
    • 如果用户有权访问基于集群的范围的资源,但无权访问该范围内基于仓库的资源,则只计算运行时中的镜像数量。
    • 如果在范围筛选器中指定全部,则会显示所有范围的工件总数。
    • 只有在使用全局范围时,CI/CD 工件才可计数。
  • 工作负载列显示包含存在漏洞的镜像的 Pod数量。

使用筛选器,您可以选择要在调查漏洞部分的表格中显示的漏洞

页首

[Topic 291052]

选择要显示的漏洞

要使用表格上方的筛选按钮选择要在表格中显示的漏洞:

  1. 单击带有您想要显示的值的筛选按钮。漏洞可以根据以下标准进行选择:
    • 按检测位置划分的漏洞:
      • 仓库中的镜像。
      • 在运行时中部署的镜像。
      • CI/CD 对象。
    • 按严重级别划分的漏洞:
      • 可忽略
      • 严重

    默认情况下,选择所有检测位置和漏洞严重级别。

  2. 如有必要,请使用“禁用” / “启用”开关来启用或禁用仅显示可被利用的漏洞。默认情况下,该开关设置为“已禁用” 。
  3. 如有必要,请在搜索字段中输入漏洞 ID 或资源名称。

要使用筛选器选择在表中显示的漏洞:

  1. 单击表格上方包含用户列表的筛选器图标 (筛选器图标。) 。
  2. 在打开的侧边栏中,使用“禁用” / “启用”开关来启用或禁用仅显示可被利用的漏洞。默认情况下,该开关设置为“已禁用” 。
  3. 要确定严重级别,请选择以下选项之一:严重级别分数,然后执行以下操作:
    • 如果选择“严重级别” ,请选择具有要显示的值的按钮。您可以选择以下显示值:
      • 可忽略
      • 严重

      默认情况下,选择所有漏洞严重性级别。

    • 如果选择“分数”,请使用滑块来定义漏洞分数。可用值从 0 到 10。解决方案将显示与指定漏洞分数相匹配的漏洞。
  4. 对于供应商修复方案设置,指定供应商是否提供修复方案:全部可用不可用。默认值为全部
  5. 对于风险接受设置,指定所选漏洞是否已在指定资源中被接受:全部接受不接受。默认值为全部
  6. 对于位置详细信息设置,指定检测到漏洞的位置:
    • 仓库中的镜像。
    • 在运行时中部署的镜像。
    • CI/CD 对象。

    默认选择所有检测位置。

页首

[Topic 291067]

与范围相关的限制

检测到的漏洞列表可以通过分配给用户的范围访问,如下所示。

  • 如果用户被分配了全局范围,则用户可以访问有关检测到的漏洞的所有信息,包括 CI/CD 对象。
  • 如果分配给用户的范围需要访问基于仓库的资源,则会向该用户显示工作负载列的值为 0 的漏洞。
  • 如果分配给用户的范围需要访问基于集群的资源,则会向用户显示工作负载列的值大于 0 的漏洞。
  • 如果分配给用户的范围需要访问基于仓库和集群的资源,则会向该用户显示工作负载列的值大于或者等于 0 的漏洞。
页首

[Topic 282364]

与第三方资源的集成

为了识别安全问题并确保对容器化应用程序的保护,卡巴斯基容器安全可以与以下第三方资源集成:

  • 外部镜像仓库。该解决方案允许扫描托管在存储库管理和存储平台上的容器和 IaC 镜像(包括作为 CI/CD 进程的一部分),以查找是否存在漏洞、恶意软件、错误配置和敏感数据。
  • 镜像签名验证器。卡巴斯基容器安全可以使用外部签名应用程序验证镜像的数字签名。
  • 输出。在实施响应策略时,解决方案可以通过电子邮件或 Telegram 发送消息通知用户有关安全事件。
  • 外部 LDAP 目录服务。在定义用户角色和范围时,解决方案允许根据来自外部目录服务的数据配置用户帐户,并将用户角色映射到 Active Directory 中的用户组。
  • SIEM 系统。卡巴斯基容器安全允许连接到安全信息与事件管理系统,以就事件发出通知用于分析和进一步应对潜在威胁。
  • HashiCorp Vault 外部存储。该解决方案允许通过 HashiCorp Vault 安全地存储和使用密码、令牌和机密。

本节帮助内容

配置与外部镜像仓库的集成

与 CI/CD 的集成

配置与镜像签名验证器的集成

设置与通知输出的集成

配置 LDAP 服务器集成

配置与 SIEM 系统的集成

与 HashiCorp Vault 集成

页首

[Topic 292431]

设置与外部镜像仓库的集成

卡巴斯基容器安全可以扫描以下外部镜像仓库中的镜像:

  • Harbor
  • GitLab 仓库
  • JFrog Artifactory
  • Sonatype Nexus Repository OSS
  • Yandex Registry
  • Docker Hub
  • Docker 仓库

    与 Docker Registry 集成需要外部仓库服务器端的 Docker Registry V2 API 的支持。

  • Red Hat Quay
  • Amazon Elastic Container Registry

您需要配置解决方案与外部仓库的集成,以便解决方案可以扫描外部仓库的镜像。可以自动或手动扫描与卡巴斯基容器安全集成的仓库中的镜像,具体取决于为每个仓库配置的镜像拉取和扫描设置。

本节帮助内容

与仓库的集成的最低充分权限

未经授权使用公共仓库

添加与外部镜像仓库的集成

查看有关与仓库的集成的信息

删除与外部仓库的集成

Harbor 集成

根据 Harbor 请求创建集成

查看和编辑 Harbor External Integration 设置

重新扫描

页首

[Topic 295773]

与仓库的集成的最低充分权限

要与外部镜像仓库集成,卡巴斯基容器安全账户必须拥有一组特定权限,这些权限根据仓库类型的不同而有所不同。下面列出了每种仓库类型的集成所需的最低账户权限。

GitLab

要将解决方案与 GitLab 用户仓库集成,您需要定义如下参数值:

  • 项目或组中的用户角色:报告人
  • 项目访问级别:报告人
  • 分配给用户令牌的权限:read_api、read_registry

JFrog Artifactory

要将解决方案与 JFrog 用户仓库集成,您需要定义如下参数值:

  • 项目或组中的用户角色:管理报告
  • 项目访问权限:可以更新配置文件
  • 用户权限:读取任何存储库的权限ANY 存储库)。

Harbor

要将解决方案与 Harbor 用户仓库集成,您需要定义如下参数值:

  • 成员类型:用户。为此,请在“项目成员”部分的表的“成员类型”列中指定“用户”。
  • 项目或组中的用户角色:权限有限的用户。为此,您必须在“项目成员”部分的表的“角色”列中指定“来宾”。
  • 用户权限:无管理员权限的用户。为此,您必须在用户部分的表的管理员列中选择“否”部分。

Nexus

要将解决方案与 Nexus 用户仓库集成,您需要定义如下参数值:

  • 项目或组中的用户角色:用户
  • 分配给项目或组中用户角色的权限:nx-apikey-all、nx-repository-view-docker-*-browse、nx-repository-view-docker-*-read

Docker Hub

在使用用户名和密码进行授权后,解决方案即与 Docker Hub 用户的仓库集成。

此 Docker Hub 仓库集成选项仅适用于个人命名空间。

RedHat Quay

要将解决方案与 RedHat Quay 用户仓库集成,需要以下权利和权限:

  • 正确操作测试连接功能的用户权限:具有管理组织权限的用户。
  • 查看所有可见存储库权限。
  • 读/写任何可访问的存储库权限。

Yandex

要将解决方案与 Yandex 用户仓库集成,您需要定义如下参数值:

  • 项目或组中的用户角色:container-registry.viewer
  • 授予项目或组中的用户角色的权限:查看容器仓库。

Amazon Elastic Container Registry

要将解决方案与 Amazon Elastic Container Registry 用户仓库集成,您应该定义如下参数值:

  • 用于访问项目或组的 AWS 策略: AmazonEC2ContainerRegistryReadOnly
  • 授予项目或组中的用户角色的权限:查看和读取。
页首

[Topic 294428]

未经授权使用公共仓库

未经授权,卡巴斯基容器安全 2.0 无法使用公共仓库。例如,匿名访问 Docker Hub 时,您无法使用该解决方案来扫描镜像。

如果您未在公共仓库中授权,则可以在集群中使用此类镜像仓库,将它们添加到卡巴斯基容器安全,并手动将其分配到特定范围。如果范围仅包含一个或多个您无权使用的公共仓库,并且您尝试在“资源仓库”部分中添加镜像,则解决方案将显示错误,指示因为该解决方案未与仓库集成,所以无法添加镜像。

页首

[Topic 292488]

添加与外部镜像仓库的集成

集成的仓库仅支持直接包含镜像的本地镜像存储库。在版本 2.0 中,卡巴斯基容器安全不支持使用远程或虚拟存储库。

要添加与外部仓库的集成:

  1. 在“管理集成镜像仓库”部分中,单击“添加仓库”按钮

    将打开集成设置窗口。

  2. 在“仓库详细信息”选项卡上,指定连接到仓库的设置:
    1. 输入仓库的名称。
    2. 如果需要,请输入仓库的描述。
    3. 从下拉列表中选择仓库类型。卡巴斯基容器安全支持以下类型的仓库:
      • Harbor(使用 Harbor V2 API 进行集成)。
      • GitLab Registry(使用 GitLab Container Registry API 进行集成)。
      • JFrog Artifactory(使用 JFrog API 进行集成)。
      • Sonatype Nexus Repository OSS(使用 Nexus API 进行集成)。
      • Yandex Registry(使用 Yandex Container Registry API 进行集成)。
      • Docker Hub(使用 Docker Hub API 进行集成)。
      • Docker Registry(使用 Docker Registry V2 API 进行集成)。
      • Red Hat Quay(使用 Red Hat Quay API 集成)。
      • Amazon Elastic Container Registry(使用 Amazon Elastic Container Registry API 进行进程)。

      如果配置与 Sonatype Nexus Repository OSS、Harbor、JFrog Artifactory(使用端口或子域)或 Yandex Registry 的集成,可以使用 Docker Registry V2 API 访问 Docker 仓库。与 GitLab Registry、Docker Hub 和 JFrog Artifactory 进行集成(通过存储库路径) 不受支持。

    4. 如果您设置了 JFrog Artifactory 注册表集成,请在“存储库路径”方法下拉列表中选择以下方法之一来访问 Docker:
      • 存储库路径
      • 子域
      • 端口
    5. 如果配置与 Sonatype Nexus Repository OSS 仓库的集成,请选择拉取模式:标记的镜像所有镜像。如果选择了所有镜像模式,解决方案将提取所有仓库镜像,无论它们是否有标签。未标记的镜像与内部版本哈希一起显示。
    6. 如果配置与 JFrog Artifactory、Harbor、GitLab Registry、Sonatype Nexus Repository OSS、Docker Registry 或者 Red Hat Quay 等仓库的集成,请输入直接指向容器仓库的仓库的完整 URL。我们建议使用 HTTPS 连接(也支持 HTTP 连接)。

      如果使用 HTTP 或者带自签名证书或无效证书的 HTTPS,则应在安装了服务器和扫描器的节点上选中 Docker 引擎的不安全仓库框。

    7. 如果配置与 JFrog Artifactory、Harbor、GitLab Registry、Sonatype Nexus Repository OSS 或者 Red Hat Quay 等仓库的集成,请输入指向仓库 API 的完整 URL。
    8. 选择一种身份验证方法并指定必要的数据,如下所示:
      • 如果您配置与 GitLab Registry 等仓库的集成,请选择使用帐户或访问令牌进行身份验证。
      • 如果您配置与 Yandex Registry 等仓库的集成,请选择使用 API 密钥(Yandex OAuth 令牌)或使用用户名和令牌进行身份验证。使用 Yandex OAuth 令牌时,为用户名指定oauth;使用 Yandex IAM 令牌时,为用户名指定iam
      • 对于 Sonatype Nexus Repository OSS 和 Docker Hub 等仓库,仅使用账户进行身份验证。
      • 对于像 Harbor 这样的仓库,只允许使用用户或机器人的账户进行身份验证。
      • 对于Docker Registry 这样的仓库,身份验证仅使用用户名和密码进行,用户名和密码由 Docker V2 API 提供。
      • 对于 Red Hat Quay 仓库,组织名称和访问令牌是唯一的身份验证方法。请在组织名称OAuth 令牌字段中指定这些参数。
      • 对于 Amazon Elastic Container 仓库,您可以通过指定地区、访问密钥 ID 和 Secret 访问密钥进行身份验证。

        地区字段中,您必须指定一个 Amazon Web Services 地区(例如, us-west-2 或 us-east-2)。

        对于访问密钥 ID访问密钥设置,您必须使用 AWS 管理控制台指定可以获取的值。

  3. 必要时,转到存储库缓存 选项卡并使用已禁用/已启用拨动开关来启用存储库缓存。如果缓存被禁用,则仅当使用搜索字段时才会显示仓库部分中的存储库和镜像。如果缓存已启用,解决方案将显示可用的存储库和镜像列表。默认储存库被禁用。

    启用存储库缓存可能影响卡巴斯基容器安全的性能。

  4. 转到镜像扫描详情选项卡并指定以下镜像扫描设置:
    • 对于此仓库的镜像的扫描超时(以分钟为单位)。默认扫描超时为 60 分钟。

      如果镜像扫描持续时间超过指定时间,扫描将停止,并且镜像将返回扫描队列。解决方案会将镜像重新排队最多 3 次。这意味着扫描仓库中镜像所需的时间可能会增加两倍。

      仓库的镜像拉取和扫描设置。默认情况下,在“拉取并扫描镜像”中已选择“手动”选项:镜像不会自动从仓库中拉取,但用户可以手动将镜像添加到镜像列表中进行扫描。新镜像会自动排队等待扫描。

      如果您希望自动从仓库中拉取镜像并使其排队等待扫描,请在“拉取并扫描镜像”中选择“自动”,并配置镜像拉取和扫描的设置。以下选项可用:

      • 扫描间隔(天)是供扫描的仓库的镜像拉取间隔(以天为单位)。默认设置为 1 天。
      • 扫描时间 (GMT) 是仓库中的镜像被扫描的时间。
      • 如有必要,每次扫描新镜像时选择复选框重新扫描之前拉取的镜像。
      • 如有必要,在高级设置下面,选择名称 / 标签标准复选框来使用镜像名称或标签样式指定想要拉取或扫描的镜像。如果选中此复选框,卡巴斯基容器安全将仅拉取与指定模式匹配的镜像并进行扫描。

        您可以使用以下模式:

        • 按镜像名称和标签 – <名称><:标签>
        • 仅按镜像名称 – <名称>
        • 仅按镜像标签 – <:标签>

        例如:

        • 对于 alpine 模式,所有名称为“alpine”的镜像都会被拉取,无论标签为何;
        • 对于 4 模式,所有带有标签 4 的镜像都会被拉取,无论镜像名称为何;
        • 对于 alpine:4 模式,所有名称为“alpine”且带有标签 4 的镜像都会被拉取。

        生成模式时,可以使用 * 字符来替代任意数量的字符。

        您可以添加一个或多个模式。

      • 选择附加条件之一拉取镜像:
        • 如果不需要附加条件,请选择“无附加条件
        • 如果您只想拉取在特定时间框架内创建的镜像,请选择此选项并在右侧的字段中指定时间段的持续时长和计量单位。默认情况下,期间为 60 天。
        • 如果您只想下载包含最新标签的镜像,从创建镜像的日期开始计数,选择此选项并在右侧的字段中指定想要考虑多少个每个仓库的最新标签。
      • 如有必要,在例外下面,选择或者清除复选框以指定镜像拉取的例外:
        • 从不拉取具有名称/标签模式的镜像 – 使用您可以指定的镜像名称/标签模式,这些镜像将从拉取和扫描中排除。
        • 始终拉取具有名称/标签模式的镜像 – 使用您可以指定的镜像名称/标签模式,始终拉取和扫描这些镜像,无论上面设置的其他条件如何。
  5. 单击“测试连接”以查看是否可以建立与仓库的连接。
  6. 单击窗口顶部的“保存”按钮保存仓库集成设置。

Red Hat Quay 仓库集成设置示例

{

"form": {

"registryName": "http://quay.io ",

"registryType": "quay",

"description": "Test",

"repositoryPathMode": "",

"registryUrl": "https://quay.io ",

"apiUrl": "https://quay.io ",

"authenticationType": "access_token",

"apiKey": "",

"username": "test-organization",

"accessToken": "{{quayIOToken}}",

"scanTimeout": 100,

"scheduleType": "manual",

"schedulePeriod": 2,

"scheduleTime": 10,

"rescanExistingImages": true,

"pullAndScanTags": [],

"additionalConditions": 0,

"imagesCreatedWithinType": "days",

"imagesCreatedWithinCount": 1,

"latestTagsCount": 5,

"neverPullTags": [],

"alwaysPullTags": [],

"cacheRebuildPeriod": 15

}

}

页首

[Topic 292566]

查看有关与仓库的集成的信息

您可以在“管理集成镜像仓库”部分中查看与卡巴斯基容器安全集成的所有仓库的列表表格。

该表显示有关集成仓库的以下信息:

  • 镜像仓库集成的名称。
  • 描述(如果在创建与镜像仓库的集成时曾指定)。
  • 已连接仓库的类型。
  • 仓库 URL。
  • 最后一次连接到镜像仓库的状态:成功错误。如果显示错误,解决方案还会显示连接错误的简要描述。

在表格中,您可以:

  • 添加新的仓库集成。单击表格上方的“添加仓库”以打开集成设置窗口。
  • 查看和修改仓库集成设置,包括镜像拉取和扫描设置。您可以单击仓库名称链接来打开编辑窗口。

    在此窗口中,您还可以单击“测试连接”以查看是否可以与仓库建立连接。

  • 删除与仓库的集成
页首

[Topic 274590]

删除与外部仓库的集成

要删除与外部仓库的集成:

  1. 在“管理集成镜像仓库”部分中,通过选中包含仓库名称的行中的复选框来选择要删除的集成。您可以选择一个或多个集成。
  2. 单击表格上方的删除

    选择一个或多个集成后, “删除”按钮将变为启用状态。

  3. 在打开的窗口中,确认删除。

卡巴斯基容器安全不会扫描不再与其集成的仓库中的镜像。

页首

[Topic 272923]

Harbor 集成

卡巴斯基容器安全与外部 Harbor 仓库的集成通过两种方式进行:

Harbor 将解决方案视为一个附加的外部扫描器,用于扫描对象中是否存在漏洞。与卡巴斯基容器安全的集成使用 Harbor 扫描器插件进行配置。该解决方案将这个自动创建的镜像仓库命名为Harbor External Integration,并使用 Harbor 图标(Harbor 仓库图标。)标记其所在的存储库。

此集成仍然是唯一自动创建的 Harbor 集成,并且分配给镜像仓库的名称无法更改。

要启动 Harbor 扫描进程,您需要知道卡巴斯基容器安全 API 的端点。

要通过 Harbor 请求创建集成,需要有在 CI/CD 中查看和配置扫描的权限。如果缺少这些权限,Harbor 将无法将解决方案连接为扫描仪并作为CI/CD 进程的一部分扫描对象。

页首

[Topic 273008]

根据 Harbor 请求创建集成

要通过 Harbor 请求创建仓库集成,您必须拥有具有管理员权限的 Harbor 帐户,以及在卡巴斯基 Container Security 中查看和配置 CI/CD 中的扫描的权限。如果没有这些权限,Harbor 将无法将该解决方案作为扫描仪连接。

要在请求 Harbor 时创建 Harbor 集成:

  1. 从 Harbor Web 界面左侧窗格的主菜单中,选择“管理”“询问服务”
  2. 单击新扫描仪按钮。
  3. 输入以下信息:
    • 在 Harbor 界面上显示的解决方案集成的唯一名称。
    • 如果有必要,正在被添加的外部扫描器的描述。
    • Harbor 显示的卡巴斯基容器安全 API 端点的地址。
  4. 授权下拉列表中,选择APIKey作为将仓库连接到解决方案时的授权方法。
  5. APIKey字段中,输入API 令牌的值

    如果 API 令牌发生变化,则必须在开始 Harbor 扫描之前指定其新值。如果未在 Harbor 中的外部扫描器设置中添加新的 API 令牌,则扫描失败。

  6. 选择跳过证书验证复选框以跳过证书验证。
  7. 如有必要,单击“测试连接”验证 Harbor 是否可以连接到解决方案。
  8. 单击“添加”创建集成。

管理询问服务扫描仪下的可用扫描仪列表中,Harbor 显示分配给 Harbor 中解决方案的名称。

如果新的扫描仪在 Harbor 中被指定为默认扫描仪或被分配给项目,则它将被用于扫描对象。这两个选项都需要在 Harbor 中进行额外配置。

扫描启动后,将在外部仓库中创建通过 Harbor 请求与解决方案的集成。卡巴斯基容器安全在管理集成镜像仓库部分的镜像仓库列表中,显示已创建的 Harbor External Integration 仓库。包含来自外部仓库的镜像的存储库标有Harbor图标 (Harbor 仓库图标。 )。在外部仓库中启动并运行另一次扫描后,Harbor External Integration 会进行更新。

您无法使用管理控制台中的添加镜像按钮将镜像添加到 Harbor 自动创建的镜像仓库中。

Harbor External Integration 扫描可以手动启动,也可以从外部仓库自动启动。您无法从卡巴斯基容器安全中的 Harbor 自动创建的镜像仓库中开始扫描或重新扫描镜像。

Harbor 外部集成仓库(以及作为与 Harbor 标准集成的一部分创建的仓库)根据适用的扫描器策略进行扫描。

在扫描结束时,解决方案会生成在扫描选定对象期间发现的漏洞的报告并将其发送给 Harbor。如果发送报告需要超过五秒(例如,由于网络连接质量),则在外部注册表界面中会显示接收扫描结果的错误。

页首

[Topic 273028]

查看和编辑 Harbor External Integration 设置

Harbor External Integration 镜像仓库显示在管理 → 集成镜像仓库部分中与卡巴斯基容器安全集成的注册表列表中

要更改 Harbor External Integration 设置:

  1. 管理 → 集成镜像仓库部分的镜像仓库列表中,选择 Harbor External Integration 仓库。
  2. 指定以下可配置设置的值:
    • 仓库详细信息选项卡上的描述
    • 镜像扫描详细信息选项卡上的扫描超时

    您不能更改其他 Harbor External Integration 注册表详细信息。

  3. 单击“保存”。
页首

[Topic 273010]

重新扫描

收到扫描结果后,无法将 Harbor External Integration 仓库中的对象发送给卡巴斯基容器安全进行重新扫描。重新扫描只能从 Harbor 发起。

如果您从卡巴斯基容器安全创建与 Harbor 的集成,并且创建的镜像仓库与 Harbor External Integration 类似,则以下规则将被应用于重新扫描:

  • 扫描解决方案中创建的仓库中的对象不会触发 Harbor External Integration 中重新扫描。
  • 扫描 Harbor External Integration 中的对象不会触发在解决方案中创建的仓库中重新扫描。
页首

[Topic 267228]

与 CI/CD 的集成

卡巴斯基容器安全性允许您在 CI/CD 流程中扫描驻留在代码存储库管理系统中的容器和 IaC 的镜像,以检测漏​​洞、恶意软件、错误配置和暴露的敏感数据。

在存储库管理系统的项目构建阶段,您可以运行卡巴斯基容器安全扫描器来检查存储库中的对象是否符合已启用的安全策略。扫描器通过代理(例如 GitLab 中的 GitLab Runner)从仓库启动。有关扫描作业和发送扫描结果的的数据通过应用程序编程接口 (API) 转发。

在项目构建阶段运行对象扫描时,必须确保在应用的保障策略的设置中未选择“使 CI/CD 失效”步骤。如果激活此设置,解决方案将在扫描期间通知您出错。

扫描结果显示在“清单CI/CD在 CI/CD 中扫描”部分的镜像列表中。

对于表中的每个对象,卡巴斯基容器安全都显示以下内容:

  • 上次扫描的日期和时间。
  • 名称。
  • 风险评级。
  • 摘要扫描结果,指示与漏洞、恶意软件、敏感数据和错误配置相关的已识别对象。
  • 构件类型。
  • 在其中扫描镜像的构建的编号和管道。

在“资源CI/CD → 在 CI/CD 中扫描”部分中,还可以生成有关在 CI/CD 进程内扫描的镜像的报告。

仅针对镜像构件类型的对象生成报告。在此部分中,无法为其他类型的构件生成报告。

本节帮助内容

在 CI/CD 过程中扫描镜像

配置与 GitLab CI/CD 的集成

配置与 Jenkins CI/CD 的集成

配置与 TeamCity CI/CD 的集成

定义容器镜像的路径

监控镜像的完整性和来源

在 SBOM 模式下运行扫描器

在精简版 SBOM 模式下运行扫描器

获取 JSON 或 HTML 格式的扫描结果

开始扫描时指定 Secret

页首

[Topic 296997]

在 CI/CD 过程中扫描镜像

卡巴斯基容器安全允许您扫描 CI/CD 中使用的镜像。要从 CI/CD 扫描镜像,您应该配置卡巴斯基容器安全与 CI/CD 过程的集成。

通过监听和拦截网络流量获得的数据必须在 CI/CD 环境和解决方案之间安全传输。

要扫描 CI/CD 过程中使用的镜像或存储库(为了扫描配置文件),请向运行卡巴斯基容器安全扫描器的 CI/CD 管道添加一个阶段。

要从 CI/CD 扫描镜像,请在用于集成存储库的配置文件中,指定扫描器的 API_BASE_URL( 卡巴斯基容器安全 API 服务器的网址)和 API_TOKEN(用于访问卡巴斯基容器安全 API 的令牌)环境变量。您还必须指定API_CA_CERT(用于验证 API 解决方案的主机服务器的证书)或SKIP_API_SERVER_VALIDATION=true以跳过此扫描。

扫描结果将被转发到服务器并显示在管理控制台的“资源CI/CD”部分中。提供的表格会列出被扫描的镜像,显​示风险评估的结果,并指示检测到的漏洞。

您可以单击镜像名称链接来打开包含镜像扫描结果详细信息的页面。此页面类似于显示仓库镜像扫描结果的页面

卡巴斯基容器安全还显示每个对象的构件的类型。使用两种主要构件:

  • 文件系统是包含配置文件的存储库。
  • 容器镜像是用于容器运行时实现的模板。

对于每个扫描对象,您可以指定内部版本编号(BUILD_NUMBER)和内部版本

BUILD_PIPELINE)。这些参数可用于确定对象失效的具体阶段。

对于 CI/CD 镜像,不提供重新扫描。

卡巴斯基容器安全在 CI/CD 中执行以下类型的扫描:

  • 扫描镜像仓库中的镜像。该解决方案在成功内部版本后运行扫描并将镜像保存到镜像仓库中。
  • 扫描 TAR 存档中的镜像。TAR 存档存储为内部版本构件,解决方案将在下一个构建管道中扫描该构件。
  • 扫描 Git 存储库,可以通过以下方式之一执行:
    • 针对 Git 存储库中的项目分支(单个开发路径)
    • 针对提交(项目时间线中的状态快照或检查点)

要扫描镜像仓库的镜像:

运行以下格式的命令来启动扫描:

/scanner [TARGET] --stdout

其中:

  • <TARGET> – 注册表中映像的完整地址。
  • <--stdout> 是到安全事件日志的输出。

要访问注册表,您必须在环境变量中设置登录名COMPANY_EXT_REGISTRY_USERNAME和密码(令牌)COMPANY_EXT_REGISTRY_PASSWORD
要使用证书与注册表建立安全连接,您必须在 COMPANY_EXT_REGISTRY_TLS_CERT 环境变量中将证书详细信息指定为 .PEM 格式的以下字符串: -----BEGIN CERTIFICATE-----\n... 证书数据 > ...\n-----END CERTIFICATE-----

GitLab CI/CDJenkins CI/CD中扫描镜像的示例。

要从 TAR 存档扫描镜像:

  1. 使用任何用于创建容器化镜像的应用程序构建镜像并将其保存为 TAR 存档。
  2. 运行以下格式的命令来启动扫描:

    /scanner [TARGET] --file --stdout

    其中:

    • <TARGET> – 包含要扫描的镜像的文件的路径。
    • <--file> – 表示扫描TARGET文件的标志。
    • <--stdout> 是到安全事件日志的输出。

    包含用于扫描 TAR 存档的设置的配置文件示例

    stages:

    - build_tar

    - scan_tar

    - push_image

    build_tar:

    stage: build_tar

    tags:

    - k8s

    - docker

    image:

    name: gcr.io/kaniko-project/executor:v1.9.0-debug

    entrypoint: [""]

    dependencies:

    - scan_source_branch

    - scan_source_commit

    script:

    - mkdir -p /kaniko/.docker

    - echo "${DOCKER_AUTH_CONFIG}" > /kaniko/.docker/config.json

    - /kaniko/executor

    --context "${CI_PROJECT_DIR}"

    --dockerfile "${CI_PROJECT_DIR}/Dockerfile"

    --destination "${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}"

    --compressed-caching=false

    --build-arg GITLAB_USER=gitlab-ci-token

    --build-arg GITLAB_TOKEN=${CI_JOB_TOKEN}

    --no-push

    --tarPath=image.tar

    artifacts:

    paths:

    - image.tar

    expire_in: 2 hours

    scan_tar:

    stage: scan_tar

    tags:

    - k8s

    - docker

    dependencies:

    - build_tar

    image:

    name: "company.gitlab.cloud.net:5050/companydev/example/scanner:master-with-db"

    pull_policy: always

    entrypoint: [""]

    variables:

    API_BASE_URL: ${API_BASE_URL}

    API_TOKEN: ${API_TOKEN}

    API_CA_CERT: ${KCS_CA_CERT}

    script:

    - /scanner image.tar --file --stdout

    artifacts:

    paths:

    - image.tar

    expire_in: 2 hours

    push_image:

    stage: push_image

    tags:

    - k8s

    image:

    name: gcr.io/go-containerregistry/crane:debug

    entrypoint: [""]

    dependencies:

    - scan_tar

    script:

    - mkdir -p $HOME/.docker

    - echo "${DOCKER_AUTH_CONFIG}" > $HOME/.docker/config.json

    - /ko-app/crane push image.tar "${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}"

要扫描 Git 存储库:

  1. 在 Git 存储库的配置文件中,在环境变量中指定用于访问存储库的令牌(GITHUB_TOKENGITLAB_TOKEN)。
  2. 运行以下格式的命令来启动扫描:

    /scanner [TARGET] --repo [--branch BRANCH] [--commit COMMIT] --stdout

    其中:

    • <TARGET> – Git 存储库的网址 (URL)。
    • <--repo> – 表示扫描TARGET文件的标志。
    • <--branch BRANCH> – 要扫描的存储库的分支。
    • <--commit COMMIT> – 要扫描的提交所对应的哈希值。
    • <--stdout> 是到安全事件日志的输出。

    带环境变量的配置文件示例,用于从 Git 存储库扫描镜像

    stages:

    - scan_source_branch

    - scan_source_commit

    scan_source_branch:

    stage: scan_source_branch

    image:

    name: "company.gitlab.cloud.net:5050/companydev/example/scanner:master-with-db"

    pull_policy: always

    entrypoint: [""]

    tags:

    - k8s

    - docker

    variables:

    API_BASE_URL: ${API_BASE_URL}

    API_TOKEN: ${API_TOKEN}

    API_CA_CERT: ${KCS_CA_CERT}

    script:

    - GITLAB_TOKEN=${CI_JOB_TOKEN} /scanner --repo ${CI_REPOSITORY_URL} --branch ${CI_COMMIT_BRANCH} --stdout

    scan_source_commit:

    stage: scan_source_commit

    image:

    name: "company.gitlab.cloud.net:5050/companydev/example/scanner:master-with-db"

    pull_policy: always

    entrypoint: [""]

    tags:

    - k8s

    - docker

    variables:

    API_BASE_URL: ${API_BASE_URL}

    API_TOKEN: ${API_TOKEN}

    API_CA_CERT: ${KCS_CA_CERT}

    script:

    - GITLAB_TOKEN=${CI_JOB_TOKEN} /scanner --repo ${CI_REPOSITORY_URL} --commit ${CI_COMMIT_SHA} --stdout

扫描结果可以在“资源CI/CD”中查看,或以 .SPDX、.JSON 和 .HTML 格式下载。

页首

[Topic 297122]

配置与 GitLab CI/CD 的集成

此示例使用特定的扫描器镜像,其内置漏洞数据库位于卡巴斯基容器安全制造商的镜像仓库中。

要在 GitLab CI/CD 过程中使用镜像扫描功能,您应该启用 GitLab 容器仓库

集成配置包括以下步骤:

  1. 对卡巴斯基容器安全制造商的镜像仓库中的 GitLab CI/CD 授权。
    1. 在集群操作员的工作站上,运行以下命令准备授权数据的 Base64 哈希:

      printf "login:password" | openssl base64 -A

      其中 login 和 password 是卡巴斯基容器安全制造商的镜像仓库中账户的用户名和密码。

    2. 在 GitLab CI/CD 环境变量中,创建 DOCKER_AUTH_CONFIG 变量(在 GitLab 存储库中选择“设置 → CI/CD”,单击“展开”按钮展开变量 ,然后单击“添加变量”按钮)。
    3. 按以下形式指定变量:

      {

      "auths": {

      "repo.cloud.example.com": {

      "auth": "base64hash"

      }

      }

      }

      其中 base64hash 是步骤 1a 中获得的字符串。

  2. 将数据发送到卡巴斯基容器安全时对来自 GitLab CI/CD 的请求进行授权。
    1. 复制“我的个人资料”页面上的 API 令牌。
    2. 在 .gitlab-ci.yml 配置文件的 API_TOKEN 变量中指定复制的 API 令牌值。
  3. 将镜像扫描阶段添加到 CI/CD 过程中。

    要将扫描添加到 CI/CD 管道,您应该将以下行添加到 .gitlab-ci.yml 文件中:

    1. 在代码构建阶段后,按以下形式添加有关包含漏洞和其他恶意对象数据库的扫描器镜像的信息:

      scan_image:

      stage: scanner

      image:

      name: repo.cloud.example.com/repository/company/scanner:v2.0-with-db

      entrypoint: [""]

      pull_policy: always

      我们建议始终指定 pull_policy 参数,以便在每次扫描时接收包含更新的漏洞和其他恶意对象数据库的相关构建。

    2. 指定用于对卡巴斯基容器安全的 CI/CD 扫描器请求进行授权的标签、内部版本 ID、管道 ID 和 API 令牌,如下所示:

      SCAN_TARGET: ${CI_REGISTRY_IMAGE}:master

      BUILD_NUMBER: ${CI_JOB_ID}

      BUILD_PIPELINE: ${CI_PIPELINE_ID}

      API_TOKEN: <API 令牌值>

      下面的示例包含master(主)标签,您还可以指定其他标签。

    3. 如果为私有存储库配置扫描,请指定授权数据以确保扫描器能够访问镜像。授权数据可以设置为变量

      COMPANY_EXT_REGISTRY_USERNAME: ${COMPANY_EXT_REGISTRY_USERNAME}

      COMPANY_EXT_REGISTRY_PASSWORD: ${COMPANY_EXT_REGISTRY_PASSWORD}

    4. 要使用证书与注册表建立安全连接,请将COMPANY_EXT_REGISTRY_TLS_CERT环境变量中的证书数据指定为 .PEM 格式的字符串:

      -----BEGIN CERTIFICATE-----\n... <证书详细信息> ...\n-----END CERTIFICATE-----.

    5. 指定以下用于通过代理服务器进行通信的参数:

      HTTP_PROXY<用于 HTTP 请求的代理服务器>

      HTTPS_PROXY<用于 HTTPS 请求的代理服务器>

      NO_PROXY<要从代理范围排除的域或合适的域掩码>

    6. 如需要,请指定一个变量,以使用入口控制器的 CA 证书检查 CI/CD 中的数据接收服务器:
      API_CA_CERT: ${KCS_CA_CERT}

      Ingress 控制器的 CA 证书在文本字段中指定为 .PEM 格式的字符串:

      ----- BEGIN CERTIFICATE ----- \n... <certificate details> ...\n ----- END CERTIFICATE -----

      如果未设置 API_CA_CERT 变量,则扫描将会开始但无法完成。

      使用入口控制器的 CA 证书,可以让在 CI/CD 中运行的扫描器验证数据接收服务器的真实性。

      如果您使用自签名证书,或者想要跳过使用入口控制器的 CA 证书检查数据接收服务器这一步骤,请指定变量的值以跳过检查,如下所示:

      SKIP_API_SERVER_VALIDATION: 'true'

    7. 指定卡巴斯基容器安全的 API 主机服务器的网址:

      API_BASE_URL<网址>

      variables:

      API_BASE_URL: ${API_BASE_URL}

      script:

      - /bin/sh /entrypoint.sh $SCAN_TARGET --stdout > artifact-result.json

      artifacts:

      paths:

      - artifact-result.json

配置与外部仓库的集成后,您可以在 CI/CD 过程中扫描镜像,包括在 SBOM 模式下扫描。扫描结果可以在“资源CI/CD”中查看,或以 .SPDX、.JSON 和 .HTML 格式下载。

页首

[Topic 297198]

配置与 Jenkins CI/CD 的集成

配置与 Jenkins CI / CD 的集成包括以下步骤:

  1. 对卡巴斯基容器安全制造商镜像仓库中的 Jenkins CI/CD 授权。为此,在集群操作员的工作站上,运行以下命令以准备授权数据的 Base64 哈希:

    printf "login:password" | openssl base64 -A

    其中 login 和 password 是卡巴斯基容器安全制造商的镜像仓库中账户的用户名和密码。

  2. 卡巴斯基容器安全 API 授权。要执行授权,请完成以下步骤:
    1. 复制“我的个人资料”页面上的 API 令牌。
    2. 在 Jenkinsfile 配置文件的 API_TOKEN 变量中指定复制的 API 令牌值。
  3. 使用 Ingress 控制器的 CA 证书对 CI/CD 中的数据接收服务器进行身份验证。要执行身份验证,请在 Jenkinsfile 配置文件中指定以下变量之一:
    1. -e API_CA_CERT=${KCS_CA_CERT}表示身份验证已执行,并且在 CI/CD 中启动的扫描器可以确保接收服务器是真实的。
    2. -e SKIP_API_SERVER_VALIDATION=true表示不使用 Ingress 控制器的 CA 证书对接收服务器进行身份验证。
  4. 创建 Jenkins 环境变量。

    要创建环境变量,请将以下行添加到 Jenkinsfile:

    1. 添加扫描器所在容器仓库的信息,如下所示:

      LOGIN:扫描器仓库中的账户名称

      PASS:扫描器仓库的密码

    2. 如果为私有存储库配置扫描,请指定以下授权数据,以确保扫描器能够访问镜像:

      COMPANY_EXT_REGISTRY_USERNAME:扫描镜像仓库的账户名称

      COMPANY_EXT_REGISTRY_PASSWORD:扫描镜像仓库的密码

    3. 要使用证书与注册表建立安全连接,请将COMPANY_EXT_REGISTRY_TLS_CERT环境变量中的证书数据指定为 .PEM 格式的字符串:

      -----BEGIN CERTIFICATE-----\n... <证书详细信息> ...\n-----END CERTIFICATE-----.

    4. 指定以下用于通过代理服务器进行通信的变量:

      HTTP_PROXY<用于 HTTP 请求的代理服务器>

      HTTPS_PROXY<用于 HTTPS 请求的代理服务器>

      NO_PROXY<要从代理范围排除的域或合适的域掩码>

  5. 添加信息以启动扫描器。对于有关启动包含漏洞和其他恶意对象数据库的扫描器的信息,请以声明式或脚本式管道的形式将其添加到 Jenkinsfile 配置文件中。

    以声明式管道形式添加有关启动扫描器的信息的示例

    pipeline {

    agent any

    stages {

    stage('run scanner') {

    steps {

    sh 'docker login -u ${LOGIN} -p ${PASS} company.example.com'

    sh 'docker run -e API_BASE_URL=https://kcs.cust02.int.example.com/ -e SKIP_API_SERVER_VALIDATION=true -e API_TOKEN=${API_TOKEN} -e COMPANY_EXT_REGISTRY_USERNAME=${COMPANY_EXT_REGISTRY_USERNAME} -e COMPANY_EXT_REGISTRY_PASSWORD=${COMPANY_EXT_REGISTRY_PASSWORD} company.example.com:5050/company/kcs/scanner:v2.0.0-with-db jfrog.company.com/demo-kcs/bad:bad-project-test --html --stdout > result.html'

    }

    }

    }

    }

    以脚本式管道形式启动扫描器的数据的示例

    node {

    stage ('run scanner') {

    sh 'docker login -u ${LOGIN} -p ${PASS} company.example.com'

    sh 'docker run -e API_BASE_URL=https://kcs.cust02.int.company.com/ -e API_CA_CERT=${KCS_CA_CERT} -e API_TOKEN=${API_TOKEN} -e COMPANY_EXT_REGISTRY_USERNAME=${COMPANY_EXT_REGISTRY_USERNAME} -e COMPANY_EXT_REGISTRY_PASSWORD=${COMPANY_EXT_REGISTRY_PASSWORD} company.example.com:5050/company/kcs/scanner:v2.0.0-with-db jfrog.company.com/demo-kcs/bad:bad-project-test --html --stdout > result.html'

    }

    }

  6. 生成用于下载的构件。

    您可以生成 .HTML 或 .JSON 格式的下载构件,以接收扫描结果。您可以在 --stout 中指定构件格式,如下所示:

    pipeline {

    agent any

    stages {

    stage('run scanner') {

    steps {

    sh 'docker login -u ${LOGIN} -p ${PASS} company.example.com'

    sh 'docker run -e API_BASE_URL=https://kcs.int.company.com -e SKIP_API_SERVER_VALIDATION=true -e API_TOKEN=${API_TOKEN} -e COMPANY_EXT_REGISTRY_USERNAME=${COMPANY_EXT_REGISTRY_USERNAME} -e COMPANY_EXT_REGISTRY_PASSWORD=${COMPANY_EXT_REGISTRY_PASSWORD} company.example.com:5050/company/kcs/scanner:v2.0.1-lite jfrog.company.com/demo-kcs/bad:bad-project-test --html --stdout > result.html'

    }

    }

    stage('archive') {

    steps {

    archiveArtifacts artifacts: 'result.html'

    }

    }

    }

    }

    要生成 .JSON 格式的构件,请重写上方示例中的“--html --stdout> result.html”行,如下所示:

    --stdout > result.json'

    并在 archiveArtifacts artifacts 行中,以定义的格式指定文件名:“result.json”。

    扫描结果能以您指定的格式获取,也可以在“资源CI/CD”部分查看。

页首

[Topic 297409]

配置与 TeamCity CI/CD 的集成

要配置与 TeamCity CI/CD 的集成:

  1. 复制“我的个人资料”页面上的 API 令牌以在 TeamCity 中授权卡巴斯基容器安全 API
  2. 在 TeamCity 网络界面的设置菜单中,选择构建配置主页参数
  3. 单击添加新参数以添加以下环境变量的值:
    • API_TOKEN – 指定复制的卡巴斯基容器安全 API 令牌的值。
    • API_BASE_URL – 指定卡巴斯基容器安全的 URL。
    • RUST_BACKTRACE – 如有必要,请指定full以使用回溯。
    • SKIP_API_SERVER_VALIDATION – 如果您使用自签名证书或者需要使用 Ingress 控制器的 CA 证书跳过接收服务器的身份验证,请指定 true
    • COMPANY_EXT_REGISTRY_USERNAME – 指定扫描镜像注册表中的账户名称。
    • COMPANY_EXT_REGISTRY_PASSWORD – 指定扫描镜像的注册表密码。
    • COMPANY_EXT_REGISTRY_TLS_CERT – 指定用于与注册表进行安全连接的证书的详细信息。

      证书详细信息以 .PEM 格式的字符串指定:
      -----BEGIN CERTIFICATE-----\n... 证书详细信息> ...\n-----END CERTIFICATE-----

    • HTTP_PROXY – 用于 HTTP 请求的代理服务器
    • HTTPS_PROXY – 用于 HTTPS 请求的代理服务器
    • NO_PROXY – 要从代理范围中排除的域或适当的域掩码
  4. 转到构建配置主页构建步骤:命令行部分,然后单击添加构建步骤以添加构建步骤
  5. 在打开的窗口中,指定以下构建步骤设置:
    • Runner type 下拉列表中,选择命令行
    • 运行下拉列表中,选择自定义脚本
    • 自定义脚本字段中,指定用于扫描的容器的路径(例如,/bin/sh /entrypoint.sh nginx:latest)。
  6. Docker 设置下,指定以下设置:
    • Docker 容器字段内的运行步骤中,指定扫描器在 Docker 仓库中的地址。例如,company.gitlab.cloud.net:5050/companydev/example/scanner:v2.0.0-with-db
    • 其他 docker run 参数字段中,将权限值增加为--privileged
  7. 单击“保存”以保存设置。
  8. 单击页面右上角的运行开始构建。
  9. 如有必要,请下载扫描结果构件,该工件可在 TeamCity Web 界面的构建扫描结果页面的构件选项卡上找到。
页首

[Topic 265788]

定义容器镜像的路径

要开始扫描,解决方案需要确定需要扫描的容器镜像的路径。容器镜像的路径可以通过两种方式指定:

  • 在仓库名称、存储库名称和镜像名称后面指定镜像标签。标签是镜像的可更改且易于阅读的描述。

    在本例中,路径如下所示:<仓库>/<存储库>/<镜像名称>:<标签>。例如,http://docker.io/library/nginx:1.20.1

  • 在仓库名称、存储库和镜像名称后面指定镜像摘要。摘要是镜像的一个不可或缺的内部属性,具体来说,是其内容的哈希(使用 SHA256 哈希算法)。

    使用摘要时,路径的构成如下:<仓库>/<存储库>/<镜像名称><摘要>。例如,http://docker.io/library/nginx@sha256:af9c...69ce

一个标签可以匹配不同的摘要,而每个镜像的摘要都是唯一的。

根据用于指定镜像路径的方法,卡巴斯基容器安全在扫描前执行以下操作之一:

  • 将标签转换为可信摘要。
  • 检查镜像路径中指定的摘要是否可信。对于使用哈希算法编码的对象,如果在维持所需保护时,摘要可确保所需的置信度,则该摘要被视为可信。

只有可信摘要会发送到容器运行时。

在运行容器之前,会将镜像的内容与收到的摘要进行比较。为了确认摘要为可信并且镜像未损坏,卡巴斯基容器安全会检查镜像签名的完整性和真实性

页首

[Topic 263762]

监控镜像的完整性和来源

扫描 CI/CD 中的镜像时,卡巴斯基容器安全可在仓库级别防止镜像欺骗。从 CI 的构建阶段开始,通过验证镜像签名来控制部署在编排器集群中的容器镜像的完整性和来源。

镜像完整性监控分两个阶段:

  • 创建容器镜像后对其进行签名。此过程使用外部签名应用程序实现。
  • 部署镜像之前检查镜像签名。

    解决方案保存了一个基于 SHA256 哈希函数的签名密钥,并用作签名验证的代码。在编排器中部署时,卡巴斯基容器安全会要求签名服务器确认签名的真实性。

卡巴斯基容器安全按如下方式检查镜像签名:

  1. 在“管理集成镜像签名验证器”部分中,可以配置将解决方案与外部镜像签名验证应用程序集成的设置。
  2. 在“策略运行时策略策略”部分中,添加运行时策略来保护镜像的内容。该运行时策略会验证签名的真实性。数字签名根据配置的镜像签名验证器进行验证。
  3. 编排器启动镜像部署,并使用向代理 (kube-agent) 发出部署请求。

    要将请求发送到卡巴斯基容器安全代理,请在 values.yaml 配置文件中配置动态准入控制器。

  4. 根据适用的运行时策略,代理会检查在“管理集成镜像签名验证器”部分中配置的签名验证设置。
  5. 如果检查确认签名的真实性和有效性,解决方案将允许镜像部署。否则,部署将被阻止。
页首

[Topic 297411]

在 SBOM 模式下运行扫描器

卡巴斯基容器安全可在

模式下启动扫描器来检查镜像中是否存在漏洞。在这种情况下,解决方案将扫描专门创建的 SBOM 文件而不是 TAR 存档。

使用 SBOM 的优势如下:

  • 扫描镜像是否存在漏洞所需的资源更少。
  • 由于正确操作的自动验证和解决方案组件的正确使用,减少了扫描时间。
  • 能够扫描镜像中的所有现有漏洞,无一例外。
  • 扫描结果可靠性高。

在 CI/CD 中,扫描过程包括两个阶段:接收 SBOM 文件和根据收到的 SBOM 文件扫描镜像。镜像扫描过程实现如下:

  • CI/CD 扫描器生成镜像组件列表,并将生成的构件发送到卡巴斯基容器安全。
  • 使用镜像处理程序,解决方案将收到的 SBOM 文件转发到扫描器进行扫描。

    为了在 SBOM 模式下进行扫描,卡巴斯基容器安全会运行一个带有预装数据库的扫描器,该数据库包含关于漏洞和其他恶意对象的信息(scanner:v2.0-with-dbscanner:v2.0-with-db-java)。

要在 CI/CD 中进行镜像扫描,您必须在文件中指定以下环境变量的值:

  • API_TOKEN – 指定卡巴斯基容器安全 API 令牌的值。
  • API_BASE_URL – 指定卡巴斯基容器安全 URL。
  • API_CA_CERT – 指定 Ingress 控制器的的 CA 证书详细信息,可以让在 CI/CD 中运行的扫描器验证数据接收服务器的真实性。如果您使用自签名证书,或者想要跳过使用 Ingress 控制器的 CA 证书检查数据接收服务器这一步骤,用以跳过检查的变量的值提供如下:

    SKIP_API_SERVER_VALIDATION: 'true'

  • COMPANY_EXT_REGISTRY_USERNAME – 指定扫描镜像注册表中的账户名称。
  • COMPANY_EXT_REGISTRY_PASSWORD – 指定扫描镜像的注册表密码。
  • COMPANY_EXT_REGISTRY_TLS_CERT – 指定用于与注册表进行安全连接的证书的详细信息。

    证书详细信息以 .PEM 格式的字符串指定:
    -----BEGIN CERTIFICATE-----\n... 证书详细信息> ...\n-----END CERTIFICATE-----

  • HTTP_PROXY – 用于 HTTP 请求的代理服务器
  • HTTPS_PROXY – 用于 HTTPS 请求的代理服务器
  • NO_PROXY – 要从代理范围中排除的域或适当的域掩码

对于后续扫描,卡巴斯基容器安全会生成 CycloneDX 格式的报告。您还可以生成一个包含 SBOM 的构件,以便在 CI/CD 过程中以

格式进行下载。

要在扫描器执行 SBOM 创建时生成 .SPDX 格式的 SBOM 文件:

在 .gitlab-ci.yml 配置文件中输入以下命令:

- /bin/sh /entrypoint.sh $SCAN_TARGET --sbom --spdx --stdout > example.spdx

其中:

<--sbom-json> 指示创建 SBOM 文件。

<--spdx> 指示以 .SPDX 格式生成构件。

<--stdout > example.spdx> 指示数据输出到 .SPDX 格式的文件。

要在扫描器执行 SBOM 创建时生成 .СDX 格式的 SBOM 文件:

在 .gitlab-ci.yml 配置文件中输入以下命令:

- /bin/sh /entrypoint.sh $SCAN_TARGET --sbom --cdx --stdout > example.cdx.json

其中:

<--sbom-json> 指示创建 SBOM 文件。

<--cdx> 指示以 .CDX 格式生成构件。

<--stdout > example.cdx.json> 指示数据输出到 .JSON 格式的文件。

生成的文件(例如 example.cdx.json)被指定为构件:artifacts: paths:

使用 SBOM 文件进行扫描仅适用于扫描镜像是否存在漏洞的情况。如果您的 CI/CD 过程需要扫描其他风险和威胁(例如错误配置),则除了 SBOM 文件之外,还必须单独运行相应的扫描并将其结果添加到镜像处理程序中。

页首

[Topic 297412]

在精简版 SBOM 模式下运行扫描器

卡巴斯基容器安全可在精简版 SBOM 模式下启动扫描器来检查镜像中是否存在漏洞。在这种情况下,解决方案会扫描专门创建的 SBOM 文件,并且该扫描结果在 CI/CD 阶段可用。

通过监听和拦截网络流量获得的数据必须在 CI/CD 环境和解决方案之间安全传输。

您可以生成一个构件,用于以 .SPDX、.HTML、.JSON 或 .CDX 格式进行下载,从而获取结果。

在 GitLab 中运行扫描器

要在 GitLab 中精简版 SBOM 模式下启动扫描器,需在 CI/CD 进程中配置镜像扫描时编辑 .gitlab-ci.yml 配置文件,如下所示:

  1. 添加在 CI/CD 中启动用于镜像扫描的扫描器的镜像相关信息,如下所示:

    scan_image:

    stage: scanner

    image:

    name:repo.cloud.example.com/repository/company/scanner:v.2.0-lite

    entrypoint: [""]

    pull_policy: always

  2. 指定编排平台标签,如下所示:

    k8s

    在提供的示例中,为 Kubernetes 指定了 k8s 标签,您也可以为其他受支持的编排平台指定标签。

  3. 指定内部版本 ID、扫描镜像的镜像仓库数据和用于安全连接到此仓库的证书、管道 ID 和授权来自卡巴斯基容器安全中的 CI/CD 扫描程序的请求的 API 令牌等变量,如下所示:

    SCAN_TARGET: ${CI_REGISTRY_IMAGE}:master

    COMPANY_EXT_REGISTRY_USERNAME: ${COMPANY_EXT_REGISTRY_USERNAME}

    COMPANY_EXT_REGISTRY_PASSWORD: ${COMPANY_EXT_REGISTRY_PASSWORD}

    COMPANY_EXT_REGISTRY_TLS_CERT: ${COMPANY_EXT_REGISTRY_TLS_CERT}

    BUILD_NUMBER: ${CI_JOB_ID}

    BUILD_PIPELINE: ${CI_PIPELINE_ID}

    API_TOKEN: <API 令牌值>

    HTTP_PROXY<用于 HTTP 请求的代理服务器>

    HTTPS_PROXY<用于 HTTPS 请求的代理服务器>

    NO_PROXY<要从代理范围排除的域或合适的域掩码>

    COMPANY_EXT_REGISTRY_TLS_CERT变量中用于与镜像仓库进行安全连接的证书的详细信息以 .PEM 格式的字符串指定:
    -----BEGIN CERTIFICATE-----\n... 证书详细信息> ...\n-----END CERTIFICATE-----

  4. 如需要,请指定一个变量,以使用入口控制器的 CA 证书检查 CI/CD 中的数据接收服务器:

    API_CA_CERT: ${KCS_CA_CERT}

    如果未设置 API_CA_CERT 变量,则扫描将会开始但无法完成。

  5. 指定卡巴斯基容器安全的 API 主机服务器的网址:

    API_BASE_URL: <网址>

  6. 指定在扫描器用以下其中一种受支持的格式启动时创建构件的命令:
    • 要生成 .JSON 格式的构件:

      script:

      - /bin/sh /entrypoint.sh $SCAN_TARGET --stdout > artifact-result.json

      artifacts:

      paths:

      - artifact-result.json

    • 要生成 .HTML 格式的构件:

      script:

      - /bin/sh /entrypoint.sh $SCAN_TARGET --html --stdout > artifact-result.html

      artifacts:

      paths:

      - artifact-result.html

    • 要生成 .SPDX 格式的 SBOM 构件:

      script:

      - /bin/sh /entrypoint.sh $SCAN_TARGET --spdx --stdout > artifact-result.spdx

      artifacts:

      paths:

      - artifact-result.spdx

    • 要生成 .JSON 格式的 SBOM 构件:

      script:

      - /bin/sh /entrypoint.sh $SCAN_TARGET --cdx --stdout > artifact-result.cdx.json

      artifacts:

      paths:

      - artifact-result.cdx.json

有关将扫描器配置为在 GitLab 中精简版 SBOM 模式下运行并以 .HTML 格式生成构件的示例

scan_image:

stage: scanner

image:

name: repo.cloud.example.com/repository/company/scanner:v.2.0-lite

entrypoint: [""]

pull_policy: always

tags:

- k8s

variables:

SCAN_TARGET: ${CI_REGISTRY_IMAGE}:master

COMPANY_EXT_REGISTRY_USERNAME: ${COMPANY_EXT_REGISTRY_USERNAME}

COMPANY_EXT_REGISTRY_PASSWORD: ${COMPANY_EXT_REGISTRY_PASSWORD}

BUILD_NUMBER: ${CI_JOB_ID}

BUILD_PIPELINE: ${CI_PIPELINE_ID}

API_CA_CERT: ${KCS_CA_CERT}

API_TOKEN: <API 令牌值>

# Demostand KCS.int API:

API_BASE_URL: <网址>

script:

- /bin/sh /entrypoint.sh $SCAN_TARGET --html --stdout > artifact-result.html

artifacts:

paths:

- artifact-result.html

在 Docker 中运行扫描器

要在 Docker 中以精简版 SBOM 模式启动扫描器:

  1. 指定卡巴斯基容器安全的 API 主机服务器的网址:

    -e API_BASE_URL=https://company.local

  2. 指定变量的值以跳过使用 Ingress 控制器的 CA 证书检查数据接收服务器:

    -e SKIP_API_SERVER_VALIDATION=true

  3. 指定用于对卡巴斯基容器安全的 CI/CD 扫描器请求进行授权的 API 令牌,如下所示:

    -e API_TOKEN=<API 令牌值>

  4. 指定要启动扫描器的数据:

    repo.kcs.company.com/images/scanner:v2.0-lite

  5. 如果需要生成可供下载的构件,请指定以下内容:

    - <工件格式> --stdout> result. <文件格式>

    例如:

    --html --stdout > result.html

  6. Enter键启动扫描器。

    如果在调用扫描仪时出现域名解析错误(Name does not resolve(名称无法解析)),则必须在组织的内部 DNS 服务器之前指定 API_BASE_URL 变量之前的地址。例如:

    --dns 10.0.xx.x

    API_BASE_URL: https://company.local/

有关将扫描器配置为在 Docker 中精简版 SBOM 模式下运行并以 .JSON 格式生成构件的示例

pipeline {

agent any

stages {

stage('run scanner') {

steps {

$ 'docker login -u ${LOGIN} -p ${PASS} company.example.com'

$ 'docker run --dns 10.0.10.10 -e API_BASE_URL=https://kcs.int.company.com -e SKIP_API_SERVER_VALIDATION=true -e API_TOKEN=${API_TOKEN} repo.kcs.company.com/images/scanner:v2.0-lite alpine:latest --stdout > result.json'

}

}

stage('archive') {

steps {

archiveArtifacts artifacts: 'result.json'

}

}

}

}

扫描结果能以您指定的格式获取,也可以在"资源CI/CD“部分查看。

页首

[Topic 265362]

获取 JSON 或 HTML 格式的扫描结果

使用卡巴斯基容器安全来扫描 CI/CD 中的镜像时,可以生成包含扫描结果的构件并将其保存在 CI/CD 平台中。这可以使用与解决方案集成的外部存储库系统的配置文件来实现。例如,可以在 GitLab 中使用 .gitlab-ci.yml 配置文件。

您可以在以下场景中生成包含扫描结果的构件:

  • 扫描器执行完整的 CI/CD 扫描时,扫描结果文件能以 .HTML 或 .JSON 格式生成。
  • 通过创建 SBOM 运行扫描器时,包含扫描结果的文件能以 .SPDX 或 .JSON 格式生成。

要生成 .HTML 格式的扫描结果文件:

在 .gitlab-ci.yml 配置文件中输入以下命令:

- /bin/sh /entrypoint.sh $SCAN_TARGET --html --stdout > example.html

其中:

<--html> 指示以 .HTML 格式生成构件。

<--stdout > example.html> 指示数据输出到 .HTML 格式的文件。

要在执行完整的 CI/CD 扫描时生成 .JSON 格式的扫描结果文件:

在 .gitlab-ci.yml 配置文件中输入以下命令:

- /bin/sh /entrypoint.sh $SCAN_TARGET --stdout > example.json

其中:

<--stdout > example.json>指示数据输出到 .JSON 格式的文件。

生成的文件(例如 example.json)被指定为构件:artifacts: paths:

页首

[Topic 281598]

开始扫描时指定 Secret

在 CI/CD 进程中启动扫描作业时,包含扫描器镜像(Kaspersky Container Security 相应版本的 lite 或 with-db 扫描器)的注册表只有在获得授权后才可访问。为了授权,您可以在扫描作业中传递所需的 Secret。

要在启动扫描作业时获得访问注册表的授权:

  1. 创建 Secret:

    kubectl create secret docker-registry ci-creds --docker-server=client.repo.example.com --docker-username=username --docker-password=password

  2. 在扫描作业中,指定imagePullSecrets变量的值:

    imagePullSecrets:

    - name: ci-creds

  3. 开始扫描作业。

    带有授权 secret 的扫描作业示例

    kind: Job

    metadata:

    name: my-job

    spec:

    template:

    spec:

    containers:

    - name: my-container

    image: client.repo.example.com/scanner:master

    command: ["/bin/sh"]

    args: ["entrypoint.sh", "apline:latest"]

    env:

    - name: COMPANY_EXT_REGISTRY_USERNAME

    value: another_username

    - name: COMPANY_EXT_REGISTRY_PASSWORD

    value: another_password

    - name: API_BASE_URL

    value: https://some.kcs.env.example

    - name: API_TOKEN

    value: kcs_blablabla

    - name: SKIP_API_SERVER_VALIDATION

    value: 'true'

    imagePullPolicy: Always

    restartPolicy: Never

    imagePullSecrets:

    - name: ci-creds

    backoffLimit: 0

在此示例中,扫描作业包含以下 Secret:

  • 用于下载扫描仪镜像的 secret(在imagePullSecrets变量中指定)。
  • 如果对相关仓库的访问受到限制,则下载要扫描的镜像的密码(在COMPANY_EXT_REGISTRY_PASSWORD变量中指定)。

如果解决方案在运行扫描作业时获得访问权限的仓库可在未经授权的情况下访问,则可以省略这些密码。

页首

[Topic 265760]

配置与镜像签名验证器的集成

卡巴斯基容器安全可以验证镜像数字签名的真实性和有效性。要使用此功能,您需要配置解决方案与一个或多个外部签名应用程序的集成。镜像摘要签名的细节、签名的位置以及保护签名的细节取决于您选择的签名应用程序。解决方案支持两种可配置的外部签名验证应用程序:

  • Notary v1 是 Docker 开发的 Web 服务,用于确保容器在其生命周期各个阶段(包括签名的创建和后续存储阶段)的安全性。
  • Cosign 是一项旨在为容器创建签名、验证签名以及将已签名的容器放入存储库种的 Web 服务。该工具是作为 项目的一部分开发的。

您可以在“管理集成镜像签名验证器”部分中配置与镜像签名验证器的集成。

页首

[Topic 274593]

查看与签名验证器集成的列表

管理集成镜像签名验证器 部分中,一个表格将显示,其中包含带有镜像签名验证器的所有已配置集成。

该表将显示有关集成镜像签名验证器的以下信息:

  • 验证器名称
  • 描述(如果在创建集成时曾指定)
  • 镜像签名验证器的类型 - Notary v1 或 Cosign
  • 镜像签名验证器连接的网址

在表格中,您可以:

页首

[Topic 265764]

添加与镜像签名验证器的集成

要添加与镜像签名验证器的集成:

  1. 在“管理集成镜像签名验证器”部分中,单击“添加签名验证器”按钮。

    将打开集成设置窗口。

  2. 在“常规信息”部分中,输入策略名称,并根据需要输入策略说明。
  3. 在“类型”部分中,选择以下签名验证器之一:
    • Notary v1
    • Cosign
  4. 根据所选的签名验证器,指定服务器身份验证凭据:
    • 对于 Notary v1,指定以下设置:
      • 网址 – 存储镜像签名的服务器的完整网址。
      • 签名服务器身份验证密钥名称 – 编排器密钥的名称,密钥中包含用于访问存储了镜像签名的服务器的凭据。

        该密钥必须位于卡巴斯基容器安全命名空间中。

      • 证书 – 用于存储签名的服务器的自生成证书。该证书以 .PEM 格式提供。
      • 委派 – 参与签署过程的签名持有者列表。
      • 在“受信任的根”下,指定解决方案将在签名验证期间检查的所有公钥对。密钥对包括密钥的名称和值。

        如有必要,可以单击“添加密钥对”按钮来添加其他密钥。解决方案最多支持 20 个密钥对。

    • 对于 Cosign,指定以下设置:
      • 签名服务器身份验证密钥名称 – 编排器密钥的名称,密钥中包含用于访问存储了镜像签名的服务器的凭据。

        该密钥必须位于卡巴斯基容器安全命名空间中。

      • 证书 – 用于存储签名的服务器的自生成证书。该证书以 .PEM 格式提供。
      • 在“受信任的根”下,指定解决方案将在签名验证期间检查的所有公钥对。密钥对包括密钥的名称和值。

        对于 Cosign,指定 cosign.pub 提供的 ECDSA 或 RSA 算法的公钥。

        如有必要,可以单击“添加密钥对”按钮来添加其他密钥。解决方案最多支持 20 个密钥对。

      • 在“签名要求”部分中,指定必须签署镜像的签名和签名持有者的最小数量。
  5. 单击窗口顶部的“保存”按钮保存与镜像签名验证器的集成的设置。

您可以使用运行时策略中已配置的集成来确保对镜像内容的保护。

页首

[Topic 265792]

查看和编辑与镜像签名验证器的集成的相关信息

要查看和编辑与镜像签名验证器集成的设置:

  1. 在“管理 → 集成 → 镜像签名验证器”部分中,单击与签名验证器的集成列表中的集成名称链接。
  2. 如有必要,在打开的窗口中编辑集成设置,这取决于所选的签名验证器,如下所示:
    • 对于 Notary v1,可以修改以下设置:
      • 验证器名称
      • 描述
      • URL
      • 签名服务器身份验证密钥名称
      • 证书
      • 委派
      • 密钥名称
      • 密钥值
    • 对于 Cosign,可以修改以下设置:
      • 签名服务器身份验证密钥名称
      • 证书
      • 密钥名称
      • 密钥值
      • 阈值
      • 所需签名者
  3. 如有必要,单击“添加密钥对”按钮来添加密钥对。
  4. 单击窗口上部的“保存”按钮。
页首

[Topic 274595]

删除与镜像签名验证器的集成

要删除与镜像签名验证器的集成:

  1. 打开已配置的与镜像签名验证器的集成列表。
  2. 通过选中集成名称行中的复选框来选择要删除的集成。
  3. 单击表格上方的删除

    选择一个或多个集成后, “删除”按钮将变为启用状态。

  4. 在打开的窗口中,确认删除。
页首

[Topic 250406]

设置与通知输出的集成

卡巴斯基容器安全软件可以根据响应策略的设置在运行时向用户通知事件。要使用通知功能,您应该设置卡巴斯基容器安全与一个或多个通知输出的集成。

卡巴斯基容器安全可以使用以下输出:

  • 电子邮件
  • Telegram 即时通讯系统

本节帮助内容

查看与输出集成的列表

添加电子邮件集成

查看有关电子邮件集成的信息

添加 Telegram 集成

查看和编辑有关与 Telegram 的集成的信息

删除与通知输出的集成

页首

[Topic 274627]

查看与输出集成的列表

要查看已配置的与输出集成的列表:

  1. 转至“管理集成通知”部分。
  2. 根据您想要的通知类型,转到“电子邮件”选项卡或“Telegram”选项卡。

包含所有已配置集成的列表的表格显示有关现有集成的以下信息:

  • 集成名称。
  • 更新者。
  • 上次更新的日期和时间。
  • 最后一次连接到输出的状态 – 成功错误。如果显示错误,解决方案还会显示连接错误的简要描述。

在表格中,您可以:

  • 添加与电子邮件Telegram 的新集成。单击列表上方的“添加集成"以打开集成设置窗口。
  • 查看和编辑与输出集成的设置。您可以单击集成名称链接来打开编辑窗口。

    在此窗口中,您还可以单击“测试连接”以查看与输出的集成是否完成。

  • 删除与输出的集成
页首

[Topic 275119]

添加电子邮件集成

要添加电子邮件集成:

  1. 管理集成通知下的电子邮件部分中,单击 添加集成

    将打开集成设置窗口。

  2. 在表单中指定以下信息:
    • 集成的名称 – 显示在响应策略设置中。
    • 用于发送消息的账户的用户名和密码。
    • SMTP 服务器名称。
    • 电子邮件加密方法。
    • SMTP 服务器使用的端口。
    • 邮件发件人的电子邮件地址。
    • 邮件收件人的电子邮件地址。您可以在此字段中输入一个或多个地址。
  3. 单击“测试连接”以查看是否可以建立与电子邮件的连接。
  4. 单击“添加”以保存电子邮件集成设置。

电子邮件集成设置示例

以下是将卡巴斯基容器安全与电子邮件集成的设置示例。

{

"form": {

"type": "email",

"name": "Email integration",

"username": "username@example.com",

"password": "P@ssword!",

"host": "smtp.company.com",

"port": 465,

"encrypting": "ssl",

"sender": "sender@example.com",

"recipients": [

"user@company.com",

"user1@company.com"

]

}

}

对于 encrypting 参数,指定以下选项之一:

  • tls
  • ssl
  • null

您可以在响应策略中使用配置的集成。

页首

[Topic 275120]

查看有关电子邮件集成的信息

要查看和更改电子邮件集成:

  1. 在“管理集成通知”下的“电子邮件集成”部分中,单击集成列表中的集成名称链接。
  2. 在打开的编辑窗口中,如有必要,请更改以下集成设置:
    • 名称。
    • 用户名。
    • 用于发送邮件的用户账户的密码。
    • SMTP 服务器名称。
    • 电子邮件加密方法。
    • SMTP 服务器使用的端口。
    • 邮件发件人的电子邮件地址。
    • 邮件收件人的电子邮件地址。
  3. 单击“测试连接”以查看是否可以建立与电子邮件的连接。
  4. 单击“保存”。
页首

[Topic 275121]

添加 Telegram 集成

要添加 Telegram 集成:

  1. 管理集成通知下,在Telegram下,单击添加集成

    将打开集成设置窗口。

  2. 在表单中指定以下信息:
    • 集成的名称 – 显示在响应策略设置中。
    • 发布消息的聊天 ID – 您可以通过以下方式获取 ID:
      1. 给消息机器人撰写第一条消息。聊天 ID 会在第一次发送消息时生成。
      2. 在浏览器的地址栏中输入:

        https://api.telegram.org/bot<令牌>/getUpdates

        其中 <token> 是消息机器人的令牌。

      3. 在收到的 .json 响应文件中,找到“chat”对象中的“ID”值。这就是聊天 ID。

      更改 Telegram 聊天中新参与者的消息历史记录可见性设置后,聊天 ID 也会更改。在这种情况下,您必须更改 Telegram 集成设置并指定新的聊天 ID 值。

    • 消息机器人的令牌 – 对 BotFather 机器人执行 /newbot 命令以创建机器人时,您将收到此令牌。还可以通过运行 /token 命令来获取先前创建的机器人的令牌
  3. 单击“测试连接”以查看是否可以建立与 Telegram 的连接。
  4. 单击“添加”以保存 Telegram 集成设置。

Telegram 集成设置示例

以下是将卡巴斯基容器安全与 Telegram 集成的设置示例。

{

"form": {

"type": "telegram",

"name": "Telegram integration",

"chatId": "{{chatId}}",

"botToken": "{{botToken}}"

}

}

您可以在响应策略中使用配置的集成。

页首

[Topic 275122]

查看和编辑有关与 Telegram 的集成的信息

要查看和更改 Telegram 集成:

  1. 管理集成通知部分中的Telegram下,单击集成列表中的集成名称链接。
  2. 在打开的编辑窗口中,如有必要,请更改以下集成设置:
    • 名称。
    • 聊天 ID。
    • 机器人令牌。
  3. 单击“测试连接”以查看是否可以建立与 Telegram 的连接。
  4. 单击“保存”。
页首

[Topic 274659]

删除与通知输出的集成

要删除电子邮件集成或 Telegram 集成:

  1. 管理集成通知部分打开已配置的电子邮件或 Telegram 集成列表
  2. 通过选中集成名称行中的复选框来选择要删除的集成。
  3. 单击表格上方的删除

    选择一个或多个集成后, “删除”按钮将变为启用状态。

  4. 在打开的窗口中,确认删除。

您不能删除一个或多个响应策略中使用的集成。

页首

[Topic 254129]

配置 LDAP 服务器集成

卡巴斯基容器安全允许您

连接到您的组织中使用的外部的服务器。这是与 中的特定组的集成。

通过 LDAP 协议连接到外部目录服务可让您执行以下任务:

  • 配置用户账户,以便在使用卡巴斯基容器安全时考虑来自外部目录服务的数据。
  • 将卡巴斯基容器安全中的用户角色与 Active Directory 中的用户组相关联。这些组中的用户将能够使用其域账户凭据登录解决方案 Web 界面,并根据被分配的角色访问应用程序的功能。

    我们建议您提前在 Active Directory 中创建这些用户组,以允许他们在卡巴斯基容器安全 Web 界面中使用其域账户完成授权。
    此外,必须为 Active Directory 中的用户账户指明电子邮件地址。

本节帮助内容

创建 LDAP 服务器集成

查看、配置或删除 LDAP 服务器集成

测试与 LDAP 服务器的连接

获取对 Active Directory 组的访问权限

页首

[Topic 295783]

创建 LDAP 服务器集成

要创建与 LDAP 服务器的集成:

  1. 在“管理集成LDAP”部分中,单击“连接服务器”按钮。

    LDAP 服务器设置窗口将打开。

  2. 选择用于连接到 LDAP 服务器的证书验证模式。默认情况下,证书链模式已指定,在第一次连接到 LDAP 服务器期间由卡巴斯基容器安全保存的证书已验证。您也可以选择根证书模式,并在相应的文本字段中输入您的根证书详细信息。

    除非您使用根有效证书连接到 LDAP 服务器,否则请不要更改默认证书验证模式。

  3. 指定以下所需设置:
    • 您公司的 LDAP 服务器的网址 (URL)。

      LDAP 服务器的网址按如下方式指定:ldap://<主机>:<端口>。例如:ldap://ldap.example.com:389

    • 技术用户账户的名称和密码。

      绑定 DN 是进行初始身份验证和在 Active Directory 中搜索用户所需的技术用户帐户的可分辨名称。

      您可以用全称或者 <login@domain> 格式(如果您的 LDAP 服务器支持该名称格式用于身份验证)指定技术用户账户的名称。

      绑定 DN 密码字段中,您必须输入与指定账户名称对应的密码。

      在更新解决方案之前,请确保已填写绑定 DN绑定 DN 密码字段。如果未指定这些设置,LDAP 服务器集成将不工作。

    • Base DN是独特识别和描述 LDAP 目录服务器的记录的名称。

      例如,example.com 的基础分辨名称是 dc=example,dc=com

  4. 如有必要,卡巴斯基容器安全可以使用可用的数据填写集成创建表单的剩余字段。为此,根据您创建集成的原因,执行以下操作之一:
    • 如果想要使用 LDAP 协议创建与服务器的集成,请单击作为 LDAP 自动填写按钮。
    • 如果想要为与卡巴斯基容器安全中的角色关联的 Active Directory 服务中的组直接配置集成,请单击作为 Active Directory 自动填写按钮。

    卡巴斯基容器安全指定参数值的属性,不是值本身。例如,该解决方案会指定可用来查找用户的用户名的属性,不是直接指定用户名。

    解决方案用参数值的以下属性填充集成创建表单:

    • 用于定义 Active Directory 中的用户搜索设置的用户筛选器
    • 用于定义 Active Directory 中的组搜索设置的组筛选器

      卡巴斯基容器安全使用最常规的过滤值来确保几乎所有可能的配置都能运行。配置用户过滤器组过滤器时,我们建议您仅存储在 Active Directory 中使用的属性值。

    • 基本模式下面,解决方案指定以下设置:
      • 组织单位名称属性
      • 可分辨名称属性
    • 用户查找模式下面,解决方案指定以下设置:
      • 用户名字属性
      • 用户姓氏属性
      • 组名称属性
      • 用户用户名
      • 组成员
      • 用户电子邮件属性
      • 用户隶属

    如有必要,您可以编辑解决方案在集成创建表单中指定的值。

  5. 要检查值是否指定正确,请单击测试连接

    卡巴斯基容器安全将显示一条通知,通知您成功连接到 LDAP 服务器或建立连接失败。

  6. 单击“保存”。

如果 LDAP 服务器证书发生更改,请重新配置集成

您可以在创建和分配用户角色时使用已配置的集成。

页首

[Topic 274660]

查看、配置或删除 LDAP 服务器集成

要查看 LDAP 服务器连接:

转至“管理集成LDAP”部分。

卡巴斯基容器安全显示有关已连接 LDAP 服务器的以下信息:

  • 已连接 LDAP 服务器的网址。
  • 上次服务器连接的状态 – 成功不可用错误。如果显示错误,解决方案还会显示连接错误的简要描述。

要编辑 LDAP 服务器集成设置:

在“管理集成LDAP”部分中,单击“编辑设置”按钮。

卡巴斯基容器安全将打开包含 LDAP 服务器集成数据表单的页面。

要删除与 LDAP 服务器的集成:

  1. 管理集成LDAP部分中,单击删除集成
  2. 在打开的窗口中,确认删除。
页首

[Topic 286667]

测试与 LDAP 服务器的连接

要测试与 LDAP 服务器的连接:

  1. 转至“管理 → 集成 → LDAP”部分。
  2. 执行以下操作之一:
    • 如果已创建与 LDAP 服务器的集成,请单击“测试连接”按钮。
    • 如果要创建与 LDAP 服务器的集成或者编辑其设置,请单击 LDAP 服务器集成数据表单上方的“测试连接”按钮。

卡巴斯基容器安全将显示一条通知,通知您已连接到 LDAP 服务器或连接建立失败。

页首

[Topic 254187]

获取对 Active Directory 组的访问权限

配置与 LDAP 服务器的集成后,您可以为每个卡巴斯基容器安全角色指定一个 Active Directory 组。使用账户凭据进行授权后,该组中的用户可以根据其被定义的角色访问解决方案的功能。

页首

[Topic 293678]

配置与 SIEM 系统的集成

卡巴斯基容器安全允许连接到

以发送事件消息进行分析并随后对潜在威胁做出响应。这些消息包含与安全事件日志中记录的相同类型和类别的事件的数据。集群节点监控事件数据的传输也是通过与 SIEM 系统集成并将代理组链接到它们来实现的。

消息以

格式发送到 SIEM 系统,例如:

CEF:0|Kaspersky|Kaspersky Container Security|2.0|PM-002|Process management|7|dpid=1846367 spid=1845879 flexString2=0ce05246346b6687cb754cf716c57f20f226e159397e8e5985e55b448cb92e3f flexString2Label=Container ID cs6=alpine cs6Label=Container name outcome=Success

传输的消息由以下几部分组成:

  • 标头,指定日期、时间和主机名。
  • 前缀和 CEF 版本号。
  • 设备供应商。
  • 解决方案名称。
  • 解决方案版本。
  • 解决方案生成的唯一事件类型代码。
  • 事件描述。
  • 事件严重性评估。
  • 附加信息,例如设备 IP 地址、事件原因、事件结果以及事件状态。

有关组件的更多详细信息,请参阅 CEF 消息值匹配表

本节帮助内容

匹配 CEF 消息字段

创建与 SIEM 系统的集成

将代理组与 SIEM 系统链接起来

查看和编辑 SIEM 集成设置

删除与 SIEM 系统的集成

页首

[Topic 293652]

匹配 CEF 消息字段

CEF 消息用英文发送。

下表列出了卡巴斯基容器安全发送的 CEF 消息的标头和正文的主要组成部分。

CEF 消息组件的组成部分和值

组件

示例

CEF 消息的标准标头(syslog 标头)

标头以以下格式发送:<日期> <时间> <服务器的主机名称>。

Feb 18 10:07:28 host

CEF 格式前缀和版本

<CEF>:<版本>

CEF:0

事件 ID

设备供应商

设备产品

设备版本

Kaspersky

Kaspersky Container Security

2.0

事件类型的唯一 ID(签名 ID)

卡巴斯基容器安全可发送以下事件类型 ID:

  • ADM-ХХХ:管理事件。
  • CVE-XXX:有关漏洞或者此类风险接受到期的风险接受。
  • MLW-XXX:有关恶意软件或者此类风险接受到期的风险接受。
  • NCMP-001:镜像不符合要求。
  • CMP-001:镜像符合要求。
  • SD-XXX:有关敏感数据或者此类风险接受到期的风险接受。
  • MS-XXX:有关错误配置或者此类风险接受到期的风险接受。
  • CI-ХХХ:CI/CD 进程中的事件。
  • PLC-ХХХ:应用安全策略时的事件。
  • BNCH-ХХХ:扫描集群和节点时的事件。
  • AG-ХХХ:与代理相关的事件。
  • SJ-ХХХ:扫描器的事件。
  • RT-ХХХ:最佳实践检查的事件。
  • API-ХХХ:对 API 服务器的请求。
  • PM-ХХХ:实现进程时的事件。
  • FM-ХХХ:涉及访问容器文件系统中的对象的事件。
  • NT-ХХХ:网络连接。
  • FPM-XXX:过程中发生运行时策略违规事件
  • FNT-XXX:与网络连接相关的运行时策略违规事件
  • FFM-XXX:与容器文件系统中的对象访问有关的运行时策略违规事件
  • FFTP-XXX:与文件威胁防护有关的运行时策略违规事件

解决方案发送的某些事件类型 ID:

  • ADM-001: User 1 added user 2
  • CVE-001: User 1 accepted risk for image XXX
  • AG-002: Agent XXX is disconnected
  • BNCH-003: YYY was passed while scanning XXX
  • PLC-001: YYY was applied to image XXX
  • NCMP-001: Image XXX was marked as non-compliant
  • SD-008: XXX risk acceptance expires

事件描述(名称)

描述必须用户可读且与事件类型 ID 有关。例如,'Administration' 对于 ADM,或者 '进程管理' 对于 PM。

解决方案发送的某些事件名称:

  • Process management
  • File management
  • Networking

事件的重要性(严重性)

事件的严重性从 0 到 10,确定如下:

  • 0–3:低
  • 4–6:中
  • 7–8:高
  • 9–10:非常高

事件的严重性分数取决于事件类型和状态(成功失败)。

例如,严重性分数可以确定如下:

  • 对于 PM(Process management)和 NT(Networking)事件:
    • 如果事件状态为 Audited 或者 Blocked,则严重性为 7。
    • 对于任何其他状态,严重性为 3。
  • 对于 AG (Agents) 事件:
    • 如果事件成功,则严重性为 5。
    • 如果发生错误,则严重性为 10。
  • 对于 API 事件:
    • 如果事件成功,则严重性为 3。
    • 如果发生错误,则严重性为 8。

关于事件的其他信息(扩展名)

其他信息可能包括一个或者多个键值对集。

下面提供了关于卡巴斯基容器安全传输的键值对的信息。

关于卡巴斯基容器安全传输的事件的附加信息

用法

source

事件源的域(pod 名称)(源名称)

在所有事件中

src

IPv4 网络中的以下 IP 地址之一(源 IP):

  • 对于网络流量 – 连接源的 IP 地址
  • 对于管理事件 – 操作发起者的 IP 地址

在所有事件中

reason

错误状态的原因描述(原因)

在所有带有错误状态的事件中,除PM-ХХХFM-ХХХNT-ХХХFPM-XXXFNT-XXXFFM-XXXFFTP-XXX之外

fname

镜像(工件)名称(工件名称)

CI-ХХХSJ-ХХХADM-ХХХCVE-ХХХMLW-ХХХSD-ХХХMS-ХХХCMP-001PLC-ХХХNCMP-001

suser

操作发起用户的名称(用户名)

PM-ХХХFM-ХХХNT-ХХХFPM-XXXFNT-XXXFFM-XXXFFTP-XXX 以外的所有事件

dpid

进程 ID (PID)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

spid

父进程 ID (PPID)

PM-XXXXFM-XXXXNT-XXXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

flexString1

有效组 ID (EGID)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

flexString2

容器标识符/容器 ID

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

outcome

执行状态或模式(状态),该值定义如下:

  • 对于运行时事件( PM-ХХХFM-ХХХNT-ХХХFPM-XXXFNT-XXXFFM-XXXFFTP-XXX ),指定执行模式(审计强制其他)。
  • 对于其他事件,指定执行状态(成功错误)。如果状态为“错误”,解决方案还会传输错误文本或代码(原因)。

在所有事件中

request

镜像的名称(镜像名称)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

fileHash

镜像哈希(镜像摘要)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

act

以下操作类型之一(操作):

  • 对于文件操作 - 操作类型(openclosereadwritecreatedeletechmodchownrename
  • 对于网络流量 - 流量的方向和类型( egressingressegress_responseingress_response
  • 对于进程 – exec
  • 对于文件威胁防护操作 – ftp

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

spt

连接源的端口(源端口)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

dst

IPv4 网络中目标的 IP 地址(目标 IP)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

dpt

目标的端口(目标端口)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

dproc

进程名称(命令)(进程名称)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

duid

有效用户 ID (EUID)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

filePermission

文件访问权限 (mode_t mode)。

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

oldFilePath

文件先前使用的路径(旧文件路径)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

filePath

文件或的路径(路径)

对于涉及访问容器的文件系统中的对象的事件,filePath 用于传递有关新路径(新文件路径)的信息。

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

deviceDirection

连接方向类型(流量类型)

0 表示 Ingress 连接,1 表示 Egress 连接。

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

cn1

新进程标识符(新 PID)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

cs1

集群的名称(集群名称)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

cs2

节点的名称(节点名称)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

cs3

名字空间的名称(名字空间名称)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

cs4

执行的命令(命令)

对于涉及访问容器的文件系统中的对象的事件,cs4 用于传递有关新文件拥有者(NewOwner)的信息。

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

cs5

Pod 的名称(Pod 名称)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

cs6

容器的名称(容器名称)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

cs7

节点的 IP 地址(节点 IP)

PM-XXXFM-XXXNT-XXXFPM-XXXFNT-XXXFFM-XXXFFTP-XXX

页首

[Topic 282786]

创建与 SIEM 系统的集成

要添加 SIEM 集成:

  1. 管理集成SIEM部分中,单击添加 SIEM

    一个侧栏将显示,您可以在其中输入 SIEM 系统的参数。

  2. 常规选项卡上,指定以下必需参数:
    • SIEM 系统的名称。
    • 连接 SIEM 系统的协议。默认选择TCP
    • SIEM 系统服务器的地址采用以下格式之一:
      • IPv4
      • IPv6
      • FQDN
    • 用于连接 SIEM 系统的端口。您可以指定端口 1 到 65535。默认设置为 514。
    • 您想要将消息导出到 SIEM 系统的事件类别。要进行此项配置,请从以下列表中选中一个或多个事件类别旁边的复选框:
      • 管理
      • 警报
      • CI/CD
      • 策略
      • 资源
      • 扫描器
      • 准入控制器
      • 取证数据
      • API

        查看资源扫描仪准入控制器取证数据类别中的事件需要高级授权许可。

      默认选择所有状态。

      有关选定事件类别的消息将被发送到指定的 SIEM 系统,无论它是否链接到代理组。

  3. 代理组日志选项卡上,选中一个或多个事件类型旁边的复选框作为运行时节点监控的一部分。

    被发送到运行时环境的事件消息日志可能非常大,这会影响可用磁盘空间和网络负载。

  4. 如果您想验证指定的 SIEM 集成参数的正确性,请单击测试连接

    如果选择了 TCP 连接协议,该解决方案将测试与 SIEM 系统的连接。如果选择了 UDP 连接协议,则测试连接按钮将被禁用。

  5. 单击“保存”。
页首

[Topic 283037]

将代理组与 SIEM 系统链接起来

您可以在组件 → 代理部分中创建代理组编辑其参数时将代理组链接到 SIEM 系统。

要在卡巴斯基容器安全中链接代理组,您必须拥有足够的权限来管理代理组;您还必须创建并配置至少一个 SIEM 集成。

页首

[Topic 283085]

查看和编辑 SIEM 集成设置

要查看 SIEM 集成:

  1. 管理集成SIEM部分打开 SIEM 集成列表。
  2. 单击集成列表中的集成名称。

要编辑 SIEM 集成设置:

  1. 管理集成SIEM 部分中,单击集成列表中的集成名称。
  2. 如有必要,在显示的侧栏中,按如下方式编辑集成参数:
    1. 常规选项卡上,编辑以下必需参数:
      • SIEM 系统的名称
      • 连接 SIEM 系统的协议
      • SIEM 系统服务器地址
      • SIEM 系统连接端口
      • 要导出的事件类别
    2. 如有必要,您可以在代理组日志选项卡上编辑为运行时选择的网络节点监视事件类型的列表。
  3. 如果使用 TCP 连接,请单击测试连接以查看是否可以建立与 SIEM 系统的连接。
  4. 单击“保存”。
页首

[Topic 283084]

删除与 SIEM 系统的集成

要删除 SIEM 集成:

  1. 管理集成SIEM部分打开 配置的 SIEM 集成列表。
  2. 通过选中集成名称行中的复选框来选择要删除的集成。
  3. 单击表格上方的删除

    选择一个或多个集成后, “删除”按钮将变为启用状态。

  4. 在打开的窗口中,确认删除。
页首

[Topic 294179]

与 HashiCorp Vault 集成

卡巴斯基容器安全提供使用外部存储服务 HashiCorp Vault 安全地传输密码、令牌和 Secret 的功能。解决方案可生成 Pod 注释,Vault 注入器在启动时使用这些注释从存储中挂载必要的 Secret。

卡巴斯基容器安全支持与 Hashicorp Vault 1.7 或更高版本的集成。

版本 2.0 的卡巴斯基容器安全仅在使用侧边栏容器的侧边栏模式中支持使用 HashiCorp Vault;在此情况下,仅支持 Kubernetes 身份验证方法。

如果未定义 Pod 的服务账户,且使用默认服务账户,根据关键安全要求,我们不建议分配存储专用角色给此类服务账户。

HashiCorp Vault 设置的值在 values.yaml 配置文件中指定,在启动 Helm Chart 包时部署。

HashiCorp Vault 设置在 values.yaml 配置文件中配置如下:

  • 如果 vault 块中的 enabled 设置被设为 false ,则不使用与保管库的集成。
  • 如果将 vault 库块中的 enabled 设置被设为 true ,则启用与保管库的集成,并且 vault 设置块中的变量值优先。

vault 设置块包含以下部分:

  • secret — 用于指定 Secret 和凭据。
  • certificate — 用于指定证书和证书密钥。

secret 部分列出了包含以下参数的机密的文件的路径:

  • 用于对外部信息环境进行请求的代理服务器的 Secret。
  • PostgreSQL 数据库的凭据。
  • 用于存储解决方案生成的文件的 S3 兼容文件存储的凭据。
  • ClickHouse 数据库管理系统的凭据。

Secret 以 key:value 格式指定

其中:

  • <key> 是环境变量的名称
  • <value> 是机密存储中 Secret 的完整路径,后跟 @ 符号和在存储中创建的 Secret 的密钥的名称。

例如:POSTGRES_USER: kv/secret/kcs/psql@POSTGRES_USER

要获取证书,您必须在 vault.certificate 部分的字段中指定以下内容:

  • 要获取 CA 证书,请将 ca 设置设为 true。在此情况下,访问证书的路径是根据公钥基础设施(公钥基础设施,PKI)中的名称为基础的标准 cert/ca 路径形成的。如果 CA 证书不是根证书,请使用 caList 参数列出所有证书,包括根证书。例如:

    cert-ca:

    ca: true

    tls.crt: pki_kcs/cert/ca

    caList:

    - pki/cert/ca

  • 要生成证书和密钥,您需要从 PKI 名称中指包含定标准 issue 路径和创建的角色名称的路径。通用名称 (cn) 和所有可能的备用名称 (altname) 会被自动添加到证书中。如果有必要,可以手动指定 cnaltnameipsans 值,如下所示:

    cert-pguser:

    cn: pguser

    altname: pguser,pguser.psql,pguser.psql.svc,pguser.psql.svc.cluster.local,localhost

    ipsans: 0.0.0.0,127.0.0.1

  • 要设置证书有效期,需要指定 ttl 参数的值。默认值为 8760 小时。

    该参数值不能大于 PKI HashiCorp Vault 中设置的值。

certificate 部分还包含具有以下证书和密钥的文件的路径:

  • 外部 PostgreSQL 数据库的 CA 证书和客户端证书。
  • 解决方案组件所需的证书:
    • 准入控制器的 CA 证书和 CA 证书密钥。
    • 卡巴斯基容器安全许可模块的证书和证书密钥。
    • 包含解决方案主要业务逻辑的模块的证书和证书密钥。
    • 远程过程调用平台(GRPC)的证书和证书密钥。
    • 扫描器服务器的证书和证书密钥。
    • 扫描器服务器 API 的证书和证书密钥。
    • 企业私有网络更新文件服务器的证书和证书密钥。
    • 与 S3 兼容的文件存储的证书和证书密钥。
    • 事件中介的证书和证书密钥。
    • 代理中介的证书和证书密钥。
    • ClickHouse 数据库管理系统的证书和证书密钥。

本节帮助内容

HashiCorp Vault 存储设置:

与存储相关的限制

页首

[Topic 290082]

HashiCorp Vault 存储设置:

为了使卡巴斯基容器安全与 HashiCorp Vault 配合使用,您必须在 values.yaml 配置文件中指定以下配置设置的值:

  • enabled 标志可启用与存储的集成。vault.enabled = true 值表示与 HashiCorp Vault 的集成已建立;环境变量的值从存储中获取。默认值为 false
  • mountPath — 将 Secret 从保管库挂载到 Pod 的路径。默认值为 /vault/secrets
  • role 是在存储中用于身份验证的角色。

    在保管库中创建角色时,您需要从 values.yaml 文件中的 serviceAccount 部分指定所有现有值。

  • agentInitFirst — 用于定义初始化容器的初始化队列的变量。值为 true 表示 Pod 首先初始化 Vault init 容器。当初始化中的其他容器需要预填充的 Secret 才能运行时,必须设置此值。如果它被设置为 false,则容器的初始化顺序随机。默认值为 true
  • agentPrePopulate — 用于在容器启动之前启用初始化容器并使用 Secret 预先填充共享内存的变量。默认值为 true
  • agentPrePopulateOnly — 指示 init 容器是否将是被注入 Pod 中的唯一容器的变量。如果设置为true ,则运行 Pod 时不会添加 边车容器。默认值为 false
  • preserveSecretCase — 创建秘密文件时,用于保留 Secret 名称的大小写的变量。默认值为 true
  • agentInjectPerms — 定义使用存储中的 Secret 访问已挂载文件的权限的变量。默认值为0440(所有者和组具有读取权限)。
  • annotations — 配置正确操作边车容器的指令。您可以向 vault 块添加指令,以供所有 Helm Chart 组件使用,或者在 Architecture 部分为每个组件单独指定它们,例如:

    kcs-middleware:

    enabled: true

    appType: deployment

    annotations:

    vault.hashicorp.com/agent-limits-cpu: 200m

页首

[Topic 290094]

与存储相关的限制

当卡巴斯基容器安全与 HashiCorp Vault 配合使用时,存在一些非关键限制:

  • 与 HashiCorp Vault 的集成仅适用于 KV1/KV2 存储和用于轮换 PKI 证书的 Secrets Engine 组件。
  • 该解决方案不支持与 Secrets Engine 的外部组件(PKI Secrets 除外)一起使用。
  • 卡巴斯基容器安全不支持动态处理 Secret。要获取更新的 Secret,您必须重新启动解决方案。
  • 如果您正在使用 Vault 集成,则只能在 vault 部分为外部 PostgreSQL 数据库指定凭证。要使用内部 PostgreSQL 数据库,必须注释掉这些凭证。
页首

[Topic 266783]

安全策略配置

卡巴斯基容器安全组件使用以下安全策略:

  • 扫描器策略确定扫描不同类型资源的设置。扫描策略使用规则来检测敏感数据以及漏洞、恶意软件和错误配置。
  • 保障策略定义卡巴斯基容器安全操作,以便在镜像扫描期间检测到的漏洞、恶意软件、敏感数据和错误配置符合策略中指定的标准时提供安全保障。
  • 响应策略定义在策略中指定的事件发生时解决方案的操作。例如,卡巴斯基容器安全可以向用户通知事件
  • 运行时策略允许您根据公司安全要求控制和在适当的情况下限制集群上容器的部署和操作。

卡巴斯基容器安全在运行期间仅应用已启用的策略。检查期间不能使用已禁用的策略。

本节帮助内容

扫描器策略

保障策略

响应策略

运行时策略

删除策略

页首

[Topic 266135]

扫描器策略

扫描器策略确定扫描不同类型资源的设置。

安装卡巴斯基容器安全时,会创建默认的扫描器策略;它可以应用于所有资源并在所有环境中执行。它称为全局扫描策略默认)。默认情况下,将为该策略分配全局范围

如果您的角色已被分配管理扫描器策略和查看全局范围的权限,则您可以启用、禁用或配置全局扫描器策略设置。

不能对全局扫描器策略执行以下操作:

  • 更改已分配的全局范围。
  • 删除全局扫描器策略。

已配置的扫描器策略列表在“策略 → 扫描器策略”部分中显示为表格。

您可以使用该列表执行以下操作:

  • 添加新策略。单击表格上方的“添加策略”按钮以打开策略设置窗口。
  • 使用表格的“状态”列中的“已禁用”/“已启用”切换按钮来启用或禁用策略。
  • 更改策略设置。您可以单击策略名称链接来打开编辑窗口。

    您还可以在编辑窗口中启用和禁用策略。卡巴斯基容器安全在运行时不使用已禁用的策略。

  • 配置检测敏感数据的规则。要执行此操作,请转至“敏感数据”选项卡。
  • 删除策略

本节内容

创建扫描器策略

编辑扫描器策略设置

配置敏感数据检测规则

页首

[Topic 266137]

创建扫描器策略

在卡巴斯基容器安全中添加扫描器策略需要管理扫描器策略设置的权限。

要添加扫描器策略:

  1. 在“策略扫描器策略”部分中,单击“添加策略”按钮。

    将打开策略设置窗口。

  2. 如有必要,使用“已禁用”/“已启用”切换开关禁用已添加的策略。在这种情况下,策略将被添加但不会应用,直到其被激活。

    默认情况下,新添加的扫描器策略的状态为“已启用”。

  3. 输入策略名称,如果需要,还可以输入策略说明。
  4. 在“范围”字段中,从可用选项中选择扫描器策略的范围

    如果您计划实施被分配了全局范围的策略,则必须向您的某个用户角色授予查看全局范围的权限。

  5. 在“漏洞”部分中,配置以下设置:
    • 使用“已禁用”/“已启用”切换开关配置使用国家漏洞仓库 (NVD) 数据库进行的扫描。
    • 使用“已禁用”/“已启用”切换开关配置使用数据安全威胁数据库进行的扫描。
  6. 在“恶意软件”部分中,使用“已禁用”/“已启用”切换开关将扫描镜像中的恶意软件配置为文件威胁防护组件的一部分。
  7. 在“错误配置”部分中,使用“已启用”/“已禁用”切换开关配置对配置错误的检查。
  8. 单击“保存”。
页首

[Topic 266436]

编辑扫描器策略设置

如果您的账户已被分配至少一个角色,且该角色是策略创建者在创建策略时所具有的,则您可以在卡巴斯基容器安全中编辑扫描器策略设置。

要更改扫描器策略设置:

  1. 在“策略扫描器策略”部分中,单击策略名称链接。

    将打开策略设置编辑窗口。

  2. 如果需要,使用“已禁用”/“已启用”切换开关更改策略状态(已启用/已禁用)。
  3. 对策略设置进行更改。以下设置可供编辑:
    • 策略的名称、描述和范围。
    • 漏洞控制设置。选中检查镜像所依据的漏洞数据库的复选框。
    • 恶意软件控制设置。如果您需要扫描镜像中是否存在恶意软件和其他文件威胁,请选中该复选框。该控制通过文件威胁防护组件执行。
    • 错误配置控制设置。如果您需要检查镜像是否存在错误配置,请选中该复选框。该控制使用卡巴斯基容器安全制造商配置的默认设置执行。
  4. 单击“保存”。
页首

[Topic 250398]

配置敏感数据检测规则

为在镜像扫描过程中检测敏感数据(以下简称“秘密”)配置的规则列表显示在“策略扫描器策略敏感数据”部分中。

根据需检测机密的目的和范围,这些规则被分为多个类别。类别列表由卡巴斯基容器安全制造商确定。类别包含预定义的规则。

您可以使用该列表执行以下操作:

  • 查看和更改秘密检测规则的设置。您可以单击规则 ID 链接来打开编辑窗口。
  • 将新规则添加到所选类别。单击表格上方的“添加规则”按钮以打开集成设置窗口。要添加不属于任何预设类别的规则,请使用“其他”类别。
  • 删除规则。选中列表中一个或多个规则旁边的框。然后将显示删除图标。

要更改敏感数据检测规则的设置:

  1. 在表格中的“策略扫描器策略策略”部分中,选择扫描器策略。
  2. 在“敏感数据”部分中,通过选中规则行中的复选框来选择必要规则。
  3. 使用包含策略规则列表的表格的“状态”列中的“禁用”/“启用”开关来启用或禁用此策略组件。

    不要单击“保存”按钮。

    卡巴斯基容器安全会立即将更改应用于敏感数据设置并显示相应的通知。您还可以刷新页面来查看设置更改。

页首

[Topic 250399]

保障策略

保障策略定义卡巴斯基容器安全操作,以便在镜像扫描期间检测到的威胁符合策略中指定的标准时提供安全保障。

已配置的保障策略以表格形式显示在“策略保障策略”部分中。

您可以使用该列表执行以下操作:

  • 添加新策略。单击表格上方的“添加策略”按钮以打开策略设置窗口。
  • 更改策略设置。您可以单击策略名称链接来打开编辑窗口。
  • 启用和禁用策略。使用包含已创建策略列表的表格的“状态”列中的“禁用/启用”切换按钮来禁用和启用策略
  • 删除策略

如果添加保障策略、修改其设置或删除策略,该策略应用于的镜像的合规状态将受到审核(合规/不合规)。

本节内容

创建保障策略

编辑保障策略设置

页首

[Topic 266504]

创建保障策略

在卡巴斯基容器安全中添加安全策略需要管理安全策略设置的权限。

要添加保障策略:

  1. 在“策略保障策略”部分中,单击“添加策略”按钮

    将打开策略设置窗口。

  2. 输入策略名称,如果需要,还可以输入策略说明。
  3. 在“范围”字段中,从可用选项中选择镜像安全策略的范围

    如果您计划实施被分配了全局范围的策略,则必须向您的某个用户角色授予查看全局范围的权限。

  4. 指定卡巴斯基容器安全根据策略应执行的操作:
    • CI/CD 步骤失败 – 如果卡巴斯基容器安全扫描器在扫描 CI/CD 管道中的镜像时检测到与策略中指定的严重级别匹配的威胁,扫描将以出错结束(失败)。此结果会传输到 CI 系统。
    • 将镜像标记为不合规 – 卡巴斯基容器安全会对在其中检测到符合策略中指定标准的威胁的镜像进行标记。
  5. 在“漏洞级别”部分中,配置以下设置:
    • 使用“已禁用”/“已启用”切换开关根据漏洞严重级别配置扫描。
    • 根据漏洞数据库设置指定的严重性级别。您可以从“严重级别”下拉列表中选择或指定从 0 到 10 的严重程度分数。
    • 使用“已禁用”/“已启用”切换开关配置当发现特定漏洞时进行阻止,并在“漏洞”字段中指定这些漏洞。
  6. 在“恶意软件”部分中,使用“已启用”/“已禁用”切换开关配置扫描镜像中的恶意软件。
  7. 在“错误配置”部分中,配置以下设置:
    • 使用“已启用”/“已禁用”切换开关根据错误配置严重级别配置扫描。
    • 从“严重级别”下拉列表中选择错误配置严重级别。

      严重级别根据漏洞数据库进行分配。

  8. 在“敏感数据”部分中,配置以下设置:
    • 使用“已启用”/“已禁用”切换开关根据敏感数据严重级别配置扫描。
    • 从“严重级别”下拉列表中选择敏感数据严重级别。

      严重级别根据漏洞数据库进行分配。

  9. 单击“保存”。

默认情况下,添加的策略已启用

页首

[Topic 266506]

编辑保障策略设置

如果您的账户已被分配策略创建者在创建策略时所具有的至少一个角色,则您可以在卡巴斯基容器安全中编辑镜像安全策略设置。

要更改保障策略设置:

  1. 在“策略 → 保障策略”部分中,单击现有保障策略列表中的策略名称。

    将打开策略设置窗口。

  2. 对相关策略设置进行更改:
    • 策略的名称、描述和范围。
    • 解决方案按照此策略执行的操作。
    • 所需扫描。
    • 扫描期间检测到的漏洞的严重级别。
    • 识别的漏洞数量,用于阻止目的。
  3. 单击“保存”。
页首

[Topic 250400]

响应策略

响应策略定义了策略中所指定事件发生时解决方案的操作。例如, 卡巴斯基容器安全可以向用户通知检测到的威胁。

如果要配置响应策略以通知用户,应该先设置与通知输出的集成

已配置的响应策略以表格形式显示在“策略响应策略”部分中。

您可以使用该列表执行以下操作:

  • 添加新策略。单击表格上方的“添加策略”按钮以打开策略设置窗口。
  • 更改策略设置。您可以单击策略名称链接来打开编辑窗口。
  • 启用和禁用策略。使用包含已创建策略列表的表格的“状态”列中的“禁用/启用”切换按钮来禁用和启用策略。

    如果禁用策略, 卡巴斯基容器安全将不会执行该策略中指定的操作。

  • 搜索策略。要查找策略,请使用响应策略列表上方的搜索字段指定策略名称或策略名称的一部分。
  • 删除策略

在此版本的解决方案中,响应策略仅定义当策略中详述的特定事件发生时,卡巴斯基容器安全为通知用户而采取的操作。例如,如果检测到具有严重漏洞的对象,解决方案可以向用户发送电子邮件通知。

本节内容

创建响应策略

编辑响应策略设置

页首

[Topic 266507]

创建响应策略

在卡巴斯基容器安全中添加响应策略需要管理响应策略设置的权限。

要添加响应策略:

  1. 在“策略响应策略”部分中,单击“添加策略”按钮。

    将打开策略设置窗口。

  2. 输入策略名称,如果需要,还可以输入策略说明。
  3. 在“范围”字段中,从可用选项中选择响应策略的范围

    如果您计划实施被分配了全局范围的策略,则必须向您的某个用户角色授予查看全局范围的权限。

  4. 在“触发”字段中,使用下拉列表选择一个事件,如果在扫描期间发生该事件,将触发卡巴斯基容器安全通知用户。可选择以下事件之一作为触发事件:
    • 敏感数据。如果解决方案在扫描期间检测到对象中存在敏感数据泄露的迹象,则会发送通知。
    • 不合规。如果扫描的对象包含不符合安全策略要求的镜像,卡巴斯基容器安全会通知您。
    • 严重漏洞。如果扫描的对象包含状态为“严重”的漏洞,则会发送通知
    • 恶意软件。如果扫描发现恶意软件,则会发送通知。
    • 风险接受过期。如果扫描的对象包含您之前已接受的风险,但风险接受已过期,卡巴斯基容器安全会通知您。
  5. 配置所需的通知方法:
    1. 选择“输出”:电子邮件或 Telegram。
    2. 从“集成名称”字段的下拉列表中,选择预先配置的与所选通知输出的集成的名称。
    3. 要添加其他通知方法,请单击“添加”按钮,并填写上面 a 段和 b 段中所述的字段。
    4. 如果需要,可以通过单击“集成名称”字段右侧的图标来删除已添加的通知方法。
  6. 单击“保存”。

默认情况下,添加的策略已启用

页首

[Topic 266508]

编辑响应策略设置

如果您的账户已被分配至少一个角色,且该角色是策略创建者在创建策略时所具有的,则您可以在卡巴斯基容器安全中编辑响应策略设置。

要更改响应策略设置:

  1. 在“策略响应策略”部分中,单击现有响应策略列表中的策略名称。

    将打开策略设置窗口。

  2. 如有必要,对相关策略设置进行更改:
    • 更改策略名称。
    • 添加或编辑策略描述。
    • 添加或编辑策略范围。
    • 从下拉列表中选择触发事件来更改触发事件。
    • 单击“添加”按钮添加输出。
    • 单击所选输出行旁边的删除图标 ("删除" 图标。) 删除输出。
  3. 单击“保存”。
页首

[Topic 264620]

运行时策略

运行时策略决定了解决方案根据安全策略监视和控制容器运行时操作时所采取的操作。卡巴斯基容器安全根据在镜像中检测到的安全威胁、这些威胁的严重级别以及

的可用性来维护控制。

运行时中的容器可以从经过验证的镜像或解决方案仍然未知的镜像运行。

“策略”选项卡的“策略运行时策略”下,一个表列出了已配置的运行时策略。

您可以使用该列表执行以下操作:

  • 添加新策略。单击表格上方的“添加策略”按钮以打开策略设置窗口。
  • 更改策略设置。您可以单击策略名称链接来打开编辑窗口。
  • 启用和禁用策略。使用包含已创建策略列表的表格的“状态”列中的“禁用/启用”切换按钮来禁用和启用策略。

    如果禁用策略, 卡巴斯基容器安全将不会执行该策略中指定的操作。

  • 搜索策略。要查找策略,请使用响应策略列表上方的搜索字段指定策略名称或策略名称的一部分。
  • 删除策略

为了以最佳方式工作,运行时策略必须辅以运行时容器配置文件,这些配置文件定义了在运行时环境中运行容器的规则和限制。

本节内容

创建运行时策略

编辑运行时策略设置

管理容器运行时配置文件

管理运行时自动配置文件

页首

[Topic 290415]

创建运行时策略

在卡巴斯基容器安全中添加运行时策略需要管理运行时策略设置的权限。

要添加运行时策略:

  1. 在“策略运行时策略”下,选择“策略”选项卡
  2. 单击“添加策略”按钮。

    将打开策略设置窗口。

  3. 如果有必要,使用已禁用/已启用开关来设置策略状态。默认情况下,添加的策略已启用
  4. 输入策略名称,如果需要,还可以输入策略说明。
  5. 在“范围”字段中,从可用选项中选择运行时策略的范围。由于运行时策略仅用于已部署和/或正在运行的容器,因此可以选择包含跨集群的资源的范围。

    仅包含仓库资源的范围不可供选择。如有必要,您可以为在容器运行时配置文件部分中创建的运行时策略指定单独的镜像和 Pod,如步骤 11 中所述。

    如果您计划实施被分配了全局范围的策略,则必须向您的某个用户角色授予查看全局范围的权限。

  6. 在“模式”部分中,选择以下策略执行模式之一:
    • 审计。在此模式下,扫描会考虑容器的内容。
    • 强制。在此模式下,解决方案会阻止所有不符合策略中定义的规则和标准的对象。

    如果范围包括受审计模式下的运行时策略和强制模式下的运行时策略约束的对象,则运行时策略中指定的所有操作都将在强制模式下应用。

  7. 准入控制器选项卡上,配置以下设置:
    • 在“最佳实践检查”部分中,使用“已禁用”/“已启用”切换开关激活扫描以检查是否符合最佳安全实践。从设置列表中,选择确保运行正确的镜像并正确配置 CPU 和 RAM 使用设置的扫描设置。
    • 在“阻止不合规镜像”部分中,使用“已禁用”/“已启用”切换开关防止容器从不符合要求的镜像运行。仅对已在解决方案中注册且状态为“合规”的已扫描镜像执行此检查。
    • 在“阻止未注册的镜像”部分中,如果镜像对于卡巴斯基容器安全是未知的,则使用“已禁用”/“已启用”切换开关阻止镜像部署。要部署镜像,您必须在解决方案中注册该镜像并等待它出现在仓库中。
    • 动态准入控制器绕过标准块中,使用已禁用/已启用开关来定义不对其应用运行时策略的排除项。要执行此操作,请在下拉列表中选择相关对象,指定其名称,然后单击“添加”。

      部署容器时会检查策略中的现有排除项。

    • 在“功能阻止”部分中,使用“已禁用”/“已启用”切换开关来阻止使用指定的 Unix 功能。为此,请从下拉列表中选择特定的系统功能。您还可以从下拉列表中选择“所有”来锁定所有 Unix 系统功能的使用。
    • 在“镜像内容保护”部分中,使用“已禁用”/“已启用”切换开关启用数字签名验证,以确认容器中镜像的完整性和来源。为此,请执行以下操作:
      1. 在“镜像仓库 URL 模板”字段中,输入要在其中验证签名的镜像仓库的网址模板。
      2. 在下拉列表中,选择“检查”启用验证,或选择“不检查”禁用验证。
      3. 在下拉列表中,选择已配置的镜像签名验证器之一。
      4. 如有必要,使用“添加签名验证规则”按钮添加签名验证规则。解决方案将在单个运行时策略下应用多个签名验证规则。
    • 在“限制容器权限”部分中,使用“已禁用”/“已启用”切换按钮阻止具有一组特定权限的容器启动。在设置列表中,选择权限和权限配置以阻止 Pod 设置。
    • 在“允许的仓库”部分中,使用“已禁用”/“已启用”切换按钮允许仅将容器部署到特定仓库的集群。为此,请从“仓库”下拉列表中选择相关仓库。
    • 在“阻止的卷”部分中,使用“已禁用”/“已启用”切换开关防止选定的卷安装到容器中。为此,请在“”字段中指定主机系统上的卷挂载点。

      ”字段必须以正斜杠(“/”)开头,因为它代表操作系统路径。

  8. 容器运行时选项卡上,配置以下设置:
    • 在“容器运行时配置文件”部分中,使用“已禁用”/“已启用”切换开关来阻止容器内的进程和 Pod 的网络连接。为此,请执行以下操作:
      1. 在下拉列表中,选择一个属性,以定义将应用于容器运行时配置文件的 Pod。
      2. 根据所选属性,执行以下操作:
        • 如果您选择了“按 Pod 标签”,请输入 Pod 标签的键和值。

          您可以单击“添加标签对”按钮来为 Pod 选择项添加其他 Pod 标签。

        • 如果您选择了“镜像 URL 模板”,请输入镜像仓库网址模板。

          如果集群包含来自公共 Docker Hub 仓库的镜像,则该解决方案会将镜像的完整路径和短路径视为同样的路径。例如,如果您将集群中容器镜像的 URL 指定为 docker.io/library/ubuntu:focal,则解决方案会将其视为 ubuntu:focal

          您可以单击“添加镜像 URL”按钮来添加 Pod 选择项的其他网址。

        • 如果选择了镜像摘要,请输入使用 SHA256 哈希算法创建的镜像摘要。您可以指定带有或不带有sha256前缀的镜像摘要(例如,sha256:ef957...eb43ef957...eb43)。

          您可以通过单击添加镜像摘要按钮来向选定的 Pod 添加其他镜像摘要。

      3. 在“容器运行时配置文件”字段中,指定一个或多个运行时配置文件,这些配置文件将应用于与您定义的属性相匹配的 Pod。
      4. 如有必要,您可以使用“添加 Pod 映射”按钮为映射添加 Pod。具有不同属性的 Pod 或应用的运行时配置文件 将映射到相同的运行时策略下。
    • 容器自动配置文件部分,使用已禁用/已启用开关来使用与这些容器中的镜像相关联的自动配置文件来激活对指定范围内的容器的扫描。

      您可以通过单击“显示归因于该范围的自动配置文件”链接来查看该范围内包含的所有自动配置文件。在打开的侧边栏中,解决方案会显示一个包含自动配置文件列表的表格。对于每个自动配置文件,都会显示其名称、最后修改的日期和时间以及与自动配置文件相关的镜像。

  9. 单击“添加”按钮。
页首

[Topic 290416]

编辑运行时策略设置

如果您的账户已被分配策略创建者在创建策略时所具有的至少一个角色,则您可以在卡巴斯基容器安全中编辑运行时策略设置。

要更改运行时策略设置:

  1. 策略 → 运行时策略 → 策略部分中,单击现有运行时策略列表中的策略名称。

    将打开策略设置窗口。

  2. 更改策略的状态和名称。
  3. 添加或编辑策略描述。
  4. 添加或删除范围。
  5. 选择策略模式 — 审计强制
  6. 准入控制器选项卡上,对策略的相关部分进行更改:
    • 最佳实践检查。
    • 阻止不合规镜像。
    • 阻止未注册的镜像。
    • 动态准入控制器绕行标准。
    • 功能阻止。
    • 镜像内容保护。
    • 限制容器权限。
    • 允许的仓库。
    • 阻止卷。
  7. 容器运行时选项卡上,对策略的相关部分进行更改:
    • 容器运行时配置文件。
    • 容器自动配置文件。
  8. 单击“保存”。
页首

[Topic 283062]

管理容器运行时配置文件

实施运行时策略时,卡巴斯基容器安全可以应用用户定义的规则来监控进程和网络。为此,请将运行时配置文件添加到适当的运行时策略中。运行时配置文件本质上是容器限制的列表。镜像配置文件定义了安全镜像部署和从镜像部署的应用程序的安全活动的设置。配置文件中分配的操作可以显著降低网络犯罪分子渗透设施的能力,并可以提高容器运行时操作期间的安全性。

以下设置指定了镜像配置文件中的限制:

  • 应阻止的可执行文件。
  • 入站和出站连接的网络限制。

运行时策略中的容器运行时配置文件适用于使用集群内的对象在编排环境中运行的镜像。如果在编排环境之外启动容器(例如,使用docker runctr run命令),解决方案将不会检测此类容器中的恶意软件。

当对象被保存在容器中时,解决方案不会自动执行恶意软件扫描。我们建议在编排环境之外额外保护容器化文件。

已配置的配置文件列表在“策略运行时策略”下的“容器运行时配置文件”选项卡上显示为表格。在此部分中,还可以执行以下操作:

本节内容

创建运行时配置文件

配置的运行时配置文件示例

更改运行时配置文件设置

删除运行时配置文件

页首

[Topic 296091]

创建运行时配置文件

要添加容器运行时配置文件:

  1. 在“策略运行时策略容器运行时配置文件”下,单击“添加配置文件”按钮。

    将打开配置文件设置输入窗口。

  2. 输入运行时配置文件的名称,如有必要,可以输入描述。
  3. 范围下拉列表中,选择一个或多个范围。

    运行时配置文件中的范围允许配置文件在运行时策略中正确使用。

  4. 在“文件威胁防护”下,使用“禁用/启用”切换按钮来激活“文件威胁防护”。它用于查找和分析潜在的文件威胁,并为容器化对象(如压缩包和电子邮件文件)提供安全保障。

    应用了启用文件威胁防护组件功能的运行时配置文件后,卡巴斯基容器安全将为该策略所定义范围内的所有节点激活实时文件威胁防护。部署代理的配置取决于您为文件威胁防护指定的设置。您可以通过单击策略运行时部分中的容器运行时配置文件选项卡上的文件威胁防护威胁防护设置按钮来配置文件威胁防护设置。

  5. 在“限制容器可执行文件”部分中,使用“已禁用”/“已启用”切换按钮根据规则限制可执行文件。在列表中,选择保证最佳容器性能的阻止选项:
    • 阻止所有可执行文件的进程 – 应用程序在容器运行时阻止所有可执行文件启动。
    • 阻止指定的可执行文件 – 应用程序会阻止您在“阻止指定的可执行文件”字段中选择的可执行文件。您可以阻止所有可执行文件或特定可执行文件列表。您必须指定可执行文件的完整原始路径(例如,/bin/php)。您还可以使用 * 掩码(例如 /bin/*)将规则应用于整个目录及其子目录。

      还可以通过指定阻止规则的排除项来微调允许和阻止的可执行文件列表。例如,可以针对应用于 /bin/* 的规则专门排除路径 /bin/cat。在这种情况下,除了 /bin/cat 应用程序之外,/bin/ 目录中的所有可执行文件都将被阻止运行。

      可执行文件的路径示例

      指定可执行二进制文件的直接路径:

      /bin/bash

      使用 * 掩码指定目录:

      /bin/*

      在此示例中,允许运行 /bin/ 目录的子目录中的所有可执行文件。

      在使用随许多基本容器镜像(例如alpine)提供的busybox二进制文件时,您必须考虑到busybox包含一组用于获取应用程序的命令,而无需明确指定此类应用程序。例如,ls命令用于获取/bin/ls可执行文件,而该文件又是/bin/busybox的符号链接。在这种情况下,您必须指定可执行文件的路径,如下所示:/bin/busybox/ls(也就是说,您必须将/bin/busybox可执行文件的原始路径及其ls命令与/符号连接起来)。

      如果选中“允许排除项”复选框,则当容器启动并运行时,应用程序将阻止除“允许排除项”字段中指定的可执行文件之外的所有可执行文件。

      为这组参数指定的所有规则和例外都是正则表达式(regexp)。该解决方案使用指定的模式和指标来查找与特定正则表达式匹配的所有文件。

  6. 在“限制入口容器连接”部分中,使用“已禁用”/“已启用”切换开关来激活限制容器入站连接的功能。当此限制处于活动状态时,卡巴斯基容器安全将阻止除指定为排除项之外的所有入站连接源。

    如果选中“允许排除项”复选框,则可以指定一个或多个允许的入站网络连接源参数。要定义排除项,您必须至少指定以下参数之一:

    • 。在“”字段中,以 CIDR4 或 CIDR6 表示法输入入站连接源的 IP 地址或 IP 地址范围。
    • 在“TCP 端口”字段和“UDP 端口”字段中,输入用于连接的特定端口或端口范围。

      如果需要指定多个端口,请使用逗号,例如 8080, 8082。

      如果不指定端口值,应用程序将允许通过所有端口进行连接。

  7. 在“限制出口容器连接”部分中,使用“已禁用”/“已启用”切换开关来激活限制向已定义目的地的出站连接的功能。

    如果选中“允许排除项”复选框,则可以指定一个或多个允许的出站网络连接目的地参数。要定义排除项,您必须至少指定以下参数之一:

    • 目的地。在“目的地”字段中,以 CIDR4 或 CIDR6 表示法输入出站连接目的地的 IP 地址或 IP 地址范围,或者目的地的网址 (URL)。
    • 在“TCP 端口”字段和“UDP 端口”字段中,输入用于连接的特定端口或端口范围。

      如果需要指定多个端口,请使用逗号,例如 8080, 8082。

      如果不指定端口值,应用程序将允许通过所有端口进行连接。

  8. 文件操作部分,使用已禁用/已启用开关来启用监视容器中文件操作的功能。为此,请指定以下设置的值:
    • 路径。文件或文件夹的路径末尾可以带有或不带有正斜杠 (/)。您可以在路径末尾的正斜杠 (/) 后放置星号 (*) 来允许访问所有子目录。

      指定文件路径时,仅输入以正斜杠开头的完整路径。

    • 如有必要,您可以在“排除项”字段中指定不为其监视文件操作的文件路径。
    • 操作类型。您可以指定应用运行时策略时解决方案监控的文件操作。为此,请使用复选框选择以下一种或多种操作类型:
      • 创建— 解决方案记录指定目录中的所有文件创建操作。
      • 读取— 解决方案记录文件读取操作。
      • 写入— 解决方案记录有关文件中保存的更改的信息。
      • 重命名或移动— 解决方案记录更改文件名称或将文件移动到其他文件夹的操作。
      • 删除— 解决方案记录有关从指定目录中删除文件或文件夹的信息。
      • 更改访问权限— 解决方案记录有关访问文件和目录的权限变化的信息。
      • 更改所有权— 解决方案监控更改指定目录中文件或文件夹所有者的操作。

    如有必要,使用添加规则按钮添加监控文件操作的规则。解决方案将在单个运行时策略内应用多个文件操作监控规则。

    对于文件操作,仅支持审计模式。如果在适用的运行时策略中指定了强制模式,则文件操作将以审核模式执行。

  9. 单击“添加”按钮。

添加的运行时配置文件显示在“策略运行时策略容器运行时配置文件”部分中。

页首

[Topic 265052]

配置的运行时配置文件示例

下表列出了应用程序最常使用的一些镜像,以及在运行时配置文件中为其配置的限制设置。

镜像以及配置的设置

镜像名称

限制容器可执行模块

限制网络连接

Nginx

允许的可执行文件:

/usr/sbin/nginx

阻止出站连接

Mysql

允许的可执行文件:

/usr/bin/awk

/bin/sleep

/usr/bin/mawk

/bin/mkdir

/usr/bin/mysql

/bin/chown

/usr/bin/mysql_tzinfo_to_sql

/bin/bash

/bin/sed

/usr/sbin/mysqld

阻止出站连接

Wordpress

允许的可执行文件:

/bin/dash

/usr/bin/mawk

/usr/bin/cut

/bin/bash

/usr/local/bin/php

/usr/bin/head

/usr/bin/sha1sum

/bin/tar

/bin/sed

/bin/rm

/usr/bin/awk

/bin/sh

/usr/sbin/apache2

/bin/chown

/usr/local/bin/apache2-foreground

/bin/ls

/bin/cat

"否" 图标。

节点

允许的可执行文件:

/usr/local/bin/node

阻止出站连接

MongoDB

允许的可执行文件:

/bin/chown

/usr/local/bin/gosu

/usr/bin/mongod

/usr/bin/mongos

/usr/bin/mongo

/usr/bin/id

/bin/bash

/usr/bin/numactl

/bin/dash

/bin/sh

"否" 图标。

HAProxy

允许的可执行文件:

/bin/dash

/usr/bin/which

/usr/local/sbin/haproxy

/bin/busyboxal/sbin/haproxy-systemd-wrapper

/usr/loc

"否" 图标。

Hipache

允许的可执行文件:

/usr/bin/python2.7

/usr/bin/nodejs

/usr/bin/redis-server

/bin/dash

/usr/local/bin/hipache

"否" 图标。

Drupal

允许的可执行文件:

/bin/bash

/bin/rm

/usr/sbin/apache2

"否" 图标。

Redis

允许的可执行文件:

/bin/bash

/bin/chown

/usr/local/bin/gosu

/usr/bin/id

/usr/local/bin/redis-server

/bin/sh

/bin/dash

/sbin/redis-cli

/bin/redis-cli

/usr/sbin/redis-cli

/usr/bin/redis-cli

/usr/local/sbin/redis-cli

/usr/local/bin/redis-cli

/bin/busybox

阻止出站连接

Tomcat

允许的可执行文件:

/usr/bin/tty

/bin/uname

/usr/bin/dirname

/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

/bin/dash

/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

阻止出站连接

Celery

允许的可执行文件:

/bin/dash

/sbin/ldconfig

/bin/uname

/usr/local/bin/python3.4

/bin/sh

"否" 图标。

页首

[Topic 290421]

更改运行时配置文件设置

要更改容器运行时配置文件设置:

  1. 在“策略运行时策略容器运行时配置文件”下,单击现有容器运行时配置文件列表中的配置文件名称。
  2. 在打开的窗口中,更改以下一项或多项设置的值:
    • 运行时配置文件的名称。
    • 运行时配置文件的描述。
    • 范围
    • 文件威胁防护
    • 限制容器可执行文件
    • 限制入站网络连接
    • 限制出站网络连接
    • 文件操作
  3. 单击“保存”。

对运行时配置文件设置所做的更改会立即应用于正在运行的容器并影响其操作。

页首

[Topic 264973]

删除运行时配置文件

要删除容器运行时配置文件:

  1. 在“策略运行时策略镜像配置文件”下的已配置运行时配置文件表中,单击包含要删除的配置文件名称的行中的删除图标 ("删除" 图标。)。
  2. 在打开的窗口中,确认操作。
页首

[Topic 283940]

管理运行时自动配置文件

卡巴斯基容器安全可以监控容器中的进程、网络流量和文件操作,然后利用获取的信息自动生成容器运行时配置文件。Autoprofiling 进程在用户设置的时间间隔内和选定的范围内执行。这样的范围可以是集群、命名空间或者 Pod。

自动生成的配置文件(autoprofile) 的内容取决于代理组的节点监控设置。要启动 Autoprofiling ,您需要为相应代理组激活网络连接、正在启动的进程和容器的文件操作的监控设置。

自动配置文件通过三个设置的组合变得唯一:集群名称、命名空间名称和镜像摘要。因此,在一个命名空间内,将为具有所选镜像版本的所有容器生成一个自动配置文件。

本节内容

创建运行时自动配置文件

查看运行时自动配置文件列表

查看运行时自动配置文件设置

编辑运行时自动配置文件设置

停止 Autoprofiling

删除运行时自动配置文件

与自动配置文件相关的限制

页首

[Topic 287098]

创建运行时自动配置文件

我们建议您在 Autoprofiling 开始后重新启动 Pod,以便解决方案在其规则中记录 Pod 的启动。这将防止 pod 重新启动时被错误地阻止。

卡巴斯基容器安全允许在三个级别创建自动配置文件:

  • 在集群级别
  • 在命名空间级别
  • 在 Pod 级别

在集群和命名空间级别,您可以使用包含集群或命名空间列表的表或集群内的对象图来创建自动配置文件。在 Pod 级别,只能使用表创建自动配置文件。

要使用包含对象列表的表格创建容器运行时自动配置文件:

  1. 转到资源集群
  2. 根据您创建自动配置文件的级别,请执行以下步骤:
    • 如果要在集群级别创建自动配置文件,请在集群表中选中一个或多个集群的复选框。
    • 如果要在命名空间级别创建自动配置文件,请按照下列步骤操作:
      1. 单击集群表中的集群名称。
      2. 表格选项卡上,在列出集群中的命名空间的表中,使用复选框选择一个或多个命名空间。
    • 如果您想在 Pod 级别创建自动配置文件,请按照这些步骤操作:
      1. 单击集群表中的集群名称。
      2. 单击集群中命名空间表中的命名空间名称。
      3. 在显示的侧边栏中,选择Pod 和容器选项卡,然后在命名空间内的 Pod 表中,选中一个或多个 Pod 的复选框。

    确保 Autoprofiling 进程未在选定的对象中运行。如果进程正在运行,解决方案将不允许另一个 Autoprofiling 任务启动。

  3. 单击表格上方的“构建自动配置文件”按钮。

    在集群中,一次只能运行一个自动配置文件创建任务。解决方案仅在前一个任务完成或停止后才允许执行新的 Autoprofiling 任务。

  4. 这将打开一个窗口;在该窗口中,指定Autoprofiling 的持续时间。该持续时间可以是 1 到 1440 分钟。

    默认设置为 60 分钟。

  5. 单击“开始”

    在对象(集群、命名空间或 Pod)表的自动配置文件列中,解决方案显示直到该对象 Autoprofiling 结束的剩余时间或为该对象创建的自动配置文件的数量。

要从图表创建容器运行时自动配置文件:

  1. 转到资源集群
  2. 根据您创建自动配置文件的级别,在图形视图选项卡上执行以下步骤:
    • 如果要在集群级别创建自动配置文件,请左键单击位于命名空间图上的集群图标 (Kubernetes 中的集群图标) 。
    • 如果要在命名空间级别创建自动配置文件,请按照下列步骤操作:
      1. 双击即可展开图表上集群内的命名空间组。
      2. 在命名空间图中,左键单击您感兴趣的命名空间的图标(图表上的命名空间图标)。
  3. 在打开的菜单中,选择“构建自动配置文件”。

    如果自动配置过程已在集群中运行,则您将无法选择“构建自动配置文件” 。如果您拥有适当的权限,可以通过在菜单中选择停止 Autoprofiling来停止在所选集群中创建自动配置文件。或者,等待先前启动的 Autoprofiling 任务完成。解决方案允许在集群中一次只运行一个 Autoprofiling 任务。

  4. 这将打开一个窗口;在该窗口中,指定Autoprofiling 的持续时间。该持续时间可以是 1 到 1440 分钟。

    默认设置为 60 分钟。

  5. 单击“开始”

创建的运行时自动配置文件显示在策略运行时策略自动配置文件部分。

页首

[Topic 290621]

查看运行时自动配置文件列表

卡巴斯基容器安全在策略运行时自动配置文件下的表格中显示所有创建的运行时自动配置文件的列表。以下信息为每个自动配置文件显示:

  • 自动配置文件的名称,它是以下数据的组合:
    • Pod 名称。
    • 命名空间名称。
    • 集群名称。
    • 镜像校验和的前 12 个字符(SHA256 前缀之后)

    自动配置文件名称的这些组件由下划线分隔(例如,kube-company_sampled-operations_docker-cluster__9a74fc18ee07)。

  • 自动配置文件相对于用户验证的状态:已验证未验证。默认情况下,自动配置文件创建时的状态为未验证

    如有必要,您可以使用已验证/未验证切换开关来更改表中自动配置文件的状态。您还可以通过单击表格上方的已验证按钮将已验证状态分配给一个或多个自动配置文件。

    仅可应用具有已验证状态的自动配置文件。

  • 上次修改的日期和时间。
  • 自动配置文件所基于的集群和命名空间。
  • 自动配置文件基于其校验和的镜像。

卡巴斯基容器安全还会显示其摘要被用于创建自动配置文件的每个镜像的自动配置文件列表。

要查看为镜像创建的自动配置文件列表:

  1. 转到资源仓库
  2. 在所需的仓库中,单击 向右箭头图标。 图标并展开仓库中的镜像列表。用于创建自动配置文件的镜像标有自动配置文件图标 (表示创建运行时自动配置文件的的图标。)。
  3. 点击镜像名称,转到关于该镜像扫描结果的详细信息页面

    镜像的所有自动配置文件的列表以表格形式显示在关联的自动配置文件部分中。以下信息为每个自动配置文件显示:

页首

[Topic 287239]

查看运行时自动配置文件设置

要查看自动配置文件参数:

  1. 策略运行时策略自动配置文件部分,单击创建的容器运行时自动配置文件列表中的自动配置文件的名称。
  2. 在显示的侧栏中, 常规构建参数选项卡包含有关所选自动配置文件的参数的信息。常规选项卡显示以下内容:
    • 自动配置文件状态。
    • 运行时自动配置文件的名称。
    • 运行时自动配置文件的描述(如果是手动指定的话)。默认情况下,Autoprofiling 时不添加任何描述。
    • 参数下,您可以查看以下模块的参数:
      • 文件威胁防护
      • 限制容器可执行文件
      • 限制入站网络连接
      • 限制出站网络连接
      • 文件操作

    如果有必要,您可以更改自动配置文件参数

    构建参数选项卡显示以下数据:

    • 运行时自动配置文件的名称。
    • 自动配置文件的最后修改日期和时间。
    • 发起自动配置文件创建的用户的名称。
    • 自动配置文件所基于的镜像校验和、命名空间和集群。
    • 自动配置文件基于其校验和的镜像的名称。您可以通过单击镜像名称来查看该镜像的扫描结果
页首

[Topic 287235]

编辑运行时自动配置文件设置

要编辑自动配置文件参数:

  1. 策略运行时策略自动配置文件部分,单击创建的容器运行时自动配置文件列表中的自动配置文件的名称。
  2. 如有必要,在显示的侧栏中的“常规信息”选项卡上,编辑以下一个、多个或所有参数的值:
    • 自动配置文件状态。使用已验证/未验证切换开关将自动配置文件状态更改为已验证未验证
    • 运行时自动配置文件的名称。您可以指定自定义的自动配置文件名称来替换解决方案自动生成的名称。
    • 运行时自动配置文件的描述。默认情况下,Autoprofiling 时不添加任何描述。
    • 参数下,编辑网络状态监控参数,如下所示:
      • 文件威胁防护。如有必要,请使用禁用/启用切换开关来启用或禁用文件威胁防护。默认情况下,文件威胁防护下的设置已禁用。
      • 限制容器可执行文件。您可以指定要阻止的特定文件名和路径,以及指定例外。

        如果进程在相关内部版本中的容器内运行,则解决方案将执行以下操作:

        • 当在审计强制模式下的进程中检测到事件时,解决方案将激活阻止指定的可执行文件设置,并在可执行文件或路径字段中指示所有唯一路径。
        • 如果审计强制模式下的进程中没有事件,则解决方案将应用阻止所有可执行文件设置。
        • 如果检测到除上述事件之外的其他事件,解决方案将激活允许排除项设置并在可执行文件或路径字段中指定所有唯一路径值。
      • 限制入站网络连接。如有必要,您可以使用禁用/启用切换开关来禁用限制容器入站连接的功能。

        如果在相关内部版本的容器中观察到入站流量,则解决方案将执行以下操作:

        • 当在审计强制模式下检测到与入站连接相关的事件时,解决方案将激活限制入站网络连接设置。
        • 如果在审计强制模式下没有与入站流量相关的事件,或者检测到其他事件,则解决方案将激活允许排除项选项。TCP 端口UDP 端口字段包含入站连接的所有唯一接收者。
      • 限制出站网络连接。如有必要,您可以使用禁用/启用切换开关来禁用限制容器出站连接的功能。

        如果在相关内部版本的容器中观察到出站流量,则解决方案将执行以下操作:

        • 当在审计强制模式下检测到与出站连接相关的事件时,解决方案将激活限制出站网络连接设置。
        • 如果在审计强制模式下没有与入站流量相关的事件,或者检测到其他事件,则解决方案将激活允许排除项选项。TCP 端口UDP 端口字段指定所有唯一的出站连接源。
      • 文件操作。您可以编辑监控容器中文件操作的设置。

        如果在相关内部版本中的容器内观察到操作,则在审计强制模式下检测到文件管理事件时,解决方案将激活文件操作设置。在这种情况下,所有唯一路径都会在路径字段中指示,所有检测到的操作类型的复选框都会在操作类型字段中选中。

        您还可以单击添加规则来添加监控文件操作时应用的规则。

      如果在设置部分启用了设置,解决方案将确定镜像的具体内部版本并扫描从该内部版本部署的所有容器。

  3. 通过执行以下操作之一将更改保存到自动配置文件:
    • 要保存但不将自动配置文件状态更改为已验证,请单击保存
    • 要保存自动配置文件并将其状态更改为已验证,请单击保存并验证
页首

[Topic 290589]

停止 Autoprofiling

如果自动配置文件任务正在选定集群中运行,卡巴斯基容器安全将显示该进程完成所需的剩余时间:

  • 在包含集群列表的表格的自动配置文件列中
  • 在包含集群中的命名空间列表的表格的自动配置文件列中
  • 在包含集群中所选命名空间内的 Pod 列表的表格的自动配置文件列中。

您可以在三个级别停止正在运行的 Autoprofiling 进程:

  • 在集群级别
  • 在命名空间级别
  • 在 Pod 级别

在集群和命名空间级别,您可以使用包含集群或命名空间列表的表或集群内的对象图来停止创建自动配置文件。在 Pod 级别,只能使用表格来停止 Autoprofiling。

可以针对整个被分析对象(集群、命名空间或 Pod)或被分析对象内的特定实体(例如,选定的命名空间或 Pod)停止 Autoprofiling。

如果您拥有必要的权限,可以停止正在运行的 Autoprofiling 进程。

页首

[Topic 292046]

停止 Autoprofiling 任务

要使用包含对象列表的表格停止运行 Autoprofiling 任务:

  1. 转到资源集群
  2. 根据您停止 Autoprofiling 的级别,请执行以下步骤:
    • 如果要在集群级别停止 Autoprofiling,请使用复选框选择已为其启动 Autoprofiling 任务的一个或多个集群。
    • 如果要在命名空间级别停止 Autoprofiling,请按照下列步骤操作:
      1. 单击集群表中的集群名称。
      2. 在“表格”选项卡上,在列出集群中的命名空间的表格中,使用复选框选择已为其启动 Autoprofiling 任务的一个或多个命名空间。
    • 如果要在 Pod 级别停止 Autoprofiling,请按照下列步骤操作:
      1. 单击集群表中的集群名称。
      2. 单击集群中命名空间表中的命名空间名称。
      3. 在显示的侧边栏中,选择Pod 和容器选项卡,然后在命名空间内的 Pod 表中,选中一个或多个已为其启动 Autoprofiling 的 Pod 的复选框。
  3. 单击表格上方的“停止 Autoprofiling”按钮。

    如果选定对象列表包含其中尚未启动 Autoprofiling 进程的集群、命名空间或子集群,停止 Autoprofiling按钮将变为非活动状态。

  4. 单击“停止”按钮确认停止 Autoprofiling 进程。

要从图表中停止 Autoprofiling 任务:

  1. 转到资源集群
  2. 根据您创建自动配置文件的级别,在图形视图选项卡上执行以下步骤:
    • 如果要在集群级别停止 Autoprofiling 任务,请左键单击命名空间图上的集群图标 (Kubernetes 中的集群图标。)。
    • 如果要在命名空间级别进行 Autoprofiling 任务,请按照下列步骤操作:
      1. 双击即可展开图表上集群内的命名空间组。
      2. 在命名空间图中,左键单击您感兴趣的命名空间的图标(图表上的命名空间图标。)。
  3. 在打开的菜单中,选择“停止 Autoprofiling”。
  4. 单击“停止”按钮确认停止 Autoprofiling 进程。
页首

[Topic 292052]

停止对单个对象的 Autoprofiling

要停止 Autoprofiling 任务中单个对象的 Autoprofiling:

  1. 启动 Autoprofiling 任务
  2. 执行以下操作之一:
    • 如果集群 Autoprofiling 任务正在运行,请执行以下操作:
      1. 在包含集群列表的表中,单击正在为其创建自动配置文件的集群的名称。
      2. 在打开的窗口中,执行以下操作之一:
        • 选择一个或多个要为其停止 Autoprofiling 的命名空间。
        • 单击命名空间名称,然后在打开的窗口中选择一个或多个要为其停止 Autoprofiling 的 Pod。
    • 如果命名空间 Autoprofiling 任务正在运行,请执行以下操作:
      1. 在包含集群中命名空间列表的表中,单击正在为其创建自动配置文件的命名空间的名称。
      2. 在打开的窗口中,选择一个或多个要为其停止 Autoprofiling 的 Pod。
  3. 单击包含对象列表的表格上方的“停止 Autoprofiling”按钮。
  4. 单击“停止”按钮确认停止 Autoprofiling 进程。

    卡巴斯基容器安全停止所选对象的 Autoprofiling 进程。解决方案将继续为集群或命名空间中的其余对象运行 Autoprofiling 任务。

当停止单个对象的 Autoprofiling 时,请记住在较大对象级别停止任务将完全停止该任务。例如,在下列情况下,Autoprofiling 任务将完全停止:

  • 如果启动了 Autoprofiling 命名空间或 Pod 的任务,并且您在包含所选命名空间或 Pod 的集群级别停止 Autoprofiling。
  • 如果启动了 Autoprofiling Pod 的任务,并且您在包含所选 Pod 的命名空间级别停止 Autoprofiling。
页首

[Topic 287224]

删除运行时自动配置文件

要删除容器运行时自动配置文件:

  1. 在以下部分之一中打开生成的运行时自动配置文件的表格:
  2. 执行以下操作之一:
    • 策略运行时自动配置文件部分,使用复选框选择要删除的自动配置文件,然后单击表格上方的删除按钮。
    • 在包含有关镜像扫描结果的详细信息的页面上,在资源仓库部分中,在要删除的自动配置文件名称的行中,单击删除图标 ("删除" 图标。)。
  3. 在打开的窗口中,确认操作。
页首

[Topic 290938]

与自动配置文件相关的限制

使用运行时自动配置文件时,请考虑与范围和用户角色相关的以下限制:

  • 如果镜像未被添加到作为集群中命名空间的一部分被分配给用户的范围,则用户无法访问使用镜像摘要生成的自动配置文件。

    被分配了全局范围的用户可以查看所有创建的自动配置文件。

  • 如果用户有管理 Autoprofiling 的权限,则可以启动任务来构建自动配置文件、更改设置并重新生成自动配置文件。
  • 如果满足以下所有条件,未启动 Autoprofiling 任务的用户可以更改设置,以及重建和删除自动配置文件:
    • 用户有权限管理 Autoprofiling
    • 用户的角色之一与创建自动配置文件时 Autoprofiling 任务的创建者的角色一致
    • 分配给用户的范围包括自动配置文件所基于的镜像(作为集群中命名空间的一部分)
页首

[Topic 266509]

删除策略

如果您的账户已被分配策略创建者在创建策略时所具有的至少一个角色,则您可以删除安全策略。您还需要具有管理相应类型策略的权限才能删除它们。

要删除策略:

  1. 打开已配置的扫描器策略保障策略响应策略运行时策略列表。
  2. 在包含要删除的策略名称的行中,单击删除图标 ("删除" 图标。)。
  3. 在打开的窗口中,确认操作。

如果安全策略配置错误阻止了卡巴斯基容器安全运行,并且您无法使用管理控制台管理解决方案,则必须手动删除安全策略。

要手动删除策略并恢复解决方案:

  1. 运行以下命令以删除适用的代理(kube-agent 和 node-agent):

    kubectl delete deployment kube-agent

    kubectl delete daemonset node-agent

  2. 通过运行以下命令来删除目标集群中的所有客户资源:

    kubectl get crd -o name | grep 'kcssecurityprofiles.securityprobe.kcs.com' | xargs kubectl delete

  3. 重新启动所有卡巴斯基容器安全 Pod 并访问管理控制台。
  4. 对安全策略进行必要的更改。
  5. 使用 .YAML 格式的说明来安装代理。
页首

[Topic 284341]

合规性检查

卡巴斯基容器安全可让您检查集群节点和资源是否符合以下基准:

  • Kubernetes 基准。解决方案检查集群节点是否符合为基于 Kubernetes 的软件创建强大安全系统的建议。

    检查结果显示在合规性Kubernetes 基准部分。

  • 集群基准。解决方案检查集群中的资源保护情况。集群使用 / 基准中描述的规则以及用于评估威胁和制定资源保护策略的 Kubernetes 基准进行检查。

    检查结果显示在合规性集群基准部分。

在卡巴斯基容器安全中,您还可以根据基准合规性检查的结果生成报告。生成的报告列表显示在“管理报告”下。

本节帮助内容

Kubernetes 基准合规性检查

集群安全基准合规性检查

页首

[Topic 284343]

Kubernetes 基准合规性检查

卡巴斯基容器安全代理可以检查 Kubernetes 集群节点是否符合 Kubernetes 信息安全基准。

卡巴斯基容器安全将检查 Kubernetes 1.15-1.29 版本是否符合 Kubernetes 标准。

代理会检查安装它的节点的状态并将结果发送到服务器。检查结果显示在“合规性”部分中。

您可以在“合规性Kubernetes 基准”部分中查看关于集群节点是否符合 Kubernetes 基准的检查结果。节点扫描结果将显示在表格中。默认情况下,卡巴斯基容器安全会显示所有集群中所有节点的上次扫描结果的列表。列表中的节点未进行分组,但您可以使用过滤器来根据集群名称构建对象列表。

在扫描结果表上方的“控制状态”部分中,将显示在扫描期间每个状态被分配的控制项数量。卡巴斯基容器安全会为以下扫描状态显示此信息:

  • 通过 – 检查成功完成。
  • 警告 – 检查表明在执行操作或任务期间可能会出现问题。
  • 失败 – 检查显示不符合基准。

您可以选择扫描后要显示哪些状态的节点。为此,在“控制状态”部分中,选择您想要隐藏的状态的按钮。此后,扫描结果表将仅显示在扫描时其基准符合此状态的节点(而不显示其他节点)。

在卡巴斯基容器安全中,您可以根据 Kubernetes 基准合规性检查的结果生成报告。根据所需的详细程度,您可以生成 Kubernetes 基准总结或详细报告。生成的报告列表显示在“管理报告”下

单击节点名称链接可打开包含有关节点检查结果的详细信息的页面。

该解决方案在窗口顶部显示摘要信息。在表格中,每个基准都与节点合规状态相关。

您可以单击“重新扫描”按钮来根据标准基准检查节点。

页首

[Topic 284350]

集群安全基准合规性检查

您可以检查是否符合集群基准的集群列在合规性集群基准部分的表格中。

要查看单个集群的信息:

合规性集群基准部分的集群字段中,执行以下操作之一:

  • 在下拉列表中,选择一个或多个集群。
  • 输入一个或多个集群的名称。

默认情况下,该表显示所有可用于合规性检查的集群。

该表包含集群的以下信息:

  • 集群名称。
  • 上次扫描的日期和时间。
  • 编排器及版本。如果编排器版本不再受官方支持,解决方案会使用 图标表示有更多信息可用。 图标对此进行指示。
  • 合规性得分。
  • 包含每种已识别风险类型的严重程度的不合规控制。

您可以通过选择包含集群名称的行中的复选框来选择一个或多个集群。通过单击表格上方的按钮,您可以对选定的集群执行以下操作:

  • 发送以重新扫描。
  • 生成有关一个或多个集群的资源与集群安全基准的符合情况的报告。

卡巴斯基容器安全以这些数据库的语言从适用基准的连接数据库中查询类别和子类别名称、控制名称和补救建议。信息以收到时的形式显示。相应的,MITRE、NSA/CISA 和 Kubernetes 基准的信息以英文呈现。

本节帮助内容

查看集群扫描结果

配置集群扫描结果的显示方式

控制详细信息

页首

[Topic 287192]

查看集群扫描结果

要查看详细的集群检查结果:

在“合规性集群基准”部分中,单击表中的集群名称。

这将打开一个包含集群检查结果的窗口,其中显示有关集群资源与基准控制的符合性的信息,以及有关集群资源管理的信息。您可以在基准扫描结果信息选项卡中查看结果。

解决方案将显示集群中所有资源的扫描结果,即使为您的范围选择了该集群的单个资源。

基准扫描结果选项卡上的表格包含以下信息:

  • 控制 ID
  • 控制描述
  • 合规分数(百分比)
  • 发现的每个控制的不合规资源数量
  • 补救建议
  • 控件类别
  • 控制的严重程度

信息选项卡上,解决方案显示有关已检查集群的以下信息:

  • 编排器及其版本
  • Git 版本
  • CPU 架构
  • 集群内部版本的日期和时间
  • 对指定版本的编排器的支持终止日期。如果编排器版本不再受官方支持,解决方案会使用 图标表示有更多信息可用。 图标对此进行指示。

如有必要,您可以通过单击基准扫描结果选项卡上的重新扫描按钮来发送集群进行重新扫描。

您还可以通过单击基准扫描结果选项卡上的创建报告按钮,生成有关一个或多个集群的资源与集群安全基准是否合规的报告。生成的报告列表显示在“管理报告”下

页首

[Topic 286613]

配置集群扫描结果的显示方式

要配置集群扫描结果的显示:

  1. 在“合规性集群基准”部分中,单击集群名称。

    解决方案将打开一个窗口,其中详细描述所选集群的扫描结果。

  2. 选择扫描的日期和时间。默认显示上次执行的扫描的结果。
  3. 如有必要,请执行以下操作,按严重性以及适用的集群安全基准筛选扫描结果:
    1. 单击表格上方的过滤器图标 (筛选器图标。)。
    2. 在显示的侧栏中,指定以下控制参数:
      • 对于严重性设置,选择一个或多个严重性按钮(严重)。
      • 对于框架设置,选择一个或多个与相关基准相对应的按钮(全部MITRENSA/CISA)。
    3. 单击“应用”。

      解决方案关闭侧边栏,测试结果表仅显示与所选控制参数匹配的控制。

    默认情况下,显示所有严重性级别和所有集群安全基准的扫描结果。

  4. 如有必要,请选择要在表中显示的控件类别或子类别。为此:
    • 如果您想要选择显示的控件类别,请单击结果表上方的类别名称。
    • 如果您想选择要显示的控件子类别:
      • 单击展开子类别链接,展开控件类别下的子类别列表。
      • 单击结果表上方的子类别名称。
页首

[Topic 286615]

控制详细信息

要查看有关控件的信息:

在包含所选集群的详细扫描结果的窗口中,单击基准扫描结果选项卡上表格中的控制 ID。

显示的侧栏包含以下信息:

  • 常规选项卡:
    • 控件的 ID 和名称
    • 控件类别和子类别
    • 检查方法
    • 检查执行规则
    • 控件描述
    • 补救建议
    • 检查所使用的技术
    • 基准:
  • 资源选项卡上:
    • 已检查资源的总数。
    • 合规分数(百分比)。
    • 无法为其执行检查的资源数量。该值显示在选项卡标题旁边。
    • 集群中资源的参数如下表:
      • 命名空间
      • 资源名称
      • 资源类型
      • 验证状态(通过失败

      您可以通过单击表格上方的全部通过失败按钮来配置表格中资源信息的显示。

页首

[Topic 282787]

配置和生成报告

卡巴斯基容器安全提供了根据仓库、集群和镜像的扫描结果生成报告的功能。生成的报告列表显示在“管理报告”下。

解决方案生成的报告显示以下信息:

  • 与卡巴斯基容器安全运行逻辑相关的事件,例如扫描镜像或分析节点的结果。
  • 统计数据,例如镜像列表及其已识别的安全问题。

卡巴斯基容器安全提供以下报告模板:

根据应用的报告模板,将在解决方案的不同部分创建和生成报告。

报告生成过程可能需要几分钟时间。

生成的报告列表显示在“管理报告”下。可以下载 HTML、PDF、CSV、JSON 或 XML 格式的报告。

在卡巴斯基容器安全中,报告仅以英语生成。

本节帮助内容

镜像报告

风险接受报告

Kubernetes 基准报告

集群基准报告

生成报告

下载和删除报告

页首

[Topic 264258]

镜像报告

在卡巴斯基容器安全中,可以生成有关镜像扫描结果的报告。根据所需的信息详细程度,镜像报告可以是摘要报告或详细报告。

镜像摘要报告。

摘要报告提供有关所选镜像的综合信息。此报告提供镜像的名称以及包含这些镜像的集群的名称。摘要报告包含有关镜像是否符合安全策略要求的数据、调用了镜像扫描的策略的名称以及扫描状态。对于每个镜像,该报告都包含已识别的与漏洞、恶意软件、敏感信息和错误配置相关的风险数量的数据。

镜像详细报告

详细报告提供有关所选镜像、完成的扫描和识别的安全问题的更详细信息。每个报告都包括上次扫描的日期和时间、包含所选镜像的集群、风险评估以及是否符合安全策略要求的评估。卡巴斯基容器安全根据已识别的漏洞、恶意软件、敏感数据和错误配置显示不同严重级别的对象数量。

在包含应用的镜像安全策略说明的块中,应用程序提供了镜像安全策略列表,并指示此扫描阶段成功完成还是出现错误。该报告还详细说明了卡巴斯基容器安全根据特定策略所执行的操作。在这种情况下,报告可能会显示 CI/CD 阶段被阻止、镜像被标记为不符合安全要求,或者同时执行了这两个操作。

漏洞”部分提供已识别漏洞的列表、漏洞严重级别、在其中检测到漏洞的资源以及修复了漏洞的镜像版本。

恶意软件”和“敏感数据”部分显示了检测到的恶意对象和包含敏感数据的对象的列表。对于每个对象,都会指示严重级别和路径。

错误配置”块提供一个列表,指示在其中识别出错误配置的文件的名称、错误配置的严重级别以及文件类型(例如 Docker 文件)。它还详细说明检测到的问题并提供解决问题的建议。

卡巴斯基容器安全从内部数据库接收错误配置相关问题的描述,以进行配置文件分析。其中包含扫描以下来源配置文件的模块:Kubernetes、Dockerfile、Containerfile、Terraform、Cloudformation、Azure ARM Template 和 Helm Chart。错误配置的描述和修复建议与指定的扫描模块使用相同的语言。例如,Kubernetes 中的错误配置描述以英语提供。
该数据库会在应用程序的新版本发布时更新。

页首

[Topic 264537]

风险接受报告

风险接受报告包含有关接受的风险的数据,包括接受风险的日期和时间。您可以根据筛选器生成所有已接受风险或一组已接受风险的报告。

对于每个选定的已接受风险,其名称按以下格式指定:

  • 风险类型(漏洞、恶意软件、敏感数据或错误配置)。
  • 风险名称或 ID。
  • 风险严重程度。

卡巴斯基容器安全提供镜像名称、检测到特定风险的资源和存储库的名称以及修复了风险的镜像版本。报告表格还将显示有关风险接受的以下信息:

  • 风险接受范围
  • 确定镜像安全状态时,在应再次考虑风险前经过的时间段。
  • 接受了风险的用户。
页首

[Topic 264538]

Kubernetes 基准报告

在卡巴斯基容器安全中,您可以根据检查对象是否符合 Kubernetes 基准的结果来生成报告。

默认情况下,会为所有状态的节点生成报告 - “通过”、“警告”和“失败”。如果需要为具有特定扫描状态的节点生成报告,请在表格上方的“控制状态”部分中单击相应的状态按钮。卡巴斯基容器安全将更新合规性检查结果的显示,并为具有相关状态的节点生成报告。

根据信息详细程度,报告可以是总结报告或详细报告。

Kubernetes 基准检查总结报告

总结报告提供有关所选集群的综合信息。它列出了具有指定合规性检查状态的节点的名称,以及每个节点上次接受检查的日期和时间。所有节点的报告将显示在对象扫描期间检测到的具有选定状态的 Kubernetes 基准的数量的相关信息。

Kubernetes 基准检查详细报告

详细报告提供有关所选集群的节点或集群的特定节点的更多详细信息。具体取决于您在生成报告时所选择的解决方案子部分:

  • 从包含集群列表的表格中创建有关所选集群中节点的详细报告。
  • 页面上会生成有关节点的报告,其中包含该节点的详细描述。

对于选择用于生成报告的集群中的每个节点,还列出了最后一次执行扫描的日期和时间、被分配了扫描状态的 Kubernetes 基准的数量,以及在生成报告之前分配了所选状态的基准。

Kubernetes 基准为解决方案和应用程序的安全配置提供了配置基线和建议,以增强网络威胁防护。强化是指通过消除潜在风险来帮助防范未经授权的访问、拒绝服务以及其他安全事件的过程。

Kubernetes 基准检查示例

在检查节点是否符合 Kubernetes 基准后,卡巴斯基容器安全可以显示与安全要求相关的建议,例如:

  • 控制平面组件。
    • 控制平面节点配置文件。
      • 确保将 API 服务器 pod 规范文件的权限设置为 644 或更严格。
      • 确保将 API 服务器 pod 规范文件的所有权设置为 root:root
    • API 服务器。
      • 确保将 --anonymous-auth 参数设置为 false
      • 确保未设置 --token-auth-file 参数。
    • 控制器管理器。
      • 确保为 --terminated-pod-gc-threshold 参数设置适当的值。
      • 确保将 --profiling 参数设置为 false
  • etcd。
    • 确保为 --cert-file--key-file 参数设置适当的值。
    • 确保将 --client-cert-auth 参数设置为 true
  • 控制平面配置。
    • 身份验证和授权。
      • 不应使用客户端证书身份验证方式来认证用户。
    • 日志记录。
      • 确保创建最小审计策略。
      • 确保审计策略涵盖关键的安全问题。
  • 工作节点。
    • 工作节点配置文件。
      • 确保将 kubelet 服务文件的权限设置为 644 或更多限制。
      • 确保将 kubelet 服务文件的所有权设置为 root:root
  • 策略。
    • 基于角色的访问控制和账户
      • 确保仅在需要时使用 cluster-admin 角色。
      • 尽量减少对机密的访问。
    • Pod 安全策略
      • 最小化特权容器准入。
    • 网络策略和容器网络接口 (CNI)
      • 确保使用中的 CNI 支持网络策略。
      • 确保所有命名空间都已定义网络策略。
    • 机密管理
      • 更倾向于将机密作为文件而非环境变量使用。
      • 考虑外部机密存储。

    .

页首

[Topic 286621]

集群基准报告

该报告提供有关集群资源是否符合基准的信息。您可以为一个或多个集群生成报告。

报告包含以下信息:

  • 生成报告的日期和时间。
  • 被检查的集群的名称。如果为多个集群生成报告,则报告将显示按集群细分的信息。
  • 扫描的日期和时间。
  • 生成报告时选择的控件类别和子类别。默认将为集群中的所有控件类别和子类别生成报告。如果需要针对特定控件类别和子类别中的资源生成报告,请指定相关类别或子类别
  • 合规分数(百分比)。
  • 无法检查的控件的数量。
  • 集群中不符合基准的资源数量。

报告还包括一个表格,其中包含有关集群资源是否符合基准控制的以下信息:

  • 控件的 ID 和名称
  • 控制的严重程度
  • 补救建议
  • 控件类别
  • 合规分数(百分比)
  • 发现的每个控制的不合规资源数量

集群基准控件代表最重要的集群配置参数,这些参数可被黑客利用进行网络攻击。这些控件基于 MITRE 和 NSA/CISA 基准中网络安全强化技术和策略的系统描述。分析集群资源与基准控制的合规性可以确保适当的保护级别并及时识别基础设施的风险。

默认情况下,将针对已被检查是否符合所有基准( MITRENSA/CISA )的所有严重性级别(严重)的资源生成报告。如果您需要为具有特定严重程度的资源生成报告并检查是否符合特定基准,请使用过滤器选择所需的值。卡巴斯基容器安全将更新合规性检查结果的显示,并为具有相关参数的资源生成报告。

页首

[Topic 282788]

生成报告

在卡巴斯基容器安全中,根据您使用的特定报告模板,报告在应用程序的不同部分中生成。

报告生成过程可能需要几分钟时间。

您可以在“管理报告”下查看生成的报告列表。在该部分中,生成的报告可以 HTML、PDF、CSV、JSON 或 XML 格式下载。

页首

[Topic 294415]

生成镜像报告

要生成镜像摘要报告:

  1. 转到以下部分之一:
    • 资源仓库”,生成与解决方案集成的仓库中的镜像的报告。
    • 资源CI/CD”,生成在 CI/CD 中扫描的镜像的报告。

      在“资源CI/CD”下,仅针对镜像构件类型 (container_imageimage) 的对象生成报告。在此部分中,无法为其他类型的构件生成报告。

  2. 根据您选择的部分,执行以下操作之一:
    • 在“资源仓库”部分中,选择要为其生成报告的存储库或者一个或多个镜像。

      您可以选中表格标题中的复选框来选择所有存储库和镜像。

    • 在“资源CI/CD”部分中,选择要为其生成报告的一个或多个镜像。

      您可以选中表格标题中的复选框来指定所有存储库中的所有镜像。

  3. 单击表格上方的“创建报告”按钮,然后在下拉列表中选择“镜像摘要报告”。
  4. 在打开的窗口中,确认报告生成。

要生成镜像详细报告:

  1. 转到以下部分之一:
    • 资源仓库”,生成与解决方案集成的仓库中的镜像的报告。
    • 资源CI/CD”,生成在 CI/CD 中扫描的镜像的报告。

      在“资源CI/CD”下,仅针对镜像构件类型 (container_imageimage) 的对象生成报告。在此部分中,无法为其他类型的构件生成报告。

    • 组件扫描器扫描器任务”,根据作为扫描任务一部分扫描的镜像生成报告。
  2. 根据您选择的部分,执行以下操作之一:
    • 在“资源仓库”下,执行以下步骤:
      1. 选择要为其生成报告的存储库或者一个或多个镜像。
      2. 单击表格上方的“创建报告”按钮,然后在下拉列表中选择“镜像详细报告”。
    • 在“资源CI/CD”下,完成以下步骤:
      1. 选择要为其生成报告的存储库或者一个或多个镜像。
      2. 单击表格上方的“创建报告”按钮,然后在下拉列表中选择“镜像详细报告”。
    • 在“组件扫描器扫描器作业”下,完成以下指定步骤:
      1. 在扫描器任务列表中,选择要为其生成报告的扫描对象。您只能从包含镜像扫描结果详细说明的页面中选择一个镜像。
      2. 在包含对象扫描结果的窗口中,单击有关对象是否符合安全策略要求的描述右侧的“创建报告”按钮。

        只有扫描器作业的状态为“已完成”,才会打开含有“创建报告”按钮的扫描结果窗口。

  3. 在打开的窗口中,确认报告生成。
页首

[Topic 270332]

生成风险接受报告

要生成风险接受报告:

  1. 转至“策略风险接受”部分。

    默认情况下,会为表格中显示的所有已接受风险生成报告。如有必要,可以为特定对象生成报告。要指定要为其生成报告的对象,请执行以下一项或多项操作:

    • 在“搜索”字段中,输入风险名称、存储库名称或镜像名称。
    • 使用表格上方的“风险类型”下拉列表按风险类型选择对象。
    • 使用表格上方的“供应商修复”下拉列表按风险类型选择对象。
  2. 单击表格上方的“创建报告”按钮。

    卡巴斯基容器安全将开始生成报告,并提示您点击链接进入包含生成的报告列表的页面。

页首

[Topic 282792]

生成 Kubernetes 基准报告

要生成 Kubernetes 基准检查总结报告:

  1. 转到“合规性Kubernetes 基准”。
  2. 在“集群”字段中,选择一个或多个要生成报告的集群。

    您可以从“集群”下拉列表中选择“全部”,以生成有关所有集群的报告。

  3. 在表格上方的控制状态下,选择您想要生成报告的检查状态:通过警告失败

    默认选择所有状态。

  4. 单击表格上方的“创建报告”按钮,然后在下拉列表中选择“总结报告”。
  5. 在打开的窗口中,确认报告生成。您可以在管理报告部分下载 .HTML、.PDF、.CSV、.JSON 和 .XML 格式的生成报告。

要生成 Kubernetes 基准检查总结报告:

  1. 转到“合规性Kubernetes 基准”。
  2. 在表格上方的控制状态下,选择您想要生成报告的检查状态:通过警告失败

    默认选择所有状态。

  3. 执行以下操作之一:
    • 在“集群”字段中,选择要为其生成报告的集群,然后完成以下步骤:
      1. 单击表格上方的“创建报告”按钮。
      2. 从下拉列表中选择“详细报告”。
    • 在检查结果表中,单击集群名称并完成以下步骤:
      1. 单击选定集群中某个节点的名称。

        卡巴斯基容器安全将显示扫描期间为此节点获取的有关 Kubernetes 基准的可用数据。

      2. 单击表格上方的“创建报告”按钮。
  4. 在打开的窗口中,确认报告生成。您可以在管理报告部分下载 .HTML、.PDF、.CSV、.JSON 和 .XML 格式的生成报告。

仅为一个集群生成 Kubernetes 基准检查详细报告。然而,其中包含有关该集群中所有节点的信息。
若要获取多个集群的详细报告,您必须为每个集群单独生成一份报告。

页首

[Topic 286623]

生成集群基准报告

要为单个集群生成集群基准报告:

  1. 转到合规性集群基准部分。
  2. 执行以下操作之一:
    • 在表中,选中要为其生成报告的集群的复选框。
    • 单击表中的集群名称,转到包含集群资源检查结果的窗口。
  3. 单击创建报告按钮,该按钮位于:
    • 在表格上方,如果您使用复选框选择了集群。
    • 在检查日期和时间选择字段上方,如果您已导航到包含集群资源检查结果的窗口。
  4. 在打开的窗口中,确认报告生成。您可以在管理报告部分下载 .HTML、.PDF、.CSV、.JSON 和 .XML 格式的生成报告。

要为多个集群生成集群基准报告:

  1. 转到合规性集群基准部分。
  2. 在表中,选中要为其生成报告的集群的复选框。
  3. 单击创建报告按钮,该按钮位于表格上方。
  4. 在打开的窗口中,确认报告生成。您可以在管理报告部分下载 .HTML、.PDF、.CSV 和 .JSON 格式的生成报告。
页首

[Topic 292577]

下载和删除报告

卡巴斯基容器安全在“管理报告”部分的表格中显示生成的报告列表。

对于每个生成的报告,表格都提供应用程序分配给报告的名称、报告模板、报告的创建日期和时间以及报告生成状态。该表格还允许您以所需的格式下载成功生成的报告,或删除报告。

要下载报告:

在包含报告的行中,单击相关格式的按钮:PDF、HTML、CSV、.JSON 或 .XML。

要删除报告:

  1. 在包含要删除的报告名称的行中,单击删除图标 ("删除" 图标。)。
  2. 在打开的窗口中,确认操作。
页首

[Topic 271939]

文件威胁防护

卡巴斯基容器安全使用文件威胁防护组件来搜索和分析潜在的文件威胁,以保护容器化文件(包括压缩文件和电子邮件中的文件)免受恶意软件的攻击。如果检测到恶意软件,卡巴斯基容器安全可以阻止或删除受感染的对象,并终止使用该对象启动的恶意进程。恶意软件扫描的结果将与总体扫描结果一起显示。

您可以启用或禁用文件威胁防护并配置防护设置:

  • 选择文件拦截器的操作模式(审计或者阻止对象)。
  • 选择文件扫描模式(打开时、打开并修改时)。
  • 启用或禁用对压缩包、邮件数据库、文本格式的电子邮件消息的扫描。
  • 暂时将纯文本文件排除在重新扫描之外。
  • 限制要扫描的对象的大小和扫描持续时间。
  • 选择解决方案将对受感染对象执行的操作。
  • 配置扫描范围。卡巴斯基容器安全将扫描文件系统指定区域中的对象。
  • 配置扫描期间启发式分析器和 iChecker 技术的使用。
  • 启用或禁用将有关扫描的未感染对象、扫描的压缩对象以及未处理的对象的信息记录到安全事件日志中。

可以在“策略 → 运行时策略 → 容器运行时配置文件”下激活文件威胁防护设置,在文件威胁防护设置窗口中进行配置,并应用于所有现有的运行时策略

如果您不希望在启动某个安全环境策略时激活文件威胁防护,请使用“已禁用/已启用”切换按钮在策略设置中将其禁用。此外,请确保文件威胁防护在不同的适用运行时策略下未运行。

本节帮助内容

配置文件威胁防护设置

文件拦截器操作

数据库更新

强制禁用文件威胁防护

页首

[Topic 271406]

配置文件威胁防护设置

配置文件威胁防护需要 IS 管理员权限。

要配置文件威胁防护:

  1. 在“策略运行时策略容器运行时配置文件”部分,单击“设置”按钮。

    将打开配置文件威胁防护设置的窗口。

  2. 文件拦截器模式下,选择以下对象扫描模式之一:
    • 审计模式下,解决方案会扫描并跟踪对象的内容。
    • 强制模式下,解决方案会阻止所有不满足配置的规则和标准的对象。
  3. 扫描模式下,选择文件威胁防护模式:
    • 智能模式(默认):尝试打开文件时将对其进行扫描,如果文件已被修改,则尝试关闭文件时将再次扫描。如果进程在运行过程中多次访问某个对象并对其进行修改,则解决方案仅在该进程最后一次关闭对象时再次扫描该对象。
    • 打开和修改:尝试打开文件时将对其进行扫描,如果文件已被修改,则尝试关闭文件时将再次扫描。
    • 打开:尝试打开文件进行读取、执行或修改时,将扫描文件。
  4. 对检测到的对象所执行操作下,从下拉列表中选择以下内容:
    1. 检测到感染对象时,文件威胁防护组件将执行的第一个操作
      • 根据在文件中检测到的风险严重性级别以及清除文件的可能性执行建议的操作(默认)。

        例如,木马会被立即删除,因为它们不会感染其他文件,而清除病毒在此处并不适用。

      • 对对象进行病毒清除。受感染对象的副本将被移至备份。
      • 阻止对该对象的访问。
      • 移除对象。受感染对象的副本将被移至备份。
    2. 当第一个操作失败时,文件威胁防护组件将对检测到的受感染对象执行第二个操作
      • 根据在文件中检测到的风险严重性级别以及清除文件的可能性执行建议的操作(默认)。
      • 对对象进行病毒清除。受感染对象的副本将被移至备份。
      • 阻止对该对象的访问。
      • 移除对象。受感染对象的副本将被移至备份。

    我们建议为检测到的对象同时指定这两种操作。

    为检测到的对象选择所执行的操作时,请考虑以下事项:

    • 如果选择“阻止”或“删除”作为第一个操作,则第二个操作无需指定。
    • 如果未选择第二个操作,则默认操作为“阻止”。
    • 如果将适用的运行时策略模式设置为“审计”,则不会对检测到的对象采取任何操作。
  5. 扫描设置下,使用复选框定义包含要扫描的文件和目录的扫描对象。如果选中复选框,解决方案将扫描选定的对象。您可以从以下列表中选择一个或多个扫描设置:
    • 扫描压缩包:此复选框可启用或禁用压缩包扫描。默认情况下,该复选框处于清除状态,并且解决方案不会扫描压缩包。

      该解决方案可扫描 .ZIP、.7Z*、.7-Z、.RAR、.ISO、.CAB、.JAR、.BZ、.BZ2、.TBZ、.TBZ2、.GZ、.TGZ、.ARJ 等格式的压缩包以及 .SFX 格式的自解压压缩包。受支持的压缩包格式列表取决于所使用的数据库。

      如果启用了压缩包扫描并将“执行建议操作”设置为对检测到的对象的第一个操作,则解决方案将删除受感染的对象或包含威胁的整个压缩包,具体取决于压缩包类型。

      您可以通过指定自解压压缩包所有压缩包来定义要扫描的压缩包范围。如果您将扫描范围选为自解压压缩包,该解决方案仅扫描包含可执行解压程序的压缩包。

      要开始扫描,解决方案首先要解压压缩包,这可能会减慢扫描速度。您可以启用和配置“如果扫描时间超过(秒)则跳过对象”和“跳过大于 (MB) 的对象”设置,以减少压缩包扫描的持续时间。

    • 扫描邮件数据库:此复选框可启用或禁用对 Microsoft Outlook、Outlook Express、The Bat! 和其他邮件应用程序数据库的扫描。默认情况下,该复选框处于清除状态,并且解决方案不会扫描邮件数据库文件。
    • 扫描纯文本邮件:此复选框可启用或禁用对纯文本电子邮件消息文件的扫描。默认情况下,该复选框处于清除状态,并且解决方案不会扫描纯文本邮件。
    • 跳过文本文件:如果在最后一次扫描后 10 分钟内同一进程重复使用纯文本文件,则可以通过该复选框启用或暂时禁用对纯文本文件的扫描。此设置允许您优化应用程序日志的扫描。默认情况下,该复选框处于清除状态,并且解决方案不会扫描纯文本文件。
    • 跳过大于 (MB) 的对象:此复选框可启用或禁用对指定最大大小(以兆字节为单位)的对象进行扫描。如果要扫描的对象的大小超出指定值,则解决方案将在扫描过程中跳过该对象。

      可用值:0–999999。如果该值设置为 0,则解决方案将扫描任意大小的文件。

      默认值:0。

    • 如果扫描时间超过(秒)则跳过对象:此复选框可启用或禁用对扫描对象的时间限制(以秒为单位)。达到指定时间限制后,解决方案将停止扫描文件。

      可用值:0–9999。如果该值设置为 0,则扫描时间不受限制。

      默认值:60。

  6. 在“技术”部分,选中复选框来定义解决方案将用于扫描对象的技术。您可以选择以下选项之一:
    • 使用 iChecker:此复选框可启用或禁用仅扫描新文件和自上次扫描以来经修改的文件。iChecker 是一种扫描方法,它通过跳过一些自扫描以来未经修改的先前扫描文件来减少总体扫描时间。

      如果选中该复选框,解决方案将仅扫描新文件和自上次扫描以来经修改的文件。如果清除该复选框,解决方案将扫描所有文件,无论其创建或修改日期如何。

      默认情况下,该复选框处于选中状态。

    • 使用启发式分析:此复选框可启用或禁用扫描对象时使用启发式分析。启发式分析使得解决方案能识别恶意软件分析师从未发现的安全威胁。

      默认情况下,该复选框处于选中状态。

      如果选中“使用启发式分析”复选框,则可以选择启发式分析级别。通过指定启发式分析级别,可在安全威胁扫描的严谨性、操作系统的负载以及扫描持续时间之间实现平衡。级别越高,扫描需要的资源越多,并且花费的时间越长。您可以选择以下选项之一:

      • 推荐(默认):卡巴斯基专家推荐的最佳级别。这在确保防护质量和对受保护服务器性能的影响之间达到了完美平衡。
      • 轻度:详细度最低的扫描,系统负载最小。
      • 中度:扫描详细度中等,实现系统负载平衡。
      • 深度:详细度最高的扫描,系统负载最大。
  7. 事件日志记录下,选中复选框以确定是否将事件记录在安全事件日志中。您可以选择一个或多个事件日志选项:
    • 记录未感染对象:此复选框可启用或禁用对已被解决方案识别为未感染扫描对象有关信息的日志记录。
    • 记录未处理对象:此复选框可启用或禁用对出于任何原因未经处理的扫描对象有关信息的日志记录。
    • 记录打包对象:此复选框可启用或禁用对作为复合对象构成部分(如压缩包)的扫描对象有关信息的日志记录。

    如果选中该复选框,解决方案将记录所有对象的事件。如果清除该复选框,则不会记录该事件。默认情况下,该复选框处于清除状态。

  8. 单击“保存”。
页首

[Topic 272300]

文件拦截器操作

运行对象扫描作业时,文件威胁防护将使用文件操作拦截器。它将被设置为以下文件拦截模式之一 (InterceptorProtectionMode):

  • 强制(默认):在使用文件拦截器的扫描作业持续期间阻止文件。扫描完成之前无法访问任何文件。当检测到受感染的对象时,解决方案将执行对检测到的对象执行的操作下设置中指定的操作。
  • 审计:在使用文件拦截器的扫描作业期间不会阻止文件。允许访问任何文件;扫描是异步执行的。当检测到感染对象时,解决方案仅在事件日志中记录事件。而不会执行对检测到的对象执行的操作下的设置中指定的操作。

    如果选择了审计值,解决方案将启用文件威胁防护的通知模式。

在运行时策略中激活文件威胁防护时,将应用配置的组件设置。这些设置对于所有创建的运行时策略相同。如果适用的运行时策略被设置为审计模式,并且文件威胁防护中的 InterceptorProtectionMode 被设置为强制,则解决方案将阻止这些文件。

页首

[Topic 297728]

数据库更新

文件威胁防护数据库保持最新,以确保最大程度地保护容器对象免受文件威胁。更新会按照计划或需求自动运行。

部署新代理时,解决方案会更新,然后应用更新的文件威胁防护数据库。

在公共公司网络中部署解决方案时,直接从更新服务器执行更新。在专用公司网络中安装解决方案时,更新的文件威胁防护数据库将被添加到 kcs-updates 容器中,以便后续运行和更新。

将更新的数据库应用到正在运行的代理不会违反节点的主动运行时保护。数据库更新记录在事件日志中。

如果在更新数据库时出现错误,解决方案会取消文件威胁防护更新并继续使用以前安装的数据库。更新期间发生的错误会被记录到位于 node-agent Pod 中的 events.db 文件中。

如果为代理组启用了文件威胁防护,则 events.db 文件可用。

页首

[Topic 275802]

强制禁用文件威胁防护

在卡巴斯基容器安全 2.0 中,您可以完全禁用文件威胁防护组件。如果您遇到组件问题,这可能必不可少。

您可以通过两种方式强制禁用文件威胁防护组件:修改集群上部署代理的文件和修改正在运行的代理。

要使用代理部署文件强制禁用文件威胁防护:

  1. 打开 .YAML 文件,其中包含您在部署代理时下载的在集群上部署代理的说明。
  2. 在 node-agent 的DaemonSet部分中,将FILE_THREAT_PROTECTION_ENABLED环境变量设置为false

    name: FILE_THREAT_PROTECTION_ENABLED

    value: false

  3. 将更改保存到说明文件。
  4. 在控制台中,通过运行kubectl apply -f agents.yaml应用说明文件

    编排器将重新部署 node-agent Pod,并禁用文件威胁防护。

要在代理运行时强制禁用文件威胁防护:

  1. 在控制台中,使用kubectl edit命令打开正在运行的代理。
  2. 在 node-agent 的DaemonSet部分中,将FILE_THREAT_PROTECTION_ENABLED环境变量设置为false

    name: FILE_THREAT_PROTECTION_ENABLED

    value: false

  3. 保存更改。

    编排器将应用已保存的更改并禁用文件威胁防护。

页首

[Topic 265983]

用户、角色和范围

本节介绍如何使用用户和用户角色,并提供有关如何创建、编辑和删除它们的说明。本节还描述了如何使用范围来为不同用户角色提供不同级别的访问权限。

本节帮助内容

管理用户

关于用户角色

使用系统角色

显示角色列表

关于范围

安全策略的范围和执行

在范围之间切换

添加用户、角色和范围

重置用户账户密码

更改用户、角色和范围的设置

删除用户、角色和范围

页首

[Topic 250413]

管理用户

多个用户可以访问卡巴斯基容器安全。为每个用户创建一个用户账户,并为其分配一个或多个用户角色。

卡巴斯基容器安全用户列表显示在“管理访问管理用户”部分的表格中

您可以执行以下操作:

页首

[Topic 251976]

关于用户角色

卡巴斯基容器安全中的用户角色是在解决方案 Web 界面中执行特定操作的一组权限。根据用户的角色,用户可以访问不同的部分和功能。

卡巴斯基容器安全提供用户角色以及系统角色,它们具有预定义的访问权限集来执行保护容器环境的常见任务。

在解决方案的初始安装过程中提供了以下系统角色:

  • 卡巴斯基容器安全管理员角色用于负责部署和支持解决方案正常运行所需的基础架构和系统软件(例如操作系统、应用程序服务器和数据库)的用户。这些用户管理卡巴斯基容器安全中的用户账户、角色和访问权限。

    在 Web 界面中,此角色用缩写 KCSADM 表示。

  • 信息安全管理员(IS 管理员)角色用于负责创建和管理用户账户、用户的角色和访问权限、更改设置、连接公共镜像仓库、代理和输出以及配置安全策略的用户。

    在 Web 界面中,此角色用缩写 ISADM 表示。

  • IS 审计员角色用于查看解决方案的资源和用户列表以及监视扫描和合规性检查结果的用户。

    在 Web 界面中,此角色用缩写 ISAUD 表示。

  • IS 管理人员角色用于查看和管理安全策略、连接公共镜像仓库以及查看其直接参与的项目的运行时容器分析结果的用户。

    在 Web 界面中,此角色用缩写 ISOFF 表示。

  • 开发人员角色用于执行合规性检查并查看仓库和 CI/CD 镜像扫描结果、集群资源以及已接受的风险的用户。

    在 Web 界面中,此角色用缩写 DEV 表示。

您可以在创建查看用户账户时向这些用户账户分配系统角色。

可以为一个用户分配多个用户角色。

如果不需要某个特定系统角色,可以将其删除。

但是,您不能删除有权管理其他角色的最后一个活动的系统角色。

如果可用的系统角色不提供所需的访问权限,您可以创建自己独特的权限集作为自定义角色。

创建自定义角色时,请考虑访问相关功能所需的权限集。例如:

  • 要查看和配置响应策略的设置,您需要查看与通知服务的集成的权限。如果不授予此权限,当您尝试配置响应策略时,卡巴斯基容器安全将显示错误。
  • 管理响应策略的权限必须与管理通知的权限一起授予,否则您将无法在策略设置中选择输出。
  • 要创建用户,您需要查看和管理角色的权限。如果不授予此类权限,则仅向创建的用户显示仪表盘。
  • 管理用户的权限必须与管理角色的权限一起授予,否则您将无法在创建用户时分配角色。

您可以向用户账户分配用户角色,就像分配系统角色一样。此外,您还可以更改用户角色的设置以及删除用户角色。

在将范围分配给角色时,您必须考虑到,只有将此范围分配给您的某个角色,才能在特定的范围内实施安全策略。

如果解决方案已经与 LDAP 服务器集成,卡巴斯基容器安全还会接收并显示来自 Active Directory 服务的角色和用户组

页首

[Topic 295233]

使用系统角色

下表列出了在安装后具有系统角色的用户在卡巴斯基容器安全 Web 界面中可执行的主要操作。

用户角色及其可执行的操作

操作

卡巴斯基容器安全管理员

IS 管理员

IS 审计员

IS 管理人员

开发人员

查看镜像扫描结果

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

手动开始扫描镜像

"否" 图标。

"是" 图标。

"否" 图标。

"是" 图标。

"否" 图标。

管理风险(接受风险、编辑风险和取消风险接受)

"否" 图标。

"是" 图标。

"否" 图标。

"是" 图标。

"否" 图标。

查看已接受的风险

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

查看集群

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

管理集群

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

查看仓库

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

将镜像添加到仓库

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

从仓库中删除存储库/镜像

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看 CI/CD 扫描结果

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

管理 CI/CD 扫描

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

查看和管理代理

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看基准合规性检查结果

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

开始基准合规性检查

"否" 图标。

"是" 图标。

"否" 图标。

"是" 图标。

"否" 图标。

查看扫描器策略

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"否" 图标。

管理扫描器策略

"否" 图标。

"是" 图标。

"否" 图标。

"是" 图标。

"否" 图标。

查看保障策略

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"否" 图标。

管理保障策略

"否" 图标。

"是" 图标。

"否" 图标。

"是" 图标。

"否" 图标。

查看响应策略

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"否" 图标。

管理响应策略

"否" 图标。

"是" 图标。

"否" 图标。

"是" 图标。

"否" 图标。

查看运行时策略

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"否" 图标。

管理运行时策略

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

管理自动配置文件设置

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看文件威胁防护设置

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

管理文件威胁防护设置

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看用户列表

"是" 图标。

"是" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

管理用户

"是" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看角色和权限集

"是" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

管理角色和权限集

"是" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看范围

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

管理范围

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看全局范围

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

管理全局范围

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看事件日志

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"否" 图标。

查看授权许可信息

"是" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

管理授权许可设置

"是" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看镜像仓库集成

"否" 图标。

"是" 图标。

"是" 图标。

"是" 图标。

"否" 图标。

查看镜像仓库集成

"否" 图标。

"是" 图标。

"否" 图标。

"是" 图标。

"否" 图标。

查看与镜像签名验证器的集成

"否" 图标。

"是" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

管理与镜像签名验证器的集成

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看与通知系统的集成

"否" 图标。

"是" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

管理与通知系统的集成

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看报告

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

管理报告

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看和管理与 LDAP 服务器的集成

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看和管理身份验证设置

"是" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

查看有关核心组件状态的信息

"否" 图标。

"是" 图标。

"否" 图标。

"否" 图标。

"否" 图标。

页首

[Topic 266512]

显示角色列表

卡巴斯基容器安全在“管理访问管理角色”部分中显示活动角色列表。

该表格显示了所有活动的系统角色和用户角色,并指示了它们的 ID、名称以及分配给特定角色的用户数量。如果您已配置与 LDAP 的集成,该表还会显示与卡巴斯基容器安全中的用户角色相对应的 Active Directory 用户组。

页首

[Topic 266001]

关于范围

在卡巴斯基容器安全中,范围指的是基于使用该解决方案的原因而生成的资源列表(例如,特定集群、多个外部仓库或特定命名空间)。

范围用于以下目的:

在卡巴斯基容器安全中,您可以添加您自己的范围或将默认的全局范围分配给用户。

全局范围包括对所有解决方案资源的访问。在安装卡巴斯基容器安全期间默认添加此范围。

您无法更改全局范围的设置或将其删除。

只有拥有适当权限的用户才能访问全局范围。要将全局范围分配给其他用户和角色,您需要拥有管理全局范围的权限。

如果将全局范围分配给策略,则该策略将应用于所有资源并在所有环境中应用。

页首

[Topic 291790]

安全策略的范围和执行

在卡巴斯基容器安全中,为所有安全策略都指定了范围。为了确保扫描所有必要资源,可以为每个策略分配一个或多个范围。此外,还可以在多个策略中指定相同的范围。

无论范围内实施的策略数量如何(例如,在运行时扫描镜像或扫描集群时),都会应用所有安全策略。

当同时应用多个安全策略和多个范围时,以下规则适用:

  • 对于扫描器策略:使用累计的设置列表执行扫描,该列表是通过合并范围内所有有效的扫描策略来获得的。
  • 对于保障策略:扫描镜像时,将根据所指定的范围应用适用于所扫描资源的所有策略。
  • 对于响应策略:当事件发生时,使用适用于分配的范围中指定的资源的所有响应策略中指定的通知工具来通知用户。
  • 对于运行时策略:根据分配给范围的所有适用策略监控容器,并在必要时阻止容器在运行时运行。

    如果范围包括受审计模式下的运行时策略和强制模式下的运行时策略约束的对象,则运行时策略中指定的所有操作都将在强制模式下应用。

页首

[Topic 294426]

在范围之间切换

在卡巴斯基容器安全中,可以将多个范围分配给一个角色。您可以查看可用范围的列表或切换范围以访问不同范围中的可用资源。

在范围之间切换时,请记住以下几点:

  • 如果按仓库选择包含资源的范围,则在“资源集群”部分中,卡巴斯基容器安全不会显示集群、命名空间和 Pod 的列表。将显示资源之间链接的完整可视化表示,但您无法查看有关可用范围之外的对象的信息
  • 在“资源仓库”部分中,按集群选择包含资源的范围。然后,卡巴斯基容器安全会显示用于启动集群中容器的镜像列表。
  • 在“扫描器”部分中,您可以查看所有扫描器和扫描任务的列表。但是,如果扫描的对象不在您可以使用的范围内,则无法查看有关该对象的信息。
  • 在“合规性Kubernetes 基准”部分中,卡巴斯基容器安全显示范围内集群中所有节点的列表,无论范围内的集群详细信息级别如何。但是,如果某个集群节点不在您可以使用的范围内,则无法查看有关该集群节点的信息。
  • 在“策略”部分中,卡巴斯基容器安全显示以下内容:
    1. 其中至少一个作者的角色与您的角色相匹配的所有策略。
    2. 其中至少一个范围与您选择的范围相匹配的所有策略。
    3. 链接到分配给您的角色的范围的所有策略。但是,您无法删除这些策略或编辑其设置。

要切换范围:

  1. 转到以下部分之一:
    • 资源集群
    • 资源仓库
    • 合规性Kubernetes 基准
    • 策略”部分的子部分:“扫描器策略”、“保障策略”、“响应策略”或“运行时策略”。
  2. 在窗口右上部分的可用范围下拉列表中,选择所需的范围。

    还可以通过在列表中选择“所有”来激活所有范围。

页首

[Topic 266008]

添加用户、角色和范围

要添加用户账户:

  1. 在“管理 → 访问管理 → 用户”部分中,单击用户列表上方的“添加用户”按钮。
  2. 在打开的窗口中,指定以下设置:
    • 用户名是必须分配给用户的唯一值,作为卡巴斯基容器安全中的标识。

      用户名只能包含英文字母和数字。用户名最小长度为 4 个字符,最大长度为 254 个字符。

    • 显示名称(可选)是解决方案 Web 界面中显示的值。如果不指定此参数,则 Web 界面中将显示用户名。
    • 电子邮件(可选)。
  3. 在“密码”字段中输入密码。

    密码的要求如下:

    • 密码必须包含数字、特殊字符、大写和小写字母。
    • 最小密码长度为 6 个字符,最大密码长度为 72 个字符。默认密码长度为 8 个字符。
  4. 在“确认密码字段中”确认输入的密码。
  5. 如果用户应在解决方案下次启动时更改密码,请选中该复选框。
  6. 可用角色列表中进行选择,为用户分配角色。

    虽然创建用户时不需要分配角色,但没有分配角色的新用户将无法与卡巴斯基容器安全交互。

  7. 单击“添加”。

要添加用户,需要具备查看和配置设置的权限。如果没有这些权限,则添加的任何用户都只能查看解决方案的主页面。

要添加用户角色:

  1. 在“管理 → 访问管理 → 角色”部分中,单击角色列表上方的“添加角色”按钮。
  2. 在打开的窗口中,指定以下值:
    • 角色 ID 是必须分配给角色的唯一值,作为卡巴斯基容器安全中的标识。

      角色 ID 可以包含大写拉丁字母和数字。角色 ID 不能包含特殊字符或空格。

    • 角色名称是解决方案 Web 界面中显示的值。
    • 描述(可选)。
    • 范围是用于区分对资源的访问权限的设置。
  3. 在“Active Directory 映射”字段中,指定用户所属的 Active Directory 组。
  4. 选中可用于添加角色的权限旁边的复选框。
  5. 单击“添加”。

要添加范围:

  1. 在“管理访问管理范围”部分中,单击包含范围列表的表格上方的“添加范围”按钮。
  2. 在打开的窗口中,指定范围名称,并在必要时指定范围描述。
  3. 在“资源”部分中,为范围选择资源:
    • 单击“按仓库添加资源”按钮,然后在下拉列表中为范围选择仓库。您可以通过在下拉列表中选择特定存储库并从这些存储库中选择镜像来定义更具体的范围。
    • 单击“按集群添加资源”按钮,然后从下拉列表中为范围选择编排器。您可以通过从部署在集群中的容器所属的编排器中选择特定的集群、命名空间和镜像来定义更具体的范围。

    您必须至少指定一项被授予监控访问权限的资源。

  4. 单击“将对象设置到范围”。
  5. 单击“保存”按钮保存范围。
页首

[Topic 254462]

重置用户账户密码

要重置用户账户密码,

  1. 请转至“管理访问管理用户”部分。
  2. 执行以下操作之一:
    • 在用户列表中,选择特定用户账户行,然后单击表格上方的“重置密码”链接。
    • 在用户账户行中,打开菜单 (上下文菜单图标。) 并选择“重置密码”。
页首

[Topic 266123]

更改用户、角色和范围的设置

要编辑用户账户:

  1. 在“管理访问管理用户”部分中,单击用户列表中的用户名。
  2. 在打开的窗口中进行必要的更改。

    如果对具有管理员权限的用户账户进行更改,则不要删除所有角色,因为这样做会导致管理员失去对解决方案的访问权限。

  3. 单击“保存”。

要编辑用户角色:

  1. 在“管理访问管理角色”部分中,单击角色列表的“角色 ID”列中的角色标识符。
  2. 在打开的窗口中进行必要的更改。
  3. 单击“保存”。

    修改某个角色后,所有被分配该角色的用户都必须重新授权。

    如果某个角色是最后一个有权管理用户账户、用户角色或全局范围的活动系统角色,则无法编辑该角色。

要编辑范围:

  1. 在“管理访问管理范围”部分中,单击包含范围列表的表格的“范围名称”列中的范围名称。
  2. 在打开的窗口中进行必要的更改。
  3. 单击“保存”。
页首

[Topic 266056]

删除用户、角色和范围

要删除用户账户:

  1. 在“管理 → 访问管理 → 用户”部分中,执行以下操作之一:
    • 从特定用户账户行中选择用户,然后单击包含用户列表的表格上方的“删除”链接。

      您可以选择一个或多个用户账户。

    • 在包含用户账户的行中,打开菜单 (上下文菜单图标。) 并选择“删除用户”。
  2. 在打开的窗口中,单击“删除”以确认删除。

    无法删除卡巴斯基容器安全中用于授权的用户账户。

要删除用户角色:

  1. 在“管理 → 访问管理 → 角色”部分中,在角色列表的角色行中,单击删除图标 ("删除" 图标。)。
  2. 在打开的窗口中,单击“删除”以确认删除。

您无法删除有权管理其他用户账户、用户角色或全局范围的最后一个活动的系统角色。
如果某个角色已分配给任意用户,也无法删除该角色。

要删除范围:

  1. 在“管理 → 访问管理 → 范围”部分中,在范围列表的角色行中,单击删除图标 ("删除" 图标。)。
  2. 在打开的窗口中,单击“删除”以确认删除。

    您无法删除默认的全局范围。
    如果某个应用范围分配给不同的活动用户角色,也无法删除该应用范围。

页首

[Topic 275135]

使用卡巴斯基容器安全 OpenAPI

卡巴斯基容器安全实施开放应用程序编程接口 (OpenAPI),可以访问该解决方案的功能。例如,您可以使用卡巴斯基容器安全 OpenAPI 获取有关解决方案组件的信息、创建、修改和删除对象、生成报告以及执行其他操作。

有关使用卡巴斯基容器安全 OpenAPI 可以执行的操作的完整列表,请参阅描述 OpenAPI 请求的文档。

OpenAPI 请求的文档可在设置关于部分的技术文档下找到。该文档是英文的开发人员指南。开发人员指南还提供了对 API 服务器的请求中可用的代码示例和可调用项的详细描述。

JSON 用于表示请求和响应中的数据。

页首

[Topic 275586]

安全事件日志

在“管理事件”部分,卡巴斯基容器安全会显示可用于提供信息的已发生事件,以跟踪正在运行的进程、分析安全威胁以及确定导致解决方案失败的原因。

卡巴斯基容器安全会显示以下类型的事件:

  • 审计事件。这组事件包括用户活动审计数据,例如有关解决方案的配置设置、用户身份验证、组中的变化以及解决方案内信息的修改或删除的信息。
  • 解决方案运行结果。这些事件包括有关触发的响应策略的警报。
  • 解决方案应用程序内部操作的记录。

卡巴斯基容器安全会显示以下安全事件类别:

  • 管理 – 所有与解决方案管理相关的事件都会被记录。
  • 策略(扫描器策略、保障策略、响应策略、运行时策略)– 与镜像符合或不符合适用策略相关的事件。
  • 恶意软件 – 在扫描镜像和节点期间检测到恶意软件时发生的事件。
  • 敏感数据 – 与扫描期间检测到暴露的敏感数据相关的事件(例如,扫描的镜像、功能和节点)。
  • 不合规 – 记录以下事件:
    • 检测到不合规镜像。
    • 不符合要求的功能,以及这些功能的运行时实现。
    • 不符合要求的节点,以及这些节点的运行时操作。

将显示特定时间段内的安全事件列表。您可以选择提供的选项之一或定义您自己的时间段。对于您选择的任何时间段,时间从当天开始算起。默认情况下,显示前一周的事件。

卡巴斯基容器安全会显示扫描期间发生的事件。对于以下组件,事件显示为表格:

  • 管理
  • 警报
  • CI/CD
  • 策略
  • 资源
  • 运行时。
  • 扫描器
  • API

对于每个事件,该表格都会指示事件的日期和时间、用户的 IP 地址、描述和状态。对于某些事件,还会列出用户名,例如涉及管理、恶意软件和敏感数据类别的事件。安全威胁级别也会在警报中指明。对于与扫描器组件相关的事件,还会记录解决方案生成的标识符和扫描作业的状态。对于运行时 指示模式(审计阻止)、集群和部署的 Pod。

卡巴斯基容器安全的安全事件日志在 PostgreSQL 中维护和存储,没有数据保护机制。

页首

[Topic 273345]

有关解决方案组件状态的信息

卡巴斯基容器安全可让您查看有关组件和集成状态的信息,以便诊断和改进解决方案组件和集成的第三方服务的运行。对以下组件进行状态监控并提供性能数据:

  • 核心组件。信息在组件核心部分中进行提供。
  • 代理。数据显示在组件代理部分。
  • 激活的集成。信息在管理集成部分中进行提供。

卡巴斯基容器安全组件状态的最新数据也记录在安全事件日志中。

您可以查看有关解决方案组件状态的信息,与授权许可的状态无关(授权许可可以是有效或已过期)。

本节内容

核心状态

代理状态

集成状态

页首

[Topic 273346]

核心状态

卡巴斯基容器安全内核组件的状态信息以表格的形式显示在组件内核部分的表格中。

为每个核心组件提供以下数据:

  • 组件名称。解决方案显示分发套件中包含的组件。
  • Pod 名称(例如,kcs-postgres-0kcs-scanner-xxxkcs-ih-xxx)。
  • 状态。解决方案会指定以下状态之一:
    • Good – 组件运行正常。
    • 警告 – 组件检测到的故障不会妨碍组件的整体实施。
    • 错误 – 由于操作不正确,组件无法实施。

    如果解决方案将警告错误状态分配给内核组件,卡巴斯基容器安全将显示组件故障的简要描述。

    状态根据安全事件日志中的条目,根据组件的最后一个心跳消息的数据进行分配。

  • 包含组件事件记录(例如,错误)的日志。您可以通过点击Pod 日志列的下载日志按钮来下载文本文档格式的日志。

要查看内核组件状态的数据,您必须具有查看核心组件的权限。默认情况下,这些权限被授予IS 管理员角色。

页首

[Topic 283101]

代理状态

卡巴斯基容器安全代理的状态信息以表格形式显示在组件代理部分中;它也会在所选代理的侧栏中展开。

表格显示代理组内每个代理的以下信息:

  • 代理名称
  • 状态。解决方案会指定以下连接状态之一:
    • 已连接表示代理已连接并且正常运行。
    • 断开连接表示代理已断开连接。
    • 待处理表示解决方案正在连接代理。

    状态根据安全事件日志中的条目,根据代理的最后一个心跳消息的数据进行分配。

  • 版本。解决方案显示代理的当前版本。如果已安装的卡巴斯基容器安全版本有新代理版本可用,则会显示最新的可用代理版本。
  • Pod。解决方案显示在其中部署代理的 Pod 的名称。
  • 作为节点状态监控的一部分收到的信息。解决方案提供有关网络活动监控和分析操作、容器中的进程以及文件威胁防护的信息。对于每个操作(容器进程网络连接文件威胁防护),都会显示其状态:已启用已禁用。如果某个代理断开连接,则所有节点状态监控操作都变为已禁用状态。

    如果代理已连接,则还会显示每个操作的代理的最后状态:成功不可用错误。如果显示错误,解决方案还会显示错误和有关详情的简要描述。

    负责监控网络连接、容器内进程和文件操作以及文件威胁防护的代理组件的状态仅适用于连接的节点代理。对于 kube-agent 代理来说,这些组件的状态始终为不可用

    解决方案根据安全事件日志记录显示此信息。

  • SIEM 状态 解决方案显示 SIEM 系统的名称和以下连接状态之一:
    • 成功,如果代理连接到特定的 SIEM 系统,并且事件消息被正确发送到该 SIEM 系统。
    • 警告,如果代理连接到特定的 SIEM 系统,并且事件消息被正确发送到该 SIEM 系统。不过,代理链接的 SIEM 与代理组设置中指定的 SIEM 系统不同。
    • 错误,如果在将代理连接到 SIEM 系统或发送消息时发生错误。如果没有为与代理链接的集成定义导出的运行时事件,也会被视为错误。

    如果代理未链接到 SIEM 系统,则解决方案指示没有连接。

    对于 kube_agent,从不指示连接状态,因为 SIEM 系统仅与 node-agent 代理通信。

  • 上次连接的日期和时间。

您可以在侧栏中查看有关特定代理的状态的信息。要打开侧边栏,请单击表中的代理名称。卡巴斯基容器安全显示有关所选代理的以下信息:

  • 代理名称。
  • 在其中部署代理的节点的 IP 地址。
  • 在其中部署代理的节点名称。
  • Pod 名称。
  • 代理类型。
  • 代理版本。
  • 代理连接状态 – 已连接已断开连接待处理
  • 代理上次连接的日期和时间。
  • 节点监控状态下,解决方案显示每个节点监控操作(容器进程网络连接文件威胁防护)的代理的最后注册状态(成功不可用错误)的信息。如果某项操作被禁用以避免节点上出现不必要的负载,则会显示“已禁用”状态。
  • 代理组下,解决方案显示有关选定代理所属的代理组的以下信息:
    • 组名称
    • 命名空间
    • 编排器

要查看有关代理状态的信息,您需要具有查看和管理代理组件的权限。默认情况下,这些权限被授予IS 管理员角色。

页首

[Topic 273347]

集成状态

有关活动的卡巴斯基容器安全集成状态的信息显示在管理集成部分。解决方案显示以下类型的集成的状态信息:

要查看有关集成状态的信息,您需要以下权限:

  • 查看与镜像仓库集成的权限。默认情况下,这些权限被授予 IS 管理员、IS 审计员和 IS 官角色。
  • 查看与输出集成的权限。默认情况下,这些权限被授予 IS 管理员和 IS 审计员角色。
  • 查看和管理 LDAP 服务器集成的权限。默认情况下,这些权限被授予 IS 管理员角色。
页首

[Topic 283490]

确保组件的安全性和可靠性

为了确保组件的安全性和可靠性,卡巴斯基容器安全中实现了以下自动维护机制:

  • 自动删除镜像扫描历史记录和系统事件。如果数据保存超过 90 天,则会被视为过时并被删除。

    每小时检查一次过时的条目。

  • 连接失败时自动重新连接。卡巴斯基容器安全每 30 秒尝试重新连接一次,直到连接恢复。

    与外部仓库和 LDAP 服务器的集成不会执行自动重新连接。它们会在解决方案发送连接请求时连接。

    • 扫描失败后重新扫描镜像。扫描仪会重新扫描镜像,直到扫描完所有镜像或超出扫描尝试次数为止。
页首

[Topic 290113]

管理数据积累动态

卡巴斯基容器安全组件运行会导致大量数据积累,需要相当大的磁盘空间资源进行存储。您可以通过限制存储期限和清理数据库来管理数据积累的动态。

解决方案的以下组件对磁盘空间的负载最大:

  • PostgreSQL DBMS
  • S3 兼容文件存储
  • ClickHouse DBMS

PostgreSQL DBMS

我们建议您联系解决方案部署工程师或技术支持,使用端口转发选项和vacuum命令连接到 PostgreSQL DBMS。

您可以通过调整资源最密集的数据(扫描结果和事件日志)的存储期限来降低数据库满载的风险。为此,在中间件(kcs-middleware)部署期间必须指定以下变量的值:

  • EVENT_LIFETIME_HOURS是一个变量,定义事件日志中记录的存储时间。
  • SCAN_LIFETIME_HOURS 是决定扫描结果存储期限的变量。

变量值以小时为单位表示,最小允许值为1 小时。默认值为 2160 小时(90 天)。

在使用经过调整的指定变量的值部署中间件之前,必须停止中间件(kcs-middleware)和代理经纪(kcs-ab)的运行。否则,这些组件在清理时会继续处理数据,并可能阻碍这一过程。

在不需要数据完整性和一致性、甚至可能丢失数据的测试(试点)基础设施中,您可以使用更快的清理方法。为此,您必须删除 PostgreSQL PV 并在没有数据的情况下再次创建 PostgreSQL PV。创建的持久卷可以是相同大小,也可以更大。

S3 兼容文件存储

解决方案仅使用与 s3 兼容的文件存储来存储报告文件。

为了在存储已满时清理存储,集群管理员必须执行以下操作:

  1. 使用端口转发选项连接到 Minio 文件存储组件(kcs-s3)。
  2. 下载所有报告,如有必要,将其保存在另一个地方以供进一步存储。
  3. 删除数据。

如有必要,您可以使用标准集群工具增加持久卷。

ClickHouse DBMS

解决方案的 Clickhouse 数据库中表的设置需要不断清除。如果基础设施中的负载非常高,资源可能没有时间被清理。在此情况下,您可以使用标准集群工具增加持久卷。

您必须使用解决方案基础设施框架内批准的第三方工具独立组织对可用磁盘空间及其使用动态的监控。

页首

[Topic 265971]

备份和恢复数据

PostgreSQL 机制可用于 PostgreSQL 数据库备份和数据恢复。您可以将该机制应用于卡巴斯基容器安全中的 PostgreSQL 数据库或者您可能拥有的现有 PostgreSQL 数据库。

数据库备份副本是使用 pg_dump 实用程序创建的。备份副本包括所有主要设置和 PostgreSQL 数据库对象,即使数据库是并行使用的。如果有备份副本,则可以快速恢复数据库。

如果没有备份副本,故障可能会导致 PostgreSQL 数据库中存储的信息不可恢复地丢失。

使用 pg_dump 实用程序可将 PostgreSQL 数据库导出为脚本或存档格式(例如 .TAR)。

pg_dump 实用程序使用示例

#!/bin/bash

# Set variables

postgres_podname="kcs-postgres-0"

namespace="kcs"

POSTGRES_USER="pguser"

POSTGRES_DATABASE="api"

date=$(date +"%Y-%m-%dT%H:%M:%S"-"backup")

dir_main="$namespace-$date"

dir_db=$dir_main/db

# Start script

mkdir -p $dir_main $dir_db

# Get postgres dump

kubectl exec -it $postgres_podname -n $namespace -- bash -c "pg_dump -U ${POSTGRES_USER} -F c ${POSTGRES_DATABASE} > /tmp/pg_dump_backup.sqlc"

kubectl cp "$namespace/$postgres_podname:/tmp/pg_dump_backup.sqlc" pg_dump_backup.sqlc

mv pg_dump_backup.sqlc $dir_db/

kubectl exec -it $postgres_podname -n $namespace -- bash -c 'rm -rf /tmp/pg_dump_backup.sqlc'

要从备份副本恢复 PostgreSQL 数据库,可以使用 pg_restore 实用程序。它可以从 pg_dump 实用程序创建的压缩包中恢复 PostgreSQL 数据库。pg_restore 实用程序执行的命令会将数据库恢复到保存数据库时的状态。

pg_restore 实用程序使用示例

#!/bin/bash

# Set variables

postgres_podname="kcs-postgres-0"

namespace="kcs"

POSTGRES_USER="pguser"

POSTGRES_DATABASE="api"

dir_db_backup="~/pg_dump_backup.sqlc"

# Postgres restore

kubectl cp $dir_db_backup "$namespace/$postgres_podname:/tmp/pg_dump_backup.sqlc"

kubectl exec -it $postgres_podname -n $namespace -- bash -c "pg_restore -U ${POSTGRES_USER} -d ${POSTGRES_DATABASE} -c /tmp/pg_dump_backup.sqlc"

kubectl exec -it $postgres_podname -n $namespace -- bash -c 'rm -rf /tmp/pg_dump_backup.sqlc'

页首

[Topic 250760]

联系技术支持

如果您在应用程序文档或应用程序的其他信息来源中找不到问题的解决方案,建议您联系技术支持。技术支持专家将回答您有关安装和使用应用程序的问题。

卡巴斯基为此应用程序的整个生命周期提供技术支持(请参阅产品支持生命周期页面)。联系技术支持前,请先阅读技术支持规则

您可以通过以下方式之一联系技术支持专家:

页首

[Topic 250761]

应用程序的信息来源

卡巴斯基网站上的卡巴斯基容器安全页面

卡巴斯基容器安全页面上,您可以查看有关应用程序及其功能和特性的一般信息。

在论坛上讨论卡巴斯基应用程序

如果您的问题不需要立即回答,您可以在我们的论坛上与卡巴斯基专家和其他用户讨论。

在此论坛上,您可以查看现有主题、留下自己的评论以及创建新的讨论主题。

页首

[Topic 299199]

限制和警告

卡巴斯基容器安全 2.0 有许多限制,但对解决方案的运行并无影响:

  • 使用 PostgreSQL 11.* 或更高版本时,您需要将uuid-ossppgcrypto扩展与卡巴斯基容器安全数据库一起使用。
  • 卡巴斯基容器安全更新的持续时间取决于可用数据库的容量。如果您的数据库包含许多包含镜像扫描结果、漏洞描述和已接受风险的表格记录,则更新可能需要几个小时。

    我们建议在活动时间之外更新卡巴斯基容器安全。

  • 如果您需要运行多次镜像漏洞扫描,我们建议您禁用扫描器策略中的错误配置扫描选项,因为此操作可能会消耗大量资源,特别是在处理大尺寸镜像时。
  • 如果在扫描仪操作的扫描仪策略中启用了错误配置控制,则扫描时间会显著增加。包含最多 1000 个 YAML、YML 和 JSON 格式的配置文件的镜像已成功测试,但无法保证扫描仪对包含超过 1000 个配置文件的镜像进行正确操作。
  • 如果镜像大小超过 10 GB,则不建议扫描镜像中是否存在敏感数据。
  • 在尝试将解决方案与其他容器安全应用程序同时运行的情况下,目前已发现卡巴斯基容器安全将无法正常运行。如果正在使用的其他应用程序干扰和/或集成到容器的操作中,文件威胁防护组件可能无法正常运行。您可以在扫描器策略中暂时禁用文件威胁防护组件。

    我们建议您不要将卡巴斯基容器安全与其他容器安全应用程序同时使用。

  • 要使用随卡巴斯基容器安全提供的网络策略,请确保满足以下条件:
    • 在用于部署和安装解决方案的 Helm Chart 中,networkPolicies.create 参数设置为 true(默认值)。
    • 部署解决方案的集群中的网络插件支持 Kubernetes 网络策略。如果不支持网络策略,卡巴斯基容器安全将创建 NetworkPolicies 对象,但这些对象不会被应用,也不会过滤流量。

      如果缺少或未应用 NetworkPolicies对象,则解决方案的安全级别较低。

  • 卡巴斯基容器安全仅支持对 linux/amd64 架构的镜像进行正确扫描。扫描多平台镜像时,扫描器会自动尝试应用 linux/amd64 架构选项。
  • 为了确保卡巴斯基容器安全使用的 BPF 程序与众多 Linux 发行版和 Linux 内核版本最大程度兼容,该解决方案使用了 eBPF CO-RE 技术。卡巴斯基容器安全直接与 Linux 主机服务器(节点)的内核配合使用,因此必须遵守以下要求和限制:
    • 要使用 eBPF CO-RE,必须使用配置值CONFIG_DEBUG_INFO_BTF = y来编译 Linux 内核。大多数 Linux 发行版在构建随发行版提供的内核时都会启用此配置值。
    • 如果手动更新内核版本,您必须检查上述配置值是否可用。

    对于没有内置支持 eBPF CO-RE 的早期版本的 Linux 发行版和 Linux 内核,卡巴斯基容器安全可确保向后兼容性。

  • 如果在主机服务器(节点)上使用手动编译的 Linux 内核,则必须在内核配置期间启用以下设置,以确保使用容器运行时配置文件进行运行时监控:
    • CONFIG_BPF=y
    • CONFIG_BPF_SYSCALL=y
    • CONFIG_BPF_EVENTS=y
    • CONFIG_NET_CLS_BPF=m
    • CONFIG_NET_ACT_BPF=m

    为了确保更好的 BPF 代码性能,我们建议启用以下设置:
    CONFIG_BPF_JIT = y
    CONFIG_HAVE_BPF_JIT = y

  • 如果要使用卡巴斯基容器安全容器运行时配置文件与 CNI Cilium 同时进行运行时监控(节点代理 Pod 与 cilium-agent 部署在同一主机服务器上),必须执行以下操作:
    • 在部署了 node-agent 的集群中,将 ConfigMap cilium-configdata.bpf-filter-priority 参数的值指定为大于 1。

      我们建议为 data.bpf-filter-priority 参数指定 5。

    • 重新启动 cilium-agent pod 以应用指定的设置。
  • 为了访问 Kubernetes,卡巴斯基容器安全使用了 Kubernetes 中提供的动态准入控制器的功能。通过在 Kubernetes API 和 kube-agent 之间配置授权,可以加强集群的安全性,从而确保解决方案的动态准入控制器的运行。授权必须按照 Kubernetes 说明进行配置。
页首

[Topic 296009]

第三方服务中的漏洞

卡巴斯基容器安全使用包含在解决方案分发套件中的第三方服务运行。下表显示了关于卡巴斯基容器安全组件中发现的严重漏洞的信息,以及计划修复这些漏洞的解决方案版本。

第三方服务中发现的严重漏洞以及计划修复漏洞的解决方案版本

漏洞

解决方案版本

CVE-2024-11338

BDU:2024-11338

卡巴斯基容器安全 2.0.1

页首

[Topic 90]

词汇表

CEF

普通事件格式 (CEF) 是一种标准化的结构性数据格式,用于在安全事件日志中记录事件。CEF 基于 Syslog 格式,这是一种消息记录标准,受大多数网络设备和操作系统支持。

CI/CD

持续集成/持续交付是开发流程中持续软件集成和持续交付的结合。

CISA

网络安全和基础设施安全局(CISA)是美国联邦机构,其职责是加强各级政府的国家网络安全,制定和协调实施美国网络安全计划,提高对信息基础设施的保护,防止黑客攻击。

CNI

容器网络接口项目致力于标准化管理 Linux 容器中的网络接口并灵活扩展其网络能力。CNI 插件确保网络接口包含在容器命名空间中,并在主机节点上执行所有必要的配置。

CRI

容器运行时接口 (CRI) 被编排器用于与各种容器运行时协同工作,而无需重新编译集群组件。CRI 定义了集群组件和容器运行时之间通信的主要协议。

CSI

容器存储接口(CSI)是一种规范,它定义了集群中添加和配置存储的 API 参数。

CVE

公共漏洞和暴露是众所周知的信息安全漏洞数据库。每个漏洞都会被指定格式为 CVE-年份-编号的标识符、描述以及多个包含描述的开放链接。

CVSS

通用漏洞评分系统是对漏洞进行评分的开放标准。CVSS 指定了一组用于对漏洞严重性进行评分的指标和公式,其值为 0(最小值)到 10(最大值)。通过 CVSS 可以根据漏洞严重程度分配漏洞响应工作。

CycloneDX

CycloneDX 是一种 SBOM 标准,专为应用程序安全上下文和通过评估所有软件组件的可用性和状态来分析应用程序组件而开发。

FSTEC

俄罗斯联邦技术出口管制局。

IaC

基础设施即代码是一种通过配置文件来管理和描述基础设施的方法,而不是通过手动方式编辑服务器配置。

Kaspersky OpenTIP

公开可用的卡巴斯基威胁情报门户信息系统。包含有关网络威胁、安全对象以及它们之间关系的信息。

Kaspersky TIP

可通过高级访问权限访问的卡巴斯基威胁情报门户信息系统。提供其他用于分析网络威胁的工具,包括威胁查找和 Kaspersky Cloud Sandbox,以及有关 APT、金融犯罪软件、工业网络安全威胁和特定组织的数字活动的分析报告。

LDAP

轻型目录访问协议是用于访问目录服务的轻型客户端-服务器协议。

MITRE

MITRE ATT&CK 矩阵由 MITRE 公司开发,描述了针对信息系统的攻击所使用的技术和策略。它有助于确保必要的保护级别,识别对基础设施的攻击,确定其目的和检测方法。

NSA

国家安全局 (NSA) 是美国国防部的一个部门,其职责包括(除其他事项外)负责网络情报和保护美国政府信息系统免受网络攻击。

NVD

国家信息安全漏洞库 (NVD) 是美国政府基于标准的漏洞管理数据存储库,其中的数据使用安全内容自动化协议表示。

PCI SSC

PCI 安全标准委员会是一个全球论坛,致力于持续开发、增强、存储、宣传和实施支付卡数据保护安全标准。

Pod

抽象的 Kubernetes 对象,由一个或多个应用程序容器组成,包括共享存储(卷)、网络设置和有关应用程序启动的信息。Pod 是 Kubernetes 管理单元。

RED OS

俄罗斯通用操作系统 RED OS 支持扫描可能威胁服务和工作站功能的漏洞。

SBOM

软件物料清单 (SBOM) 是一个所有对象组件的列表。它还描述了组件依赖关系以及验证和确认源真实性的方法。

SIEM

安全信息和事件管理是一类用于获取和分析安全事件相关数据的软件解决方案。

Sigstore

该项目旨在开发和提供通过使用数字签名来验证软件的工具和服务。Sigstore 还维护一个公共仓库,用于确认镜像更改的真实性。

SPDX

软件包数据交换 (SPDX) 是面向软件供应链的安全性、授权许可合规性和其他构件的国际开放标准,用于提供有关软件包及其依赖项的来源、授权许可和安全性的信息。

Syslog

发送和记录用于 UNIX 和 GNU/Linux 平台的系统事件消息的标准。

VDB (DSTD)

数据安全威胁数据库(DSTD 或 VDB)是俄罗斯联邦技术出口管制局 (FSTEC) 维护的国家漏洞数据库。

初始化容器

一种特殊容器,当 Pod 初始化时、在主容器启动之前启动。初始化容器为操作准备环境(例如,它们可访问秘密或重定向网络流量)并且可能包含主容器中不必要或不需要的实用程序。

利用

利用系统或应用程序软件中的某些漏洞的程序代码。漏洞利用经常被用来在用户不知情的情况下将恶意软件安装到计算机上。

动态准入控制器

可配置的 Kubernetes 准入控制器,帮助实施策略并支持管理和控制。

命名空间

Kubernetes 集群内部的虚拟集群,用于隔离集群资源。每个命名空间都有自己的资源:服务、Pod 和部署。资源名称在一个命名空间中必须是唯一的才能起作用,但可以在其他命名空间中使用相同的名称。

管道

按顺序逐一执行的软件持续集成和持续交付 (CI/CD) 过程。

节点

部署并运行带有应用程序的容器的实体机或虚拟机。一个 Kubernetes 集群由多个节点组成。集群中有一个主节点,负责管理集群和运行容器的工作节点。

页首

[Topic 271447]

第三方代码信息

有关第三方代码的信息可在“设置关于平台”下找到。可以在以下文件中找到这些信息:

  • legal_notices.txt,可在管理控制台中单击“卡巴斯基容器安全中的第三方代码信息”进行下载
  • ftp_legal_notices.txt,可在管理控制台中单击“文件威胁防护组件中第三方代码信息”进行下载
  • kuu_legal_notices.txt,可在管理控制台中单击“Kaspersky Update Utility 中的第三方代码信息”进行下载
页首

[Topic 250415]

商标声明

注册商标和服务标志均为其各自拥有者的财产。

Adobe 是 Adob​​e 在美国和/或其他国家/地区的注册商标或商标。

Amazon、Amazon Web Services 和 AWS 是 Amazon.com, Inc. 或其附属公司的商标。

Apache 是 Apache 软件基金会的注册商标或商标。

Apple、Safari 和 SWIFT 是 Apple Inc. 的商标。

Ubuntu 是 Canonical Ltd. 的注册商标。

CHAINGUARD 和 Wolfi 是 Chainguard, Inc. 的商标。

ClamAV 是 Cisco Systems, Inc. 和/或其附属公司在美国和其他特定国家/地区的注册商标或商标。

Grafana 文字标记和 Grafana 徽标是 Coding Instinct AB 在美国和其他国家/地区的注册商标/服务标记或商标/服务标记,并经 Coding Instinct 许可使用。我们不隶属于 Coding Instinct 或 Grafana 社区,也未得到其支持或赞助。

Docker 和 Docker 徽标是 Docker, Inc. 在美国和/或其他国家/地区的商标或注册商标。Docker, Inc. 和其他方也可能对此处使用的其他术语拥有商标权。

Dropbox 是 Dropbox, Inc. 的商标。

Elasticsearch 是 Elasticsearch BV 在美国和其他国家/地区的注册商标。

Google、Google Chrome、Chromium、Dart 和 Nexus 是 Google LLC 的商标。

Terraform 是 HashiCorp 的商标。

S3 是国际商业机器公司在全球许多司法管辖区注册的商标。

Node.js 是 Joyent, Inc. 的商标。

LinkedIn 是 LinkedIn Corporation 及其附属公司在美国和/或其他国家/地区的注册商标或商标。

Linux 是 Linus Torvalds 在美国和其他国家/地区的注册商标。

Microsoft、Active Directory、Azure、Excel、Microsoft Edge、Windows 和 Windows Server 是 Microsoft 集团公司的商标。

Mozilla 和 Firefox 是 Mozilla Foundation 在美国和其他国家/地区的商标。

OpenStack 是 OpenStack Foundation 在美国和其他国家/地区的注册商标。

Oracle、Java 是 Oracle 和/或其附属公司的注册商标。

Python 是 Python 软件基金会的商标或注册商标。

Red Hat、Red Hat Enterprise Linux 和 CentOS 是 Red Hat, Inc. 或其子公司在美国和其他国家/地区的商标或注册商标。

OpenShift 是 Red Hat, Inc. 在美国和其他国家/地区的注册商标。

Sonatype Nexus 是 Sonatype, Inc. 的商标。

SUSE 是 SUSE LLC 在美国和其他国家/地区的注册商标。

OpenAPI 是 Linux Foundation 的商标。

Helm、Kubernetes 和 GRPC 是 Linux Foundation 在美国和其他国家/地区的注册商标。

Rocky Linux 是 Rocky Enterprise Software Foundation 的商标。

TWITCH 是 Twitch Interactive, Inc. 或其附属公司的商标。

UNIX 是美国和其他国家/地区的注册商标,由 X/Open Company Limited 独家授权。

ClickHouse 是 YANDEX LLC 的商标。

页首

[Topic 294104]

ATT&CK MITRE 使用条款

以下是 MITRE ATT&CK(对抗战术、技术和常识)的使用条款。

The MITRE Corporation Terms of Use

LICENSE

The MITRE Corporation (MITRE) hereby grants you a non-exclusive, royalty-free license to use ATT&CK for research, development, and commercial purposes.Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy.

"© 2024 The MITRE Corporation.This work is reproduced and distributed with the permission of The MITRE Corporation."

DISCLAIMERS

MITRE does not claim ATT&CK enumerates all possibilities for the types of actions and behaviors documented as part of its adversary model and framework of techniques.Using the information contained within ATT&CK to address or cover full categories of techniques will not guarantee full defensive coverage as there may be undisclosed techniques or variations on existing techniques not documented by ATT&CK.

ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN ARE PROVIDED ON AN "AS IS" BASIS AND THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE MITRE CORPORATION, ITS BOARD OF TRUSTEES, OFFICERS, AGENTS, AND EMPLOYEES, DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION THEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

页首