目录
- 卡巴斯基容器安全 1.2 帮助
- 关于卡巴斯基容器安全平台
- 解决方案架构
- 标准部署方案
- 准备安装解决方案
- 解决方案安装
- 删除解决方案
- 更新解决方案
- 解决方案界面
- 授权解决方案
- 数据提供
- 使用集群
- 设置与外部镜像仓库的集成
- 处理仓库的镜像
- 与 CI/CD 的集成
- 风险处理
- 合规性检查
- 配置和生成报告
- 安全策略配置
- 管理容器运行时配置文件
- 文件威胁防护
- 配置与镜像签名验证器的集成
- 设置与通知输出的集成
- 配置 LDAP 服务器集成
- 用户、角色和范围
- 使用卡巴斯基容器安全 OpenAPI
- 安全事件日志
- 将事件导出到 SIEM 系统
- 有关解决方案组件状态的信息
- 确保组件的安全性和可靠性
- 管理数据积累动态
- 备份和恢复数据
- 联系技术支持
- 应用程序的信息来源
- 限制和警告
- 词汇表
- 第三方代码信息
- 商标声明
卡巴斯基容器安全 1.2 帮助
|
了解卡巴斯基容器安全的新功能。 |
|
查看支持的编排平台、CI 系统、可用的镜像仓库和用户工作站要求。 |
|
了解为卡巴斯基容器安全提供的授权许可类型的更多信息。 |
|
准备安装,然后在专用或公共公司网络中安装卡巴斯基容器安全。 |
|
扫描对象并接收有关检测到的漏洞、恶意软件、错误配置和敏感数据的信息。 |
|
接受卡巴斯基容器安全识别到的风险(漏洞、恶意软件、敏感数据以及错误配置),以更改镜像的安全状态。 |
|
|
在 CI 系统中的项目构建期间,运行卡巴斯基容器安全扫描器来检查存储库中的对象是否符合启用的安全策略。 |
|
|
配置与 Telegram 和电子邮件地址的集成以接收有关安全事件的通知。 |
|
使用有关 Active Directory 组的数据配置用户角色 |
|
使用容器运行时配置文件控制容器内的进程和应用程序。 |
|
了解有关用户活动注册和扫描结果存储的更多信息。 |
关于卡巴斯基容器安全平台
卡巴斯基容器安全(以下称为“解决方案”)可发现安全问题,并确保为容器应用程序全生命周期(开发、部署控制至运行时)提供保护。
解决方案功能:
- 与镜像仓库(Docker Hub、JFrog Artifactory、Sonatype Nexus Repository OSS、GitLab 仓库、Harbor)集成,扫描仓库中的镜像以查找 NVD 和 VDB (DSTD) 发布的已知漏洞、秘密(密码、访问密钥、令牌)、错误配置和恶意软件。
- 作为管道阶段集成入持续集成/持续交付 (CI/CD) 流程,扫描 IaC 是否存在错误配置,以及扫描容器镜像是否存在漏洞、恶意软件和敏感数据(秘密)。
- 检查集群节点是否符合行业信息安全基准。
- 在构建和操作应用程序时监控对已配置的安全策略的符合情况,包括监控运行时中的容器运行。
- 监控受控集群使用的资源。
您可以通过管理控制台配置和访问卡巴斯基容器安全的功能。控制台以 Web 界面的形式实现,可通过 Chromium(Google Chrome、Microsoft Edge、Apple Safari)或者 Mozilla Firefox 浏览器访问。
最新功能
卡巴斯基容器安全 1.2 提供以下新功能和改进:
- 用来检查组件状态的内置工具(健康检查机制),具体来说:
- 集群资源状态可视化
- 查看有关解决方案组件状态的信息
- 心跳监控
- 自动化维护过程,通过 Auto Care 工具确保组件的安全性和可靠性,包括自动清洁以下内容:
- 安全事件日志
- 扫描历史记录
- 可视化被监控的集群、网络通信和集群资源安全问题。
- 搜索和分析潜在的文件威胁,以保护容器文件免受恶意软件的侵害。
- 支持与以下 CI 系统集成:
- 生成集群节点是否符合 Kubernetes 标准的检查结果报告:
- 总结报告
- 详细报告
- 卡巴斯基容器安全与 Harbor Registry 集成,充当附加扫描程序。此功能可让您从 Harbor Registry 界面启动图像扫描。扫描结果保存在解决方案中并可供进一步使用。
- 使用 Swagger 记录 API 请求。
- 确保对包含多达 1000 个网络节点的基础设施进行持续监控。
- 支持简体中文。
- 解决方案在以下云环境中运行:
- AWS EKS
- Microsoft Azure
Kaspersky Security for Containers 1.2.1 具有以下更新:
- 改进了基于 LDAP 的身份验证方法。
- 改进了在 Telegram 中工作的操作(发送消息、聊天搜索)。
- 修正了用于检查是否符合 Kubernetes 标准的结果的过滤器应用。
- 风险接受报告中的“供应商修复”字段已被修改。
- 添加了处理 CI 代理的 Java 依赖项中的漏洞的权能。
- 运行时策略中以下控制的性能得到了改进:阻止不合规镜像和阻止未注册的镜像。
- 删除分配有策略的范围的逻辑得到了改进。
- 镜像签名验证器的工作得到优化。
- 卡巴斯基容器安全用户的身份验证程序得到了改进。
- API 令牌重新发行功能得到纠正。
- 添加镜像进行分析时显示大量标签的问题得到纠正。
- 改进了使用 API 添加新仓库的功能(修复了保存标签信息的逻辑)。
- 镜像报告模板已修改(显示镜像中漏洞的链接)。
- 使用 CRAM-MD5 身份验证时与电子邮件服务器的协作得到了改进。
- 添加了配置镜像仓库访问频率的权能。
- Web 界面得到了改进。
Kaspersky Security for Containers 1.2.2 具有以下更新:
- 实施了 Yandex Registry 支持。
- 添加了使用 Docker V2 API 支持镜像仓库的通用方法。
- 与 JFrog Artifactory 镜像仓库配合使用以支持权限较低的账户的功能得到了改进。
- 在 CI/CD 中保存工件的机制得到了改进。
- 修复了 Kubernetes 旧版本(4.18 版)中的代理操作错误。
- 纠正了当代码为 4XX 和 5XX 的错误发生时对镜像仓库进行定期扫描的操作。
- JFrog Artifactory 中与子域集成(使用标准名称以外的名称)期间的操作逻辑得到了改进。
分发包
有关购买应用程序的信息,请访问 https://www.kaspersky.com 或联系我们的合作伙伴。
分发包包括一个 Helm Chart 软件包,其中包含部署和安装卡巴斯基容器安全组件所需的容器化资源。下表列出了分发套件中的容器化组件。
卡巴斯基容器安全分发套件中的容器化组件
组件 |
镜像 |
Pod |
---|---|---|
ClickHouse DBMS |
clickhouse |
kcs-clickhouse |
PostgreSQL DBMS |
postgresql |
kcs-postgres |
PGBouncer 连接池程序 |
pgbouncer |
kcs-pgbouncer |
Middleware |
middleware |
kcs-middleware |
事件代理 |
event-broker |
kcs-eb |
镜像处理程序,客户端扫描器 |
image-handler |
kcs-ih |
扫描器 |
scanner-server |
kcs-scanner |
Licenses |
licenses |
kcs-licenses |
文件存储(Minio) |
minio |
kcs-s3 |
消息代理 |
nats |
kcs-nats |
更新专用公司网络的文件服务器(更新) |
updates |
kcs-updates |
解决方案界面(面板) |
nginx |
kcs-panel |
代理 |
node-agent |
node-agent |
Helm 包还包括一个values.yaml配置文件,其中包含安装和更新解决方案的设置值。
下载并保存 Helm 包到选定目录后,编排器会将镜像从 Helm 包中指定的源直接下载到编排平台节点。
激活应用程序所需的信息将通过电子邮件发送给您。
页首
硬件和软件要求
要安装和运行卡巴斯基容器安全,必须满足以下基础设施要求:
- 以下编排器平台之一:
- Kubernetes(1.21 或更高版本)
- OpenShift(版本 4.11 或更高版本)
- Deckhouse(版本 1.52、1.53。CNI: Flannel)
- 具备可在开发过程中扫描容器镜像的 CI 系统(如 GitLab CI)。
- 安装了包管理器 Helm v3.10.0 或更高版本。
要使用容器运行时配置文件实现运行时监控,编排器节点必须满足以下要求:
- Linux 内核 4.18 或更高版本。
- 容器运行时 (CRI):containerd、CRI-O。
- 容器网络接口 (CNI) 插件:Flannel、Calico、Cilium。
实现使用容器运行时配置文件进行运行时监控所需的 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
如果您的基础设施包含运行其他 Linux 发行版的主机服务器,我们建议联系技术支持。技术支持将检查解决方案与您的发行版的兼容性。如果不存在这种兼容性,则卡巴斯基容器安全的未来版本可能会支持这些发行版。
卡巴斯基容器安全确保在 Istio 服务网格基础设施中使用时正确运行。
使用外部数据库管理系统时,卡巴斯基容器安全支持 PostgreSQL 11.*、13.*、14.*。
卡巴斯基容器安全支持与以下镜像仓库的集成:
- GitLab 14.2 或更高版本
- Docker Hub V2 API 或更高版本
- JFrog Artifactory 7.55 或更高版本
- Sonatype Nexus Repository OSS 3.43 或更高版本
- Harbor 2.х
镜像要求(操作系统、版本、扫描的软件包):
- 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 安装的软件包。
- 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 安装的软件包。
- 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 可用磁盘空间
您必须为安装解决方案的集群中的每个受监控节点分配 1 GB 的可用磁盘空间用于 ClickHouse 持久卷。
上述要求仅适用于卡巴斯基容器安全部署;他们不考虑客户端资源上的其他负载。
卡巴斯基容器安全用户工作站要求:
- 在公共公司网络中部署时,可永久连接互联网。
- 可访问卡巴斯基容器安全管理控制台页面(需使用客户企业内部网络地址,在安装期间指定)。
- 带宽至少为 10 Mbit/s 的通信信道。
- 以下浏览器之一:
- Google Chrome 版本 73 或更高版本。
- Microsoft Edge 版本 79 或更高版本。
- Mozilla Firefox 版本 63 或更高版本。
- Apple Safari 版本 12.1 或更高版本。
- Opera 版本 60 或更高版本。
缩放
卡巴斯基容器安全支持缩放扫描 Pod 数量,以确保可以扫描传入的镜像量。您可以在解决方案运行时随时缩放扫描 Pod 数量。
添加扫描 Pod 时,系统资源有如下增加:
- 节点处理器的数量 – 增加 2。
- 节点上的 RAM 量 – 增加 4 GB。
- 节点硬盘驱动器上的可用磁盘空间量 – 增加 15 GB。
为扫描大于 10 GB 的镜像,对于每个扫描 Pod,每增加 1 GB,都必须按如下方式增加 kcs-ih 服务资源。
- 节点上的 RAM 量 – 增加 300 MB。
- 节点硬盘驱动器上的可用磁盘空间量 – 增加 1 GB。
在标准操作模式下,如果没有扫描镜像以查找配置文件中的错误,则无需增加扫描 Pod 上的 RAM。
为了更快地处理许多大型对象的扫描结果,您可以通过更新 Helm 包中的变量来为作业处理程序服务分配更多资源。
要添加更多扫描作业处理资源:
- 打开 Helm 包,并在
default
部分的scanWorkers
变量中为kcs-middleware
参数指定所需的处理程序数量。 - 在
requests
和limits
变量中,指定根据以下公式确定的 RAM 大小:memory = X * scanWorkers / 2
,其中memory
是分配给镜像处理程序服务的 RAM 大小。X
是表示 RAM 大小的变量的原始值。scanWorkers
是步骤 1 中所指定的处理程序的数量。scanWorkers/2
的结果不能为零。 - 在
requests
和limits
变量中,指定根据以下公式计算的 CPU 资源:cpu = X*scanWorkers
,其中cpu
是分配给镜像处理程序服务的 CPU 资源。X
是表示 CPU 资源的变量的原始值。scanWorkers
是处理程序的数量。
基础镜像的系统软件包
卡巴斯基容器安全使用以下操作系统镜像作为基础镜像:
- 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
扫描的应用软件包
卡巴斯基容器安全支持指定编程语言的以下扫描应用程序软件包:
- 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 中的镜像和仓库已扫描)。
解决方案架构
卡巴斯基容器安全组件根据分发套件中包含的镜像进行部署。下表显示哪些镜像对应于哪些解决方案组件。
卡巴斯基容器安全组件
组件 |
镜像 |
组件功能 |
---|---|---|
ClickHouse DBMS |
clickhouse |
管理 ClickHouse 数据库以存储和处理来自代理的信息消息。 |
PostgreSQL DBMS |
postgresql |
使用分析和优化查询解析和查询引擎的工具管理数据库。 |
PGBouncer 连接池程序 |
pgbouncer |
PostgreSQL 连接池管理。 |
Middleware |
middleware |
实现解决方案服务器组件的数据处理业务逻辑,并为卡巴斯基容器安全的图形用户界面提供 REST API。 |
事件代理 |
event-broker |
确保分布式解决方案系统各个元素之间的通信。 |
镜像处理程序,客户端扫描器 |
image-handler |
使用漏洞和恶意软件扫描程序处理扫描作业:启动扫描作业、扫描对象、汇总和发布扫描结果。 |
扫描程序服务器 |
scanner-server |
管理扫描程序服务器,它被用于存储漏洞数据库和镜像层缓存,以及支持镜像处理程序。 |
许可模块 |
licenses |
管理根据授权许可提供的功能。 |
文件存储 |
minio |
管理存储,用于存储和向用户分发解决方案生成的文件。 |
消息代理 |
nats |
以消息形式确定通信请求的顺序。 |
为专用公司网络提供更新的文件服务器 |
updates |
部署解决方案时提供更新。 |
解决方案界面 |
nginx |
卡巴斯基容器安全图形用户界面的功能。 |
代理 |
node-agent kube-agent |
根据配置的安全策略和与编排器的集成来维护节点上的安全。 |
解决方案包含以下主要组件:
- 卡巴斯基容器安全中间件
- 卡巴斯基容器安全代理
- 卡巴斯基容器安全扫描器
卡巴斯基容器安全的整体架构方案
卡巴斯基容器安全可以部署在公共或专用公司网络中。
Middleware
卡巴斯基容器安全中间件具有以下功能:
- 提供用于交互式管理解决方案的界面(管理控制台)。
- 确保与外部软件组件(SIEM、CI、镜像仓库、LDAP、Telegram、电子邮件)集成并接收来自它们的信息。
- 协调其他解决方案组件的运行。
- 确保安全策略的创建和管理。
- 显示解决方案操作的结果。
代理
卡巴斯基容器安全代理(以下也称为“代理”)是一个作为容器化应用程序运行的解决方案组件,它根据配置的安全策略为节点提供安全保护,特别是:
- 节点上运行的容器的运行时安全性。
- 容器内 Pod 和应用程序之间的网络交互。
- 与编排平台的集成以及分析编排器配置及其组件所需的数据流。
- 从受信任的镜像启动容器,以防止未经验证的镜像运行。
代理将安装到集群的所有节点以及需要保护的所有集群。卡巴斯基容器安全使用两种类型的代理:集群保护代理 (csp-kube-agent) 和节点保护代理 (csp-node-agent)。它们一起组成代理组。对于每个集群,都创建单独的一组代理。可以为一个解决方案安装创建多组代理。
如果集群不包含代理,则某些解决方案功能不可用(例如,运行时策略、资源监控)。
页首
扫描器
扫描器是卡巴斯基容器安全的一个软件组件,用于实时扫描对象以评估其安全性并检测已知漏洞、恶意软件、敏感数据迹象以及错误配置。扫描器允许您根据活动的安全策略执行安全检查。
卡巴斯基容器安全采用以下类型的扫描器:
- 基于公共漏洞和暴露 (CVE) 数据库的漏洞扫描器
- 文件威胁防护组件中的文件威胁扫描器
- 配置文件扫描器
- 敏感数据(秘密)扫描器
关于对象扫描
卡巴斯基容器安全在扫描过程中会检查解决方案中部署的对象。
扫描过程会搜索并分析与解决方案中的对象相关的威胁和安全风险。必须定期执行对象扫描以跟踪新出现的安全威胁。
在扫描时,卡巴斯基容器安全可识别以下安全威胁:
- 漏洞
- 恶意软件
- 错误配置
- 敏感数据
- 不符合安全策略要求
扫描过程
扫描器通过镜像处理程序接收扫描作业。镜像处理程序是部署在卡巴斯基容器安全基础架构中的模块,它将扫描作业转发到扫描器并接收扫描器的扫描结果。
转发扫描作业后,扫描器的当前状态将确定为以下状态之一:
- 空闲 – 扫描器当前未处理对象,可以根据请求接受来自镜像处理程序的作业。
- 忙碌 – 扫描器当前正在处理扫描作业。来自镜像处理程序应用程序的新作业将放入队列。
扫描作业队列包含所有转发的扫描作业,在以下情况下生成:
扫描队列中的作业会获得以下状态:
- 未运行 – 创建作业时默认指定的状态。
- 进行中 – 作业正在由镜像处理程序处理。
- 解析结果 – 解决方案处理作业扫描结果并将其显示在界面上。
- 错误 – 扫描作业失败。
- 已完成 – 扫描作业的结果可用。
队列中的扫描作业按照接收顺序提交给镜像处理程序。然后,作业将发送至状态为“空闲”的扫描器,并进行扫描以检查是否存在安全问题。扫描结果将发送回镜像处理程序。如果收到扫描结果,则该作业被视为已完成。如果扫描作业执行了三次或更多次但没有收到结果,则该作业将被标记为“错误”状态。
扫描许多大型对象时,解决方案在用户界面上显示扫描结果的速度可能会较慢。您可能需要等待几分钟才能看到结果。在此期间,扫描作业将与解析结果状态一起显示在扫描器部分。
如果您希望加快扫描结果的处理速度,可以通过更新 Helm Chart 中的变量来为作业处理程序服务分配更多资源(更多详细信息请参阅缩放)。
当发生错误时,解决方案会显示由代码和文本消息组成的错误消息(例如, HNDL-004: scan time out
)。
错误信息以英文显示。下表列出了消息示例及其含义。
扫描后,解决方案将显示扫描结果。如果在对象中检测到安全威胁,卡巴斯基容器安全会提示您执行以下操作之一:
- 删除安全威胁。
- 接受风险。
标准部署方案
卡巴斯基容器安全支持以下部署场景:
- 在公共公司网络中部署(允许从 Kubernetes 集群访问互联网):
- 用于部署卡巴斯基容器安全组件的镜像位于公共存储库中。
- 安装后,解决方案组件会引用互联网上的漏洞数据库。
- 数据库使用卡巴斯基更新服务器进行更新,服务器可在互联网上找到。
专用公司网络如果可以访问允许的服务器列表中的服务器,可以被视为公共公司网络。
- 在专用公司网络中部署(禁止从 Kubernetes 集群访问互联网):
- 内部存储库用于托管从中部署卡巴斯基容器安全组件的镜像。
- 此外,安装了 组件 kcs-updates,这是一个特殊镜像,包含解决方案运行所需的漏洞数据库和安全基准。
- 安装后,解决方案组件将引用在公司网络内特殊镜像 kcs-updates 中的漏洞数据库和安全标准。
- 提供威胁数据库更新的更新服务器作为单独的组件部署在公司网络中。
专用公司网络还允许使用代理服务器进行部署。
我们不建议部署采用集群基础架构配置的解决方案,在这种配置中,主机服务器(节点)之间的网络交互在公共互联网上进行。如果采用该配置,集群内的网络交互可能会面临严重的网络安全风险。
在专用公司网络中部署
在专用公司网络中部署时,卡巴斯基容器安全被禁止从集群访问互联网。通过更新从 CI / CD 运行的扫描器的镜像以及镜像扫描器,解决方案数据库会进行更新。
部署在专用公司网络时的解决方案架构
页首
准备安装解决方案
在安装卡巴斯基容器安全之前,您必须安装公司网络所需的所有证书并配置代理服务器。
该解决方案可以部署在专用或公共公司网络中。
在安装卡巴斯基容器安全之前,请确保您拥有以下组件和访问权限:
- 能够访问互联网和集群的虚拟机或物理机。
- Helm 软件包管理器,用于在集群中打包、配置和部署应用程序及服务。
卡巴斯基容器安全支持 Helm v3.10.0 或更高版本。
- 互联网访问权限,用于下载 Helm Chart 软件包。
- 编排器管理工具,例如 kubectl(适用于 Kubernetes)或 oc(适用于 Openshift)。
- 对使用 kubeconfig文件的集群的访问权限。
要在专用公司网络中安装解决方案,请配置容器镜像存储库。该存储库使用解决方案供应商提供的凭据访问卡巴斯基容器安全供应商存储库。
要准备在专用公司网络中安装解决方案:
- 连接包含 Helm Chart 软件包的供应商 Helm 存储库。
export CHART_URL="xxxxxx"
export CHART_USERNAME="xxxxxx"
export CHART_PASSWORD="xxxxxx"
export VERSION="xxxxxx"
CHART_URL、CHART_USERNAME、CHART_PASSWORD 和 VERSION
值由供应商提供。 - 填写解决方案分发包中包含的带有安装设置的文件 (values.yaml),按照该文件中的注释进行填写。
我们不建议在启动 Helm Chart 包时使用的 values.yaml 文件中指定账户数据。
以下主要安装设置必须在 values.yaml 文件中指定:
- 命名空间名称。
helm upgrade --install kcs . \
--create-namespace \
--namespace kcs \
--values values.yaml \
- 卡巴斯基容器安全用于入站连接的域名。
--set default.domain="kcs.example.domain.ru" \
启用网络策略时,您必须为集群 Ingress 控制器指定至少一个命名空间。
--set default.networkPolicies.ingressControllerNamespaces="{ingress-nginx}" \
默认启用网络策略。
- 解决方案组件的的 Secret。
--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="pass" \
--set-string secret.infracreds.envs.CLICKHOUSE_ADMIN_PASSWORD="pass" \
--set secret.infracreds.envs.NATS_USER="user" \
--set-string secret.infracreds.envs.NATS_PASSWORD="pass" \
- 与访问解决方案安装存储库相关的 Secret。
--set pullSecret.kcs-pullsecret.username="user" \
--set pullSecret.kcs-pullsecret.password="pass"
我们建议不要改变基本安装设置的组成。
- 命名空间名称。
- 保存包含安装设置的文件并继续安装解决方案。
解决方案安装
卡巴斯基容器安全组件以镜像的方式在卡巴斯基容器安全制造商仓库中提供,并部署为容器。
卡巴斯基容器安全平台的安装包括以下步骤:
- 安装基本业务逻辑模块和扫描器组件。
- 首次启动管理控制台。
- 配置受控集群节点上的代理组和代理部署。
安装后,应该准备好运行解决方案:
- 配置与镜像仓库的集成。
- 配置与输出的集成。
- 配置安全策略。
- 添加容器运行时配置文件。
- 配置文件威胁防护参数。
- 配置与镜像签名验证器的集成。
- 配置与 CI/CD 的集成。
- 配置用户账户、角色和范围。
- 配置与 LDAP 服务器的集成。
安装基本业务逻辑模块和扫描器
在解决方案安装之前,必须检查准备的 Helm Chart 包中的数据完整性。
要检查数据完整性:
- 将包含准备好的 Helm Chart 包和哈希文件的压缩文件下载到同一目录中。
- 从此目录执行以下命令:
sha256sum -c kcs-1.2.0.tgz.sha
如果显示以下消息,则确认数据完整性:
kcs-1.2.0.tgz: OK
在开始安装(包括在 AWS EKS 或 Microsoft Azure 上)之前,请注意 values.yaml 配置文件中 default
和 ingress.kcs
块中的 storageClass
和 ingressClass
设置。这些设置与集群相关,如有必要,可以根据您的基础设施进行更改。以下是 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="kcs.example.domain.ru" \
--set default.networkPolicies.ingressControllerNamespaces="{ingress-nginx}" \
--set secret.infracreds.envs.POSTGRES_USER="user" \
--set secret.infracreds.envs.POSTGRES_PASSWORD="pass" \
--set secret.infracreds.envs.MINIO_ROOT_USER="user" \
--set secret.infracreds.envs.MINIO_ROOT_PASSWORD="pass" \
--set secret.infracreds.envs.CLICKHOUSE_ADMIN_PASSWORD="pass" \
--set secret.infracreds.envs.NATS_USER="user" \
--set secret.infracreds.envs.NATS_PASSWORD="pass" \
--set pullSecret.kcs-pullsecret.username="user" \
--set pullSecret.kcs-pullsecret.password="pass"
安装后,解决方案组件即部署完成。
安装完成后,有关解决方案安装命令的执行的记录会保留在命令 shell 中。您可以打开命令历史记录文件并删除该记录,或者阻止命令历史在安装之前记录在命令 shell 中。
控制面板将在环境变量部分的 envs
子部分中所指定的地址可用。这允许您为 API_URL
参数创建 ConfigMap 对象:
http://${DOMAIN}
首次启动管理控制台
要启动卡巴斯基容器安全管理控制台:
- 在浏览器中,导航到在安装服务器期间为管理控制台指定的地址。
将打开授权页面。
- 输入您的用户名和密码,然后单击“登录”按钮。
在安装解决方案期间,用户名和密码被分配了相同的值 – admin。您可以在启动管理控制台后更改用户名和密码。
3 次尝试输入密码失败后,用户将被暂时阻止访问。默认的阻止时间为 1 分钟。
- 按照要求,更改用户账户的当前密码:输入新密码,确认,然后单击“更改”按钮。
密码的要求如下:
- 密码必须包含数字、特殊字符、大写和小写字母。
- 最小密码长度为 6 个字符,最大密码长度为 72 个字符。
管理控制台的主页面将打开。
默认情况下,管理控制台中登录的用户会话为 9 小时。在“设置 → 身份验证”部分,您可以设置自己的会话持续时间,最小值为 1 小时,最大值为 168 小时。该时间到期后,控制台会话结束。
您可以在“设置 → 身份验证”部分更改连接设置。
页首
查看并接受最终用户授权许可协议
首次在浏览器中启动管理控制台时,卡巴斯基容器安全将提示您阅读您与卡巴斯基之间的最终用户授权许可协议。要继续使用解决方案,请确认您已完全阅读并接受卡巴斯基容器安全最终用户授权许可协议的条款。
要确认接受最终用户授权许可协议的条款,
在最终用户授权许可协议窗口的底部,单击“接受”按钮。
将为启动管理控制台打开授权页面。
安装新版本的解决方案后,需再次接受最终用户授权许可协议。
页首
检查解决方案功能
安装卡巴斯基容器安全并启动管理控制台后,您可以确保该解决方案能够检测安全问题并保护容器化对象。
要检查卡巴斯基容器安全的功能:
- 使用激活码或密钥文件激活解决方案。
- 配置与镜像仓库的集成。与单个仓库的集成足以检查功能。
- 如有必要,配置解决方案安装后默认创建的扫描器策略的设置。
- 添加要扫描的镜像并确保发送扫描任务进行处理。
- 扫描完成后,转至包含镜像扫描结果详细信息的页面。
扫描镜像并收到有效结果,即确认卡巴斯基容器安全正常运行。此后,您可以进一步配置解决方案设置。
页首
代理部署
您应该在要保护的集群的所有节点上都安装代理。
每个集群上都安装单独的一组代理。
要在集群中部署代理:
- 在主菜单中,转到“组件 → 代理”部分。
- 在工作窗格中,单击“添加代理组”按钮。
- 填写表单中的字段。
- 输入组名称。为了方便代理管理,我们建议根据将在其节点上部署代理的集群来对代理组进行命名。
- 如需要,请输入代理组的描述。
- 选择代理类型。
- 选择目标节点操作系统的类型。
- 选择要使用的编排器。
- 在“KCS 仓库”部分中,输入用于安装代理的镜像所在仓库的网址。要访问仓库,必须指定正确的用户名和密码。
- 在“节点监控”下,使用“禁用/启用”切换按钮开始监控和分析网络状态、容器内进程以及文件威胁防护的以下设置:
- 网络连接监控。使用流量捕获设备(网络监视器)和 eBPF 模块监控网络连接的状态。此过程考虑适用的运行时策略和容器运行时配置文件。
- 容器进程监控。基于适用的运行时策略规则和容器运行时配置文件规则,使用 eBPF 程序监控容器进程。
- 文件威胁防护。要跟踪恶意软件数据库更新,请指定以下值之一:
- 恶意软件数据库更新 URL:卡巴斯基容器安全更新服务的网址。
- 恶意软件数据库更新代理:云或本地更新服务器的 HTTP 代理。
如果使用
kcs-updates
容器更新恶意软件数据库,则必须如下指定数据库更新工具的 URL:<
domain
>/kuu/updates
(例如,https://kcs.company.com/kuu/updates
)。默认情况下,文件威胁防护数据库从卡巴斯基云服务器更新。
可以禁用不需要的监控步骤,以避免节点上不必要的负载。
- 在“部署数据”下,指定集群命名空间的名称。
- 单击“保存”。
已完成表单下方的工作窗格将显示继续将代理部署到集群所需的数据。
- 要复制自动生成的部署令牌,请单击“复制”。部署令牌:代理用于连接服务器的标识符。
- 使用“配置”字段中的指令在集群中部署代理。例如:
kubectl apply -f <
文件
> -n <
命名空间
>
您可以复制该说明或以 .YAML 格式下载。应用指令后,代理将被部署到集群的所有工作节点上。
如果您更改以下设置:
- 解决方案的 TLS 证书,
- 用于下载 kube-agent 和 node-agent 镜像的 URL、用户名和密码,
- 节点状态监控部分中的设置,
解决方案会自动更新代理部署说明。
您必须再次复制或下载 .YAML 文件中的更新说明,然后使用kubectl apply -f
file
> -n
namespace
> 命令应用它。
否则,不会应用对代理部署设置的更改。
查看和编辑代理组
“组件 → 代理”下方的表格将显示已创建和部署的代理组。为每个组提供以下信息:
- 代理组的名称
- 组内已连接的代理数量
- 已连接代理的类型
- 编排器
- 启用节点监控活动
您可以使用表格上方的按钮,按照连接状态(“全部”、“已连接”、“已断开连接”、“未运行”)过滤代理组。
单击部署图标 (),可以展开表格中的每个代理组,以查看以下代理详情:
- 代理的名称及其连接状态。
- 部署代理的节点的版本(主节点或工作节点)。
- 与代理关联的 Pod 的名称。
- 节点监控活动(容器进程、网络连接和文件威胁防护)。
- 代理上次连接的日期和时间。
通过单击代理名称链接,您可以展开侧边栏来查看代理状态信息。
编辑代理组设置:
- 在“组件 → 代理”下包含代理组列表的表格中,单击代理组名称中的链接。
- 在打开的窗口中,编辑组设置。
- 单击“保存”。
配置代理服务器
在版本 1.2 中,卡巴斯基容器安全可以将请求从专用公司网络代理到外部环境。通过代理服务器进行连接的设置是使用解决方案分发包中包含的 Helm Chart 软件包的以下环境变量进行配置的:
HTTP_PROXY
– 用于 HTTP 请求的代理服务器。HTTPS_PROXY
– 用于 HTTPS 请求的代理服务器。NO_PROXY
– 指定要从代理范围排除的域或域掩码的变量。如果使用
HTTP_PROXY
或HTTPS_PROXY
,则在 Helm Chart 包中会自动生成NO_PROXY
变量,Kaspersky Container Security 使用的所有组件都会在此变量中指明。如果您需要为卡巴斯基容器安全的操作指定域和掩码以将其排除在代理之外,则可以更改
NO_PROXY
变量。SCANNER_PROXY
– 用于指定代理服务器的专用变量,指定哪个服务器接收来自文件威胁防护组件扫描器的请求。卡巴斯基服务器使用这些请求来更新数据库。LICENSE_PROXY
– 用于指定代理服务器的专用变量,kcs-licenses 模块通过该服务器将请求发送到卡巴斯基服务器,以检查和更新有关当前授权许可的信息。
要在代理服务器的许可列表中指定卡巴斯基服务器,必须使用 *.kaspersky.com
或 .kaspersky.com
掩码(取决于您的代理服务器支持的域名掩码)。
下表列出了可以使用环境变量的卡巴斯基容器安全组件,并指示了这些环境变量的用途。
卡巴斯基容器安全组件使用的环境变量
组件 |
环境变量 |
用途 |
---|---|---|
kcs-ih |
|
访问卡巴斯基容器安全命名空间中不可用的外部镜像仓库。 |
kcs-ih |
|
使用卡巴斯基更新服务器更新文件威胁防护扫描器的数据库。 |
kcs-middleware |
|
访问卡巴斯基命名空间中不可用的外部镜像仓库。 |
kcs-scanner |
|
使用卡巴斯基更新服务器更新漏洞扫描器数据库。 |
kcs-licenses |
|
使用卡巴斯基授权许可服务器检查和更新有关当前授权许可的信息。 |
删除解决方案
要卸载卡巴斯基容器安全的基本业务逻辑模块,请执行以下操作之一:
- 在安装了 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 配置文件的名称。
如果删除集群节点上的所有代理,我们建议您删除包含这些代理的组。
要删除代理组:
- 在卡巴斯基容器安全的主菜单中,转到“组件 → 代理”部分。
- 在包含要删除的代理组的名称的行中,单击删除图标 (
)。
- 在打开的窗口中,确认操作。
更新解决方案
您可以在卡巴斯基网站 https://www.kaspersky.com.cn 上找到有关应用程序最新版本的信息,或联系我们的合作伙伴。
升级过程与安装过程相同。在更新过程中,会显示应用程序的当前版本。
页首
解决方案界面
管理控制台通过 Web 界面实现,由以下元素组成:
- 主菜单 – 主菜单的各个部分和子部分用于访问解决方案的主要功能。
- 工作窗格 – 工作窗格中的信息和控件取决于您在主菜单中选择的部分或子部分。
主菜单
在 Web 界面中,卡巴斯基容器安全的主菜单位于左侧窗格,由对应于解决方案基本功能的多个部分组成。
资源
此部分包含所有可用卡巴斯基容器安全资源的监控结果:集群、与解决方案集成的仓库以及 CI/CD 过程。
组件
本节包含有关解决方案组件(即代理、扫描器和内核)状态的信息。
合规性
此部分包含检查集群节点是否符合 Kubernetes 基准的结果。
策略
此部分允许您在操作卡巴斯基容器安全时配置安全策略。
“风险接受”子部分含所有检测到的威胁和漏洞的列表,它们的风险已被用户接受。在该子部分中,您可以取消风险接受或设置将风险视为已接受的期限。
管理
此部分允许您执行以下任务:
- 在“访问管理”下,您可以管理用户访问权限、定义角色和访问权限,以及限制对特定范围内的资源和功能的访问。
- 在“报告”下,您可以查看生成的镜像报告列表,以及下载和删除报告。
- 集成子部分允许配置与公共镜像仓库、镜像签名验证器、输出和LDAP 服务器的集成,以及获取集成状态信息。
- 在“事件”下,您可以查看应用程序生成的事件列表,在跟踪过程和分析潜在安全威胁时,该列表可能很有用。
设置
此部分允许您执行以下任务:
- 在“身份验证”下,您可以配置启动卡巴斯基容器安全管理控制台的设置并管理连接设置。
- “授权许可”子部分允许您管理授权许可设置并查看许可证功能。
- “关于”子部分包含有关应用程序版本以及恶意软件和漏洞数据库最新更新的信息。您还可以查看卡巴斯基容器安全授权许可协议的条款和条件、第三方代码信息和 API 引用,并打开卡巴斯基容器安全帮助以获取有关该解决方案及其操作的详细说明。
包含当前用户名的块
该块显示登录卡巴斯基容器安全管理控制台的用户的相关信息。使用弹出菜单的命令,可以转到用户配置文件页面并退出控制台。
页首
仪表盘
在卡巴斯基容器安全的主页上,您可以配置仪表盘以接收有关解决方案所处理对象的最新分析数据。此配置使用筛选器执行,允许您按对象和时间段对信息进行排序。
分析数据通过展示分析信息的小部件或专用工具显示。
当登录账户或单击主菜单上方包含解决方案徽标和名称的区域时,卡巴斯基容器安全仪表盘将打开。
应用筛选器
卡巴斯基容器安全提供使用以下筛选器配置仪表盘的功能:
- 按时间段筛选:
- 整个时间段
- 本年
- 本季度
- 本月
- 本周
- 过去 24 小时
- 自定义期间
对于您选择的任何时间段,时间从当天开始算起。默认情况下,显示当周的信息。
- 按资源筛选:
- 所有镜像
- 集群外部的所有镜像
- 集群中的镜像
- 特定集群的镜像
- CI/CD 镜像
默认情况下,显示所有镜像的信息。
仪表盘上的小组件
卡巴斯基容器安全在仪表盘上使用小组件提供分析数据,这些小组件根据数据类型分组为多个组。卡巴斯基容器安全中提供以下小组件组和小组件:
- 镜像对安全策略要求的符合情况。解决方案显示以下信息:
- 镜像总数。
- 状态为合规的镜像数量。
- 状态为不合规的镜像数量。
- 镜像风险评估。该小组件提供有关对象状态的以下信息:
- 镜像总数。
- 状态为严重的镜像数量。
- 状态为高的镜像数量。
- 状态为中的镜像数量。
- 状态为低的镜像数量。
- 状态为可忽略的镜像数量。
- 状态为正常的镜像数量。
- 最常导致集群节点不符合 Kubernetes 基准的前 10 个对象基准:
- 最常导致不合规的 10 个集群节点基准。
- 未能通过指定基准合规性检查的集群节点数量。
- 按风险评分最高的镜像数量排名前 10 的仓库。
- 漏洞
- 最常检测到的前 10 种严重状态为严重、高或中的漏洞,以及包含指定漏洞的镜像数量。
如果漏洞包含漏洞利用,则漏洞利用图标 (
) 会显示在严重级别旁边。您可以使用漏洞列表上方的仅显示漏洞利用切换开关来显示所有匹配的漏洞或仅显示带有漏洞利用的漏洞。
- 包含已识别漏洞(严重状态为严重和高)数量最多的前 10 个镜像。
- 最常检测到的前 10 种严重状态为严重、高或中的漏洞,以及包含指定漏洞的镜像数量。
- 恶意软件
- 最常检测到的前 10 种恶意软件,以及包含该恶意软件的镜像数量。
- 检测到恶意软件类型数量最多的前 10 个镜像。
- 敏感数据:
- 最常检测到的前 10 种严重状态为严重、高或中的敏感数据,以及包含此类敏感数据的镜像数量。
- 包含检测到的敏感数据(严重状态为严重和高)数量最多的前 10 个镜像。
- 错误配置
- 最常检测到的前 10 种严重状态为严重、高或中的错误配置,以及包含此类敏感数据的镜像数量。
- 包含检测到的错误配置(严重状态为严重和高)数量最多的前 10 个镜像。
指定严重级别的对象列表按严重程度进行降序排列(列表中的第一项是严重状态最高的对象)。
用户个人资料
要进入用户个人资料页面:
- 在主菜单中,单击含有当前用户名的块。
- 选择“我的个人资料”。
在“我的个人资料”页面上,卡巴斯基容器安全将显示有关活跃用户账户的主要信息。此信息分为以下几部分:
- 一般信息 – 显示用户名和已显示的用户名、供联系的电子邮件地址以及分配给用户的角色列表。
在该部分,还可以通过单击“更改密码”按钮更改访问管理控制台的密码。
- API 令牌 – 有关用于使用 API 连接和访问解决方案的令牌的信息。有效 API 令牌的值被掩码隐藏,可单击令牌右侧的取消掩码图标 (
) 以查看令牌值。可以单击掩码图标 (
) 来使用掩码隐藏令牌值。
在该部分,还可以使用“复制”按钮复制活动令牌的值。如有必要,您还可以通过点击“重新签发令牌”按钮来生成新的 API 令牌。
- 权限 – 显示分配给用户的所有权限。
设置数据显示的具体方法
卡巴斯基容器安全界面提供以下设置数据显示的方式:
- 筛选。筛选器字段位于数据表上方。筛选器字段和管理筛选器的方式取决于要显示的数据的具体情况。
在某些部分中,您必须单击筛选器图标才能打开筛选器字段 (
)。
- 按升序或降序排序。在某些部分中,您可以使用列标题中的排序图标 (
) 按选定列对数据列表进行排序。
- 搜索。您可以使用表格上方标有搜索图标 (
) 的“搜索”字段来搜索显示的数据。
- 菜单。在某些表格中,您可以使用表格行中的菜单命令对对象执行操作。要打开所选对象的菜单,请单击对象行中的菜单图标 (
)。
- 选择。在某些表格中,您可以通过单击复选框 (
) 来选择项目。要取消选中某个复选框,请再次单击该复选框。
- 删除。您可以使用在选择对象时出现的删除图标 (
) 或“删除”链接来删除对象。
- 展开或折叠列表。在某些表格中,您可以单击展开图标 (
) 来展开对象行并查看其内容。要折叠表格元素,请单击折叠图标 (
)。
关于最终用户授权许可协议
最终用户授权许可协议是您与卡巴斯基之间具有约束力的协议,规定了您可以使用应用程序所依据的条款。
在开始使用应用程序之前,请仔细阅读最终用户授权许可协议的条款。
您可以在卡巴斯基容器安全安装期间阅读最终用户授权许可协议的条款。
在应用程序安装期间确认您同意最终用户授权许可协议的文本,即表示您接受最终用户授权许可协议的条款。如果您不接受最终用户授权许可协议的条款,则必须取消安装应用程序并且不得使用应用程序。
该软件的更新功能(包括提供防病毒签名更新和代码库更新)可能无法在美国境内使用。
页首
关于授权许可
授权许可是根据最终用户授权许可协议授予的使用卡巴斯基容器安全的有时间限制的权利。
授权许可包括根据最终用户授权许可协议的条款使用应用程序以及获得技术支持的权利。可用功能和应用程序使用期限取决于用于激活应用程序的授权许可类型。
卡巴斯基容器安全支持以下类型的授权许可:
- NFR(不可转售)是特定期限的免费授权许可,旨在让用户熟悉应用程序并进行测试部署。
- 商业授权许可是您购买解决方案时获得的付费授权许可。
解决方案的功能取决于所持有的授权许可的类型。卡巴斯基容器安全支持以下授权许可:
- 标准授权许可 – 允许与镜像仓库和平台的集成、安全威胁检测扫描、风险评估以及对象状态监控。
- 企业授权许可 – 除了标准授权许可提供的功能之外,此授权许可还允许访问用于监视、控制和分析对象、错误配置检测以及安全威胁防护的组件。
授权许可过期后,应用程序可以继续运行,但功能有限。要使用卡巴斯基容器安全的全部功能,您必须购买商业授权许可或续订商业授权许可。
页首
关于授权许可证书
授权许可证书是与密钥文件或激活码一起收到的文件。
授权许可证书包含以下授权许可信息:
- 授权许可编号或订单号
- 有关被授予授权许可的用户的信息
- 有关在所提供的授权许可下可以激活的应用程序的信息
- 授权许可单位数量的限制(例如,可以在所提供的授权许可下使用应用程序的设备数)
- 授权许可期限的开始日期
- 授权许可到期日期或授权许可期限
- 授权许可类型
关于授权许可密钥
授权许可密钥是一个位序列,可用于按照最终用户授权许可协议的条款激活和使用应用程序。授权许可密钥由卡巴斯基专家生成。
您可以通过应用密钥文件或输入激活码来向应用程序添加授权许可密钥。
卡巴斯基可以阻止违反最终用户授权许可协议的授权许可密钥。如果授权许可密钥已被阻止,您必须添加其他授权许可密钥才能继续使用应用程序。
页首
关于密钥文件
密钥文件是您从卡巴斯基收到的扩展名为 KEY 的文件。密钥文件的用途是添加激活应用程序的授权许可密钥。
您在购买卡巴斯基容器安全时提供的电子邮件地址会收到密钥文件。
您无需连接到卡巴斯基激活服务器即可使用密钥文件激活解决方案。
如果密钥文件被意外删除,您可以将其恢复。
要恢复密钥文件,请执行以下操作之一:
- 联系授权许可供应商。
- 在卡巴斯基网站上根据可用的激活码获取密钥文件。
关于激活码
激活码是由 20 个英文字母和数字组成的唯一序列。您必须输入激活码才能添加激活卡巴斯基容器安全的授权许可密钥。激活码将发送到您在购买卡巴斯基容器安全时提供的电子邮件地址。
要使用激活码激活应用程序,需要访问互联网以连接到卡巴斯基激活服务器。
如果您在激活应用程序后丢失了激活码,请联系您购买授权许可的卡巴斯基合作伙伴。
页首
应用程序激活过程
应用程序激活是激活授权许可的过程,将授予使用卡巴斯基容器安全的权限,且在到期之前有效。
您可以使用在购买解决方案时所获取的激活码或密钥文件来激活应用程序。
在可访问互联网的公共公司网络中安装解决方案时,请使用激活码进行激活。在没有互联网连接的公共公司网络或专用公司网络中安装卡巴斯基容器安全时,请使用密钥文件进行激活。
要使用激活码激活应用程序:
- 在“设置 → 授权许可”部分中,单击“添加授权许可密钥”按钮。
- 在提示您选择希望如何添加授权许可密钥的窗口中,选择“输入激活码”。
- 在“激活码”字段中,输入激活码,然后单击“添加”。
应用程序即被激活,授权许可信息页面将打开。
要使用密钥文件激活应用程序:
- 在“设置 → 授权许可”部分中,单击“添加授权许可密钥”按钮。
- 在提示您选择如何添加授权许可密钥的窗口中,选择“上传密钥文件”,然后单击“上传并添加”按钮。
- 在打开的窗口中,选择扩展名为 KEY 的文件,然后单击“打开”。
应用程序即被激活,授权许可信息页面将打开。
激活应用程序时,新的激活码或密钥文件将替换之前输入的激活码或密钥文件。
页首
查看授权许可信息
您可以在卡巴斯基容器安全 Web 界面的“设置 → 授权许可”部分中查看有关活动授权许可的信息。
授权许可详细信息页面显示以下参数:
- 授权许可信息。卡巴斯基容器安全显示以下内容:
- 您向其购买授权许可的卡巴斯基合作伙伴的名称。
- 授权许可期限。
该期限从您购买授权许可的那一刻开始,而不是从您激活应用程序的那一刻开始。
- 客户信息。该子部分提供有关购买授权许可的公司的数据:
- 公司名称
- 公司所在国家/地区
- 客户代表的电子邮件地址
- 授权许可到期之前的剩余时间 – 解决方案会显示授权许可到期的确切日期和时间。
- 节点数 – 授权许可允许的最大节点数和活动节点数。
- 每月镜像扫描次数 – 授权许可允许的最大镜像扫描次数和已完成的扫描次数。一个月被视为过去 30 天(从当天算起的 30 天)。
- 授权许可提供的功能。解决方案将显示您购买的授权许可下的可用功能列表。
续订授权许可
当授权许可即将到期时,卡巴斯基容器安全将显示以下通知:
- 授权许可即将到期的通知,指示到期前的剩余时间。您将在授权许可到期前 30 天、14 天和 7 天收到此通知。
- 授权许可即将到期并且解决方案将切换到有限功能模式的通知。此通知在授权许可到期当天发送。
在有限功能模式下,卡巴斯基容器安全的功能受到如下限制:
- 不会执行新对象扫描。
- 授权许可过期后,Web 界面不会显示添加到之前创建的集群中的新节点。
- 无法添加新的集群进行监控。
- 漏洞数据库不会更新。
您可以通过应用新的激活码或添加新的密钥文件来续订授权许可。要续订授权许可,请联系您向其购买授权许可的卡巴斯基合作伙伴。
页首
数据提供
本节包含有关卡巴斯基容器安全在运行期间可以保存在设备上和转发到卡巴斯基的数据的信息。
如果您使用激活码激活卡巴斯基容器安全,则您同意自动向卡巴斯基提供信息,作为常规授权许可密钥状态确认流程的一部分。为了确认授权许可密钥状态, 卡巴斯基容器安全会定期联系卡巴斯基激活服务器并将以下信息转发到卡巴斯基:
- 区域激活中心标识符;
- 使用解决方案的授权许可的标题;
- 授权许可密钥的校验和类型和校验和;
- 授权许可密钥的创建日期和时间;
- 解决方案授权许可的到期日期和时间;
- 解决方案授权许可标识符;
- 提供解决方案使用授权许可时应用的信息模型的标识符;
- 当前授权许可密钥状态;
- 用于激活解决方案的授权许可类型;
- 唯一设备标识符;
- 设备操作系统的系列名称;
- 解决方案安装标识符 (PCID);
- 解决方案的标识符、本地化和完整版本;
- 从授权许可中获得的解决方案标识符;
- 兼容的软件标识符集;
- 解决方案品牌重塑标识符;
- 向解决方案用户显示的法律协议列表;
- 用户在使用解决方案时所接受的法律协议的类型和版本。
此外,使用激活码即表示您同意将以下信息转发到卡巴斯基:
- 用户为激活解决方案所输入的激活码;
- 用户设备上的日期和时间;
- 设备操作系统的版本、内部版本号、更新号和修订版;
- 指示用户在使用解决方案时接受了法律协议条款的标志。
使用激活码即表示您同意自动将上面列出的数据转发到卡巴斯基。如果您不同意提供此信息,请使用密钥文件激活卡巴斯基容器安全。
如果您使用卡巴斯基更新服务器下载更新,则您同意自动提供以下信息:
- 从授权许可中获取的卡巴斯基容器安全解决方案标识符;
- 解决方案的完整版本;
- 解决方案授权许可标识符;
- 有效授权许可的类型;
- 解决方案安装标识符 (PCID);
- 解决方案更新启动的标识符;
- 处理的网址。
卡巴斯基可以使用获得的所有数据来生成有关卡巴斯基软件的分发和使用的统计信息。
卡巴斯基根据法律规定的要求和卡巴斯基的适用法规保护所接收的任何信息。数据通过加密的通信通道传输。
有关对使用解决方案期间获得并传输到卡巴斯基的信息进行处理、存储和销毁的更多详细信息,请参阅卡巴斯基网站上的最终用户授权许可协议和隐私策略。
页首
使用集群
卡巴斯基容器安全提供了一种工具,用于显示和分析集群中命名空间内各种对象之间的连接。
集群是一组运行容器化应用程序的
。通过使用集群,您可以对这些集群内的镜像执行批量扫描。执行此操作时,扫描期间在集群中找到的仓库会自动创建。卡巴斯基容器安全会自动读取并记录用于访问集群中仓库的标识数据(用户名、密码、令牌),并生成此对象的链接。还会为仓库分配以下格式的名称:<集群名称>_<仓库名称>
。使用集群对象时,接收到的标识数据将用于访问仓库。
在“资源 → 资产 → 集群”下,卡巴斯基容器安全以表格形式显示了可用集群列表。
查看集群列表
“资源 → 资产 → 集群”部分将显示一张有关卡巴斯基容器安全中可用集群的表格。为每个集群提供以下数据:
- 集群名称。单击“集群名称”列中的集群名称,您将进入可查看该集群中命名空间的页面
- 集群中包含的命名空间数量
- 部署集群的编排器名称
- 最高风险评级。基于集群中镜像的风险评级分配给该集群的最大风险评级
您可以使用“排序”来重新排列表格中的数据,如下所示:
- 按集群名称:您可以在“集群名称”列中按字母顺序升序(从 A 到 Z)或降序(从 Z 到 A)排列集群。
- 按命名空间数量:您可以按照命名空间列中的命名空间数量的降序或升序对集群进行排序。
- 按编排器名称:通过对“编排器”列进行排序,您可以根据部署集群的编排器对集群进行分组。
- 按最高风险评级:您可以按最高风险评级降序或升序排列集群,并显示在“最高风险评级”列中。
单击“在图表上查看”列中的“查看”,即可查看集群中的命名空间及其之间的连接。卡巴斯基容器安全将打开所选集群的“命名空间图表”。
仅当部署的代理可用时,才能扫描并以可视化形式展示集群资源。
页首
集群中的命名空间
要查看集群中包含的命名空间:
- 转到“资源 → 资产 → 集群”下的“表格”选项卡。
- 在包含集群列表的表格中的“集群名称”列,单击集群名称。
卡巴斯基容器安全将打开一个页面,其中显示了包含所选集群中命名空间列表的表格。
为集群中的每个命名空间指示以下信息:
- 命名空间名称。在“命名空间”列中,单击命名空间名称中的链接,您将进入可查看命名空间中 Pod 的页面。
- 所选命名空间中所有 Pod 的容器数量。
- 扫描的镜像数量。扫描镜像列将以 X/Y 格式显示此信息,例如:1/8。第一个值 (X) 表示扫描镜像的数量,第二个值 (Y) 表示命名空间中的镜像总数量。
- 状态为“队列中”的镜像数量。“队列中的扫描”列将显示排队等候扫描的作业中的镜像数量。
- 状态为“出现错误”的镜像数量。“失败的扫描”列将显示扫描完成但出现错误的镜像数量。
- 分配给命名空间中镜像的最高风险评级。
您可以使用排序来重新排列表格中的数据,如下所示:
- 按命名空间名称:您可以在“命名空间”列中按字母顺序升序(从 A 到 Z)或降序(从 Z 到 A)排列对象。
- 按所选命名空间中 Pod 的容器数量升序或降序排列。
- 按带有“队列中”状态标记的镜像数量升序或降序排列。
- 按带有“出现错误”状态标记的镜像数量升序或降序排列。
- 按最高风险评级:您可以按最高风险评级降序或升序排列命名空间,并显示在“最大风险评级”列中。
单击“在图表上查看”列中的“查看”,即可查看命名空间中的对象。卡巴斯基容器安全将打开所选命名空间的应用程序图表。
要查看集群中的命名空间及其关系,
请转到“资源 → 资产 → 集群”下的“图表”选项卡。
页首
集群中的 Pod
要查看命名空间中的 Pod 列表:
- 在“资源 → 资产 → 集群”下,打开包含集群中命名空间列表的表格。
- 在“命名空间”列中,单击命名空间的名称。
卡巴斯基容器安全将打开一个页面,其中会显示一个包含所选集群中 Pod 列表的表格。
对于所选命名空间中的每个 Pod,将显示以下内容:
- Pod 名称。
- 与 Pod 关联的容器名称列表。
- 部署容器的镜像的名称。通过点击镜像名称中的链接,可以转到“资源 → 资产 → 仓库”下该镜像扫描的结果页面。
- 对安全策略要求的符合情况。
- 风险评级。卡巴斯基容器安全将显示在“镜像”列中指定的镜像风险评级。
- 检测到的安全问题(漏洞、恶意软件、敏感数据和错误配置)数量 – 对于漏洞,该解决方案单独列出了其数量并按严重程度进行细分。
- 上次对象扫描的日期和时间。
您可以使用排序来重新排列表格中的数据,如下所示:
- 按 Pod 名称、容器名称或镜像名称:您可以按字母升序或降序排列“Pod”、“容器”和“镜像”列中的对象。
- 是否符合安全策略。卡巴斯基容器安全可以根据“合规”和“不合规”状态对对象进行分组。
- 按风险评级:可以按照严重程度对对象进行排列。
- 按日期和时间:卡巴斯基容器安全可以按扫描日期和时间从最早或最晚开始显示对象。
集群资源可视化
卡巴斯基容器安全可视化了一个或多个集群内的对象,以及集群内的对象与集群或范围之外的资源之间的链接。根据集群资源可视化的级别,它将显示以下内容:
- 命名空间图表:表示集群及其中的命名空间。
- 所选集群的应用程序图:显示集群、其命名空间以及扩展命名空间的应用程序。通过将对象扩展至最低级别,可以最详细地显示应用程序图。
使用集群资源图表时,必须考虑对象显示的以下详情:
- 对象图标右上角的数字显示了指定对象内更低级别的对象(子对象)的数量。
- 图表上的对象可能会以某种颜色突出显示。如果对象符合关于风险评估和安全策略合规的既定参数,则可对其进行识别。
- 图表上的对象将按照以下规则分组:
- 如果突出显示的对象数量超过五个,则将其分为一组。
- 如果未突出显示的对象数量超过两个,则将其分为一组。
- 如需要,可以隐藏图表上的对象。
如果该集群存在活动代理,则会生成集群资源的可视化表示。
页首
图表上的集群资源
卡巴斯基容器安全可扫描并显示集群的资源及其之间的链接。此扫描针对所有具有活动代理的集群执行。
集群资源是存储在编排器中并用于表示集群状态的实体或对象。在它们的帮助下,您可以获得有关正在运行的容器化应用程序的信息、它们的启动位置(节点)以及对其可用的资源。集群对象还可定义用于管理正在运行的应用程序的策略(例如,重新启动或更新)。
在卡巴斯基容器安全的界面中,最高级别的对象(父对象)是集群。它包括在其中启动应用程序的命名空间。反过来,应用程序包括 Pod 和其他对象。
集群是一组运行容器化应用程序的实体机或虚拟机(节点)。在 Kubernetes 中节点分为以下类型:
- 主节点实现 API 对象并用于管理集群及其资源。
- 工作节点用于运行工作负载。一个集群包含一个或多个工作节点。
卡巴斯基容器安全将集群显示为使用集群图标的图表()。
根据您想要集群资源显示的详细程度,卡巴斯基容器安全将图表显示为命名空间图表或应用程序图表。下表列出了可能包含在集群中并显示在图表上的所有对象。
集群内的对象
对象 |
图标 |
描述 |
---|---|---|
命名空间 |
|
用于隔离集群内资源的机制。命名空间包含单个工作区所需的各种对象(例如,部署、服务)。 卡巴斯基容器安全可以在图表上对命名空间进行分组,并显示这样的一组对象,指示其中的实体数量(例如, |
Pod |
|
包含一个或多个具有共享网络资源的容器的实体,以及一组用于运行 Pod 中包含的容器的规则。 |
应用程序 |
|
集群中的一组对象,在卡巴斯基容器安全中通常被视为单个实体。 该应用程序由以下对象组成:
单个 Pod 不构成应用程序。它们继续作为命名空间的一部分发挥作用,并在图表上单独显示。 |
部署 |
|
包含一组规则的对象,描述了 Pod 及在其中的应用程序的运行、Pod 副本的数量以及在其特性发生变化时替换它们的顺序。 |
DaemonSet |
|
负责在集群的所有节点上从同一映像创建和运行 Pod 的对象。在卡巴斯基容器安全中,DaemonSet 用于在集群的每个节点上部署代理(node-agent)来接收信息并管理 Pod 中的进程。 |
Ingress |
|
提供对集群中服务的外部访问的对象,通常通过 HTTP 和 HTTPS 进行。 |
ReplicaSet |
|
管理 Pod 复制的对象。ReplicaSet 维护一定数量的相同 Pod。 |
Secret |
|
用于存储敏感数据(例如密码、令牌或密钥)的对象。Secret 有助于避免将此类数据存储在应用程序代码中。 Secret 是与使用此类对象存储敏感数据的 Pod 分开创建的。这降低了在创建、查看或编辑 Pod 时泄露 Secret 的风险。 |
服务 |
|
描述 Pod 中应用程序的网络功能的对象。服务将 Pod 组合成逻辑组,向它们转发流量,并在它们之间平衡负载。 |
端点 |
|
服务对象查询以确定将流量引导到哪些 Pod 的网络端点列表。 |
StatefulSet |
|
用于通过跟踪和保存应用程序状态来管理应用程序的工作负载对象。 StatefulSet 用于需要以下功能的应用程序:
|
ConfigMap |
|
用于以键值对形式存储非敏感数据的对象。ConfigMap 在 Pod 中用作环境变量、命令行参数或卷内的配置文件。 使用 ConfigMap 可以将特定于环境的配置设置与容器中的镜像分开,以提高应用程序的可转移性。 |
持久卷(PV) |
|
用于在集群中存储 Pod 数据的专用持久资源(卷)。PV 独立于 Pod,存储其中包含的信息,并在实现多路访问时允许其他 Pod 使用该信息。 |
持久卷申领(PVC) |
|
用户生成的存储具有持久卷 (PV) 要求的数据的请求。例如,PVC 可以指定所需的持久卷的大小以及访问其中的数据的模式(例如,单次读取访问或多次读/写访问)。 |
命名空间图表
要查看选定集群的命名空间图表,
在包含集群列表的表中,单击“查看”。
卡巴斯基容器安全显示集群及其命名空间。
卡巴斯基容器安全可以在侧边栏或表格中的命名空间图表上显示有关集群和命名空间的信息。侧边栏提供了有关对象的简短总结。表格展示了有关集群中对象的安全扫描状态的更多详细信息。侧边栏和表格之间的数据部分重复。
页首
在侧边栏中查看有关图表对象的详细信息
要在侧边栏查看集群信息:
- 单击命名空间图表上的集群 (
) 或命名空间 (
) 图标。
- 在打开的菜单中,选择“详细信息”。
详细信息侧边栏将显示以下特定于对象的数据:
在表格中查看有关图表对象的详细信息
要查看表格中图表上对象的信息:
- 单击命名空间图表中的以下图标之一:
- 集群 (
)
- 命名空间组 (
)
- 命名空间 (
)
- 集群 (
- 在打开的菜单中,选择“在表格中打开”。
卡巴斯基容器安全会在图表下方的工作窗格底部打开一个表格,其中包含有关所选对象或对象组的信息。根据对象,卡巴斯基容器安全将在打开的表格中显示以下容器详细信息:
您也可以使用该表格来配置对象在图表上的显示方式,以隐藏或显示命名空间。
页首
应用程序图表
要查看选定集群的应用程序图表:
- 转到资源→资产→集群。
- 执行以下操作之一:
- 在表格查看选项卡上,打开包含命名空间列表的表格并单击“查看”。
- 在图表查看选项卡中,打开命名空间图并执行以下操作之一:
- 双击将命名空间扩展至应用程序。
- 单击命名空间图标 (
) 打开菜单并选择在图表上展开。
卡巴斯基容器安全显示所选命名空间中的所有应用程序。
每个应用程序都可以向下扩展到 Pod 级别。您可以在选定集群的应用程序图上查看以下对象的详细信息:
页首
查看应用程序信息
要打开有关应用程序图中的应用程序的信息,请
单击应用程序图标 ()打开菜单并选择“详细信息”。
卡巴斯基容器安全将打开一个侧面板,其中包含有关应用程序的详细信息。
该解决方案显示有关应用程序的以下信息:
- 对象类型和应用程序类型(例如,应用程序:部署)。
- 应用程序名称。
- 最高风险评级。该解决方案可根据该应用程序内所有对象的最高严重性级别为应用程序分配风险等级。
- 安全策略合规状态为合规或不合规。
- 容器选项卡包含所选 Pod 内的容器的以下信息:
- 策略选项卡显示有关应用于应用程序的保障策略和运行时策略的信息。
保障策略部分提供以下信息:
- 策略应用状态(已通过/已失败)。
- 策略名称。
- 表明现有的安全威胁。根据所应用的策略,扫描结果可以显示如下:
- 扫描已执行,识别出安全威胁(
)。
- 扫描已执行,未识别出安全威胁(
)。
- 未对此类安全威胁进行扫描(
)。
- 扫描已执行,识别出安全威胁(
运行时策略部分包含以下信息:
- 策略名称。
- 策略应用模式(审计/强制)。
通过单击策略选项卡中策略名称的链接,您可以查看其详细描述。侧栏显示以下信息:
- 策略类型和名称。
- 策略描述(如果有)。
- 策略作者。
- 模式(适用于运行时策略)。
- 预定义范围的列表。
- 应用策略时执行的操作(适用于保障策略)。
- 设定基准及其参数。
您可以通过单击编辑策略按钮来编辑保障策略的设置。
要查看策略的详细描述,您必须具有查看它们的权限。需要策略管理权限才能更改策略设置。
查看应用程序中对象的信息
要打开有关应用程序图中的对象的信息:
- 在应用程序图上,选择您想要获取其对象信息的应用程序,然后执行以下操作之一:
- 双击应用程序将其展开至其组成对象。
- 单击应用程序图标 (
) 打开菜单并选择在图表上展开。
- 选择感兴趣的对象并双击以在侧面板中展开其信息。
卡巴斯基容器安全将打开一个侧面板,其中包含有关所选对象的详细信息。
根据对象的类型,会显示有关所选实体的附加信息。下表描述了解决方案针对应用程序中的各种对象显示的信息集。
应用程序中的对象信息
对象 |
显示的对象数据 |
---|---|
部署 |
|
DaemonSet |
|
Ingress |
|
Secret |
|
ReplicaSet |
|
服务 |
|
端点 |
|
StatefulSet |
|
ConfigMap |
|
持久卷 |
|
持久卷申领 |
|
您可以使用下载 .yaml按钮为所有对象生成并下载一个包含对象当前状态描述的文件(.YAML 格式)。
页首
查看 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 和容器数量。
- 分配给命名空间中对象的最大风险评级。
- 安全策略合规状态为合规或不合规。
突出显示图表上的对象
要突出显示图形上的对象:
- 单击图表上方的“突出显示对象”按钮。
卡巴斯基容器安全将打开一个侧边栏,您可以在其中配置突出显示对象的设置。
- 选中复选框以指定以下设置的值:
- 风险评级。您可以选择一个或多个风险严重程度级别(“严重”、“高”或“中”)。如果未选中复选框,则图表上的对象不会突出显示。
默认情况下,值为“严重”和“高”的复选框处于选中状态。
- 合规 如果选中“不合规”复选框,卡巴斯基容器安全将突出显示不符合适用安全策略的对象。如果未选中此复选框,则图表上的对象不会突出显示,无论其是否符合标准。
默认情况下,不合规为指定项。
- 风险评级。您可以选择一个或多个风险严重程度级别(“严重”、“高”或“中”)。如果未选中复选框,则图表上的对象不会突出显示。
- 单击“应用”。
卡巴斯基容器安全根据您的设置更新图表并显示对象。
对于每个用户,解决方案都会保存用户指定的突出显示设置,并在显示该用户稍后打开的集群对象时应用这些设置。
配置对象在图表上的可见性
默认情况下,卡巴斯基容器安全在图表上显示集群中的所有命名空间。如果这些命名空间及其中的对象与您的特定分析任务无关,必要时您可以隐藏命名空间。
您可以配置图表对象的可见性:
- 在图表上
- 在包含子对象相关信息的表格中
要借助图表隐藏名字空间:
- 单击图表上的对象图标。
- 在打开的菜单中,选择“隐藏”。
卡巴斯基容器安全将更新图表并隐藏对象。
您可以借助包含有关父对象或对象组详细信息的表格来恢复对象的可见性。
要借助表格配置命名空间的可见性:
- 在包含命名空间作为列的一部分的表中,选择一个或多个要更改可见性设置的对象。
- 使用表格上方的按钮执行以下操作之一:
- 要显示图表上的对象,请单击“在图表上显示”。
- 要隐藏图表上的对象,请单击“在图表上隐藏”。
卡巴斯基容器安全根据您的设置更新图表并显示对象。“数据显示”列指示对象在图表上是否显示或隐藏。
图表上的网络进程
卡巴斯基容器安全在图表上显示对象之间的网络交互,还提供有关集群资源之间网络活动的信息。
要查看集群中的网络活动:
- 在资源→资产→集群部分,转到图形视图选项卡。
- 单击图表区域上方的显示网络活动。
解决方案将打开侧边栏,其中包含可供显示的网络活动类型。
- 通过选中复选框,选择一个或多个网络活动显示选项。您可以选择以下显示选项:
- 显示审计的活动。这将显示根据审计模式下应用的运行时策略检测到的网络连接。
- 显示阻止的活动。这将显示根据强制模式下应用的运行时策略阻止的网络连接尝试。
- 显示其他活动。这将显示审计和强制模式下应用的运行时策略未涵盖的网络连接。
- 单击“应用”。
图表将重新加载,选定的网络活动将显示。
网络进程显示原则
以下原则适用于卡巴斯基容器安全中图表上网络连接的显示:
- 解决方案将进程显示为两个对象(集群内的对象组)之间的边,或一个对象(对象组)与集群外部资源之间的边。图表上的箭头从发送者对象指向接收者对象。如果相同类型的网络活动(例如,审计活动)发生在通过网络连接链接的一对对象之间,并且对象之间的流量是双向的,则解决方案用双向箭头表示该活动。
- 如果接收对象超出了相关集群、基础设施或分配给用户的范围,则解决方案将其指示为超出集群或范围的资源。
- 如果检测到涉及此类组中至少一个对象的入站或出站流量,则图表显示与该组命名空间或应用程序的网络连接。当您将组展开到其组成对象时,将显示与特定资源的连接。
- 如果多个网络进程从一个对象转到另一个对象,则解决方案在显示它们时会采用网络活动的优先级。被阻止的活动具有最高优先级,其他活动具有最低优先级。
解决方案显示不同类型的网络活动,如下所示:
- 图表上被阻止的活动用红色虚线表示(
)。
- 图表上的审计活动用带箭头的红实线表示 (
)。
- 图表上的其他活动用带箭头的黑实线表示(
)。
- 双向网络活动在图表上表示为与某一活动类型相对应的一条线,两端都有箭头(
)。
- 如果将鼠标悬停在图表上的网络连接线上,该线将突出显示并改变颜色(
)。
查看有关网络进程的信息
卡巴斯基容器安全可以提供有关网络活动的简要和详细信息。
要查看有关网络活动的简要信息:
将鼠标悬停在相关网络连接上。
一个工具提示将显示,其中包含每种网络活动类型(被阻止、审计和其他)的非唯一连接数。
要查看有关网络活动的详细信息:
单击相关连接。
这将打开侧栏,其中包含有关所选连接的网络活动的信息。
侧边栏显示侧边栏被调用之前 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 地址(如果解决方案可以获取此信息)。
页首
按适用范围显示图表
在图表上显示集群资源时,会考虑分配给用户角色的范围。在这种情况下,必须考虑以下几点:
- 如果为用户角色分配了全局范围,则图表会显示所有集群资源。
- 如果将访问命名空间内特定图像的范围分配给用户角色,则图表将显示整个命名空间(显示命名空间中的所有实体)。
- 如果将无权访问特定命名空间的范围分配给用户角色,则此类命名空间不会显示在图表上。
如果在分配的范围内没有要显示的选定集群的命名空间,则解决方案将通知您没有要显示的数据。
设置与外部镜像仓库的集成
卡巴斯基容器安全可以扫描以下外部镜像仓库中的镜像:
- Harbor
- GitLab 仓库
- JFrog Artifactory
- Sonatype Nexus Repository OSS
- Yandex Registry
- Docker Hub
- Docker 仓库
您应该将卡巴斯基容器安全与包含要扫描的镜像的外部仓库集成。可以自动或手动扫描与卡巴斯基容器安全集成的仓库中的镜像,具体取决于为每个仓库配置的镜像拉取和扫描设置。
与仓库的集成的最低充分权限
要与外部镜像仓库集成,卡巴斯基容器安全账户必须拥有一组特定权限,这些权限根据仓库类型的不同而有所不同。下面列出了每种仓库类型的集成所需的最低账户权限。
GitLab
要将解决方案与 GitLab 用户仓库集成,您需要定义如下参数值:
- 项目或组中的用户角色:报告人。
- 项目访问级别:报告人。
- 分配给用户令牌的权限:read_api、read_registry。
JFrog
要将解决方案与 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 仓库集成选项仅适用于个人命名空间。
页首
未经授权使用公共仓库
未经授权,卡巴斯基容器安全 1.2 无法使用公共仓库。例如,匿名访问 Docker Hub 时,您无法使用该解决方案来扫描镜像。
如果您未在公共仓库中授权,则可以在集群中使用此类镜像仓库,将它们添加到卡巴斯基容器安全,并手动将其分配到特定范围。如果范围仅包含一个或多个您无权使用的公共仓库,并且您尝试在“资源 → 资产 → 仓库”部分中添加镜像,则解决方案将显示错误(指示无法添加镜像),因为该解决方案未与镜像仓库集成。
页首
添加与外部镜像仓库的集成
集成的仓库仅支持直接包含镜像的本地镜像存储库。在版本 1.2 中,卡巴斯基容器安全不支持使用远程或虚拟存储库。
要添加与外部仓库的集成:
- 在“管理 → 集成 → 镜像仓库”部分中,单击“添加仓库”按钮。
将打开集成设置窗口。
- 在“仓库详细信息”选项卡上,指定连接到仓库的设置:
- 输入仓库的名称。
- 如果需要,请输入仓库的描述。
- 从下拉列表中选择仓库类型。卡巴斯基容器安全支持以下类型的仓库:
- 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 V2 API 进行集成)。
如果您正在配置与 Sonatype Nexus Repository OSS、Harbor、JFrog Artifactory(使用端口或子域)或 Yandex Registry 的集成,可以使用 Docker V2 API 访问 Docker 仓库。与 GitLab Registry、Docker Hub 和 JFrog Artifactory 进行集成(通过存储库路径) 不受支持。
- 如果您设置了 JFrog Artifactory 注册表集成,请在“存储库路径”方法下拉列表中选择以下方法之一来访问 Docker:
- 存储库路径。
- 子域。
- 端口。
- 如果您配置与 JFrog Artifactory、Harbor、GitLab Registry、Sonatype Nexus Repository OSS 或 Docker Registry 等仓库的集成,请输入直接指向容器仓库的完整仓库网址 (URL)。我们建议使用 HTTPS 连接(也支持 HTTP 连接)。
如果使用 HTTP 或者带自签名证书或无效证书的 HTTPS,则应在安装了服务器和扫描器的节点上选中 Docker 引擎的不安全仓库框。
- 如果您配置与 JFrog Artifactory、Harbor、GitLab Registry 和 Sonatype Nexus Repository OSS 等仓库的集成,请输入直接指仓库 API 的完整仓库网址 (URL)。
- 选择一种身份验证方法并指定必要的数据,如下所示:
- 如果您配置与 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 提供。
- 转到“镜像扫描详细信息”选项卡,并指定扫描此仓库中镜像的扫描超时(以分钟为单位)。
如果镜像扫描持续时间超过指定时间,扫描将停止,并且镜像将返回扫描队列。解决方案会将镜像重新排队最多 3 次。这意味着扫描仓库中镜像所需的时间可能会增加两倍。
- 配置仓库的镜像拉取和扫描设置。默认情况下,在“拉取并扫描镜像”中已选择“手动”选项:镜像不会自动从仓库中拉取,但用户可以手动将镜像添加到镜像列表中进行扫描。新镜像会自动排队等待扫描。
如果您希望自动从仓库中拉取镜像并使其排队等待扫描,请在“拉取并扫描镜像”中选择“自动”,并配置镜像拉取和扫描的设置。以下选项可用:
- 扫描超时 – 一组用于确定从仓库中拉取镜像进行扫描的频率的设置。根据部署了卡巴斯基容器安全服务器的节点上的时间来指定该时间。
- 重新扫描镜像 – 如果选中此框,则每次扫描新镜像时都会重新扫描之前从仓库中拉取的镜像。
- 名称/标签标准 – 您可以使用名称标准和/或镜像标签模式来指定要拉取和扫描的镜像。如果选中此框,则卡巴斯基容器安全将仅拉取与指定模式匹配的镜像并进行扫描。
您可以按以下模式使用条件:
- 按镜像名称和标签 – <名称><:标签>
- 仅按镜像名称 – <名称>
- 仅按镜像标签 – <:标签>
例如:
- 对于
alpine
模式,所有名称为“alpine”的镜像都会被拉取,无论标签为何; - 对于
4
模式,所有带有标签 4 的镜像都会被拉取,无论镜像名称为何; - 对于
alpine:4
模式,所有名称为“alpine”且带有标签 4 的镜像都会被拉取。
生成标准时,可以使用 * 字符来替代任意数量的字符。
要添加标准,请在字段中输入该条件,然后单击“添加”按钮。您可以添加一项或多项标准。
- 镜像拉取的附加条件。
- 如果不需要附加条件,请选择“无附加条件”。
- 期间内创建的镜像 – 如果您希望仅拉取在特定期间(指定天数、月数或年数)内创建的镜像,请选择此选项。在右侧字段中指定期间长度和计量单位。默认情况下,期间为 60 天。
- 最新 – 如果您希望仅拉取带有最新标签的镜像(从镜像创建日期算起),请选择此选项。在右侧字段中,指定要考虑的最新标签数量。
- 从不拉取具有名称/标签模式的镜像 – 使用您可以指定的镜像名称/标签模式,这些镜像将从拉取和扫描中排除。
- 始终拉取具有名称/标签模式的镜像 – 使用您可以指定的镜像名称/标签模式,始终拉取和扫描这些镜像,无论上面设置的其他条件如何。
- 单击“测试连接”以查看是否可以建立与仓库的连接。
- 单击窗口顶部的“保存”按钮保存仓库集成设置。
查看有关与仓库的集成的信息
您可以在“管理 → 集成 → 镜像仓库”部分中查看与卡巴斯基容器安全集成的所有仓库的列表表格。
该表显示有关集成仓库的以下信息:
- 镜像仓库集成的名称
- 描述(如果在创建与镜像仓库的集成时曾指定)
- 连接的仓库类型:Docker、Harbor、GitLab、JFrog 或 Nexus
- 仓库 URL
- 最后一次连接到镜像仓库的状态:成功或错误。如果显示错误,解决方案还会显示连接错误的简要描述。
在表格中,您可以:
- 添加新的仓库集成。单击表格上方的“添加仓库”以打开集成设置窗口。
- 查看和修改仓库集成设置,包括镜像拉取和扫描设置。您可以单击仓库名称链接来打开编辑窗口。
在此窗口中,您还可以单击“测试连接”以查看是否可以与仓库建立连接。
- 删除与仓库的集成。
删除与外部仓库的集成
要删除与外部仓库的集成:
- 在“管理 → 集成 → 镜像仓库”部分中,通过选中包含仓库名称的行中的复选框来选择要删除的集成。您可以选择一个或多个集成。
- 单击表格上方的删除。
选择一个或多个集成后, “删除”按钮将变为启用状态。
- 在打开的窗口中,确认删除。
卡巴斯基容器安全不会扫描不再与其集成的仓库中的镜像。
页首
Harbor 集成
卡巴斯基容器安全与外部 Harbor 仓库的集成通过两种方式进行:
- 和与其他外部仓库集成的方式相同
- 根据外部 Harbor 仓库的要求
Harbor 将解决方案视为一个附加的外部扫描器,用于扫描对象中是否存在漏洞。与卡巴斯基容器安全的集成使用 Harbor 扫描器插件进行配置。该解决方案将这个自动创建的镜像仓库命名为Harbor External Integration,并使用 Harbor 图标()标记其所在的存储库。
此集成仍然是唯一自动创建的 Harbor 集成,并且分配给镜像仓库的名称无法更改。
要启动 Harbor 扫描进程,您需要知道卡巴斯基容器安全 API 的端点。
要通过 Harbor 请求创建集成,需要有在 CI/CD 中查看和配置扫描的权限。如果缺少这些权限,Harbor 将无法将解决方案连接为扫描仪并作为CI/CD 进程的一部分扫描对象。
页首
根据 Harbor 请求创建集成
要通过 Harbor 请求创建仓库集成,您必须拥有具有管理员权限的 Harbor 帐户,以及在卡巴斯基 Container Security 中查看和配置 CI/CD 中的扫描的权限。如果没有这些权限,Harbor 将无法将该解决方案作为扫描仪连接。
要在请求 Harbor 时创建 Harbor 集成:
- 从 Harbor Web 界面左侧窗格的主菜单中,选择“管理” → “询问服务”。
- 单击新扫描仪按钮。
- 输入以下信息:
- 在 Harbor 界面上显示的解决方案集成的唯一名称。
- 如果有必要,正在被添加的外部扫描器的描述。
- Harbor 显示的卡巴斯基容器安全 API 端点的地址。
- 在授权下拉列表中,选择APIKey作为将仓库连接到解决方案时的授权方法。
- 在APIKey字段中,输入API 令牌的值。
如果 API 令牌发生变化,则必须在开始 Harbor 扫描之前指定其新值。如果未在 Harbor 中的外部扫描器设置中添加新的 API 令牌,则扫描失败。
- 选择跳过证书验证复选框以跳过证书验证。
- 如有必要,单击“测试连接”验证 Harbor 是否可以连接到解决方案。
- 单击“添加”创建集成。
在管理→询问服务→扫描仪下的可用扫描仪列表中,Harbor 显示分配给 Harbor 中解决方案的名称。
如果新的扫描仪在 Harbor 中被指定为默认扫描仪或被分配给项目,则它将被用于扫描对象。这两个选项都需要在 Harbor 中进行额外配置。
扫描启动后,将在外部仓库中创建通过 Harbor 请求与解决方案的集成。卡巴斯基容器安全在管理 → 集成→镜像仓库部分的镜像仓库列表中,显示已创建的 Harbor External Integration 仓库。包含来自外部仓库的镜像的存储库标有Harbor图标 ( )。在外部仓库中启动并运行另一次扫描后,Harbor External Integration 会进行更新。
您无法使用管理控制台中的添加镜像按钮将镜像添加到 Harbor 自动创建的镜像仓库中。
Harbor External Integration 扫描可以手动启动,也可以从外部仓库自动启动。您无法从卡巴斯基容器安全中的 Harbor 自动创建的镜像仓库中开始扫描或重新扫描镜像。
Harbor 外部集成仓库(以及作为与 Harbor 标准集成的一部分创建的仓库)根据适用的扫描器策略进行扫描。
在扫描结束时,解决方案会生成在扫描选定对象期间发现的漏洞的报告并将其发送给 Harbor。如果发送报告需要超过五秒(例如,由于网络连接质量),则在外部注册表界面中会显示接收扫描结果的错误。
页首
查看和编辑 Harbor External Integration 设置
Harbor External Integration 镜像仓库显示在管理 → 集成→镜像仓库部分中与卡巴斯基容器安全集成的注册表列表中。
要更改 Harbor External Integration 设置:
- 在管理 → 集成→镜像仓库部分的镜像仓库列表中,选择 Harbor External Integration 仓库。
- 指定以下可配置设置的值:
- 仓库详细信息选项卡上的描述。
- 镜像扫描详细信息选项卡上的扫描超时。
您不能更改其他 Harbor External Integration 注册表详细信息。
- 单击“保存”。
重新扫描
收到扫描结果后,无法将 Harbor External Integration 仓库中的对象发送给卡巴斯基容器安全进行重新扫描。重新扫描只能从 Harbor 发起。
如果您从卡巴斯基容器安全创建与 Harbor 的集成,并且创建的镜像仓库与 Harbor External Integration 类似,则以下规则将被应用于重新扫描:
- 扫描解决方案中创建的仓库中的对象不会触发 Harbor External Integration 中重新扫描。
- 扫描 Harbor External Integration 中的对象不会触发在解决方案中创建的仓库中重新扫描。
处理仓库中的镜像
“资源 → 资产 → 仓库”部分包含卡巴斯基容器安全扫描的镜像列表以及镜像扫描结果。该列表包括与卡巴斯基容器安全集成的仓库中的镜像。您可以自动或手动向该列表添加镜像。
当您在“管理”中配置与仓库的集成以及拉取和扫描仓库镜像的设置之前,镜像列表为空。
镜像列表显示为表格,镜像按存储库分组。
您可以在“资源 → 资产 → 仓库”部分中执行以下操作:
- 按名称或校验和搜索镜像。
仅在选定的活动镜像仓库中进行搜索。如果所查找的镜像不在所选仓库中,而是其他仓库的一部分,则搜索不会给出任何结果。
- 筛选列表以显示符合指定条件的镜像:
- 仅限指定仓库中的镜像;
- 符合或不符合基准的镜像;
- 在指定时间段内扫描的镜像;
- 已识别出指定风险的镜像。
- 开始重新扫描指定镜像(选择一个或多个镜像后,表格上方会显示“重新扫描”按钮)。
- 生成所选镜像的报告(选择一个或多个镜像后,表格上方会显示“创建报告”按钮)。
- 将镜像添加到列表中和从列表中删除镜像。
- 查看有关镜像扫描结果的详细信息。
添加和删除镜像
与卡巴斯基容器安全集成的仓库中的镜像可以自动添加到镜像列表中,与为每个仓库拉取和扫描镜像所配置的设置一致。您还可以手动向仓库镜像列表中添加镜像。新镜像将排队等待扫描。
要手动向列表添加镜像:
- 在“资源 → 资产 → 仓库”部分中,执行以下操作之一:
- 从列表中选择一个存储库,打开位于存储库名称右侧的操作菜单,然后选择“添加镜像”。
- 单击表格上方的“添加镜像”按钮。
您不能将镜像添加到根据外部 Harbor 仓库的请求创建的镜像仓库中。
- 执行以下操作之一:
- 如果从所选存储库添加镜像,请在打开的窗口中选择所需的镜像标签,然后单击“添加镜像”按钮。
- 如果使用表格上方的“添加镜像”按钮添加镜像 ,则在打开的窗口中,依次选择仓库、存储库、一个或多个镜像,然后单击“添加镜像”按钮。
为了优化镜像仓库的负载,每 10 分钟生成一次所连接仓库中镜像的列表。新镜像出现在仓库中后,可能会延迟指定的时间后才显示在卡巴斯基容器安全界面中。
要从列表中删除镜像:
- 在“资源 → 资产 → 仓库”部分中,执行以下操作之一:
- 从列表中选择要删除的一个或多个镜像,然后使用表格上方的“删除”链接开始删除。
- 在列表中,选择要删除的镜像的存储库,打开存储库名称所在行的操作菜单,然后选择“删除存储库”。
- 在打开的窗口中,确认删除。
查看仓库的镜像扫描结果
有关存储库中所有镜像和每个特定镜像的扫描结果的摘要信息显示在“资源 → 资产 → 仓库”部分的镜像列表中。
单击镜像名称链接可打开包含镜像扫描结果详细信息的页面。
窗口顶部的选项卡包含以下信息:
- “风险”选项卡提供扫描结果的摘要。如果在扫描过程中检测到威胁,页面底部会提供推荐的保护镜像的操作。单击“重新扫描镜像”按钮可重复扫描镜像。
- “漏洞”选项卡显示在镜像中检测到的漏洞。点击漏洞名称中的链接,即可打开漏洞的详细描述,并了解是否存在。
卡巴斯基容器安全从连接的漏洞数据库接收漏洞描述。该描述以漏洞数据库的语言提供。例如,来自 NVD 的漏洞描述以英语显示。
解决方案中的漏洞分类与连接的漏洞数据库中使用的分类相匹配。 - “层”选项卡显示镜像中使用的层以及已识别漏洞的规格。单击层名称链接可打开已识别漏洞的详细描述。
- “资源”选项卡展示资源(组件)以及已识别漏洞的规格。单击资源名称链接可打开已识别漏洞的详细描述。
- “恶意软件”选项卡列出了在镜像中检测到的恶意软件。单击恶意软件名称链接可打开详细描述。
- “敏感数据”选项卡将显示在镜像中发现的敏感数据(机密),例如密码、访问密钥或令牌。
- “错误配置”选项卡显示检测到的构成威胁的镜像错误配置。单击错误配置名称链接可打开详细描述。
- “信息”选项卡提供有关镜像和镜像历史记录的基本信息。
- “扫描历史记录”显示每个镜像版本的最新扫描结果。如果扫描相同版本的镜像,结果会更新;如果扫描不同版本的镜像,结果会添加到表格的单独行中。
以下信息为每个镜像显示:
- 对安全策略要求的符合情况。
- 风险评级,表明风险严重程度。
- 上次扫描的日期和时间。
在镜像中包含漏洞、恶意软件、敏感数据和配置错误的对象的数量。对于漏洞,将针对每个已识别的风险严重程度级别分别标明对象数量。
如果某个镜像包含在通过 Harbor 请求与解决方案集成时创建的镜像仓库中,则解决方案会指示这一点,并使用 Harbor 图标 ()标记镜像。
您可以通过单击创建报告按钮生成有关镜像的详细报告。您也可以通过单击重新扫描按钮来启动重新扫描镜像。
无法对卡巴斯基容器安全从通过 Harbor 请求与解决方案集成期间创建的镜像仓库中收到的镜像进行重新扫描。
您可以接受每个已识别的风险。
页首
关于风险评级
卡巴斯基容器安全软件进行扫描后,会对扫描对象进行风险评级。扫描时,解决方案可能会检测到对象中包含的以下全部或部分安全问题:
- 漏洞
- 恶意软件
- 敏感数据
- 错误配置
根据安全威胁的严重程度,对检测到的每个风险分配以下风险等级之一:
- 可忽略。
- 低。
- 中。
- 高。
- 严重。
如果扫描过程中未检测到安全问题,则该镜像被视为安全并被标记为“正常”。
检测到的漏洞、恶意软件、敏感数据或错误配置的风险等级与用于扫描的安全威胁数据库中指定的等级相对应(例如,NVD、VDB)。这些漏洞和威胁数据库使用特殊的评分标准来评估安全威胁的严重程度。例如,NVD 中应用了通用漏洞评分系统 (CVSS)。
在所有已检测到的对象中,该对象的严重程度最高,风险评级也最高。
例如,在对象扫描期间检测到以下安全威胁:
- 严重程度较低的漏洞;
- 严重程度高且至关重要的敏感数据;
- 中等严重程度的配置错误;
- 低严重程度的恶意软件。
此处,如果检测到的威胁的严重程度为最高,则对应的风险等级为严重。
页首
有关检测到的漏洞的详细信息
要查看在镜像中检测到的漏洞的详细信息:
在包含镜像扫描结果的窗口中,选择“漏洞”选项卡。
镜像扫描期间检测到的漏洞列表以表格形式呈现,其中为每个漏洞提供以下信息:
- 漏洞列包含漏洞条目的 ID。标识符以 CVE-YYYY-X... 格式给出,其中:
- CVE 是一个前缀,表示该漏洞已包含在已知漏洞和安全缺陷数据库中。
- YYYY 是报告该漏洞的年份。
- X... 是授权机构分配给漏洞的编号。
- 严重性列根据漏洞的风险等级指定其严重性级别。
如果漏洞包含漏洞利用,则漏洞利用图标 (
) 会显示在严重级别旁边。
- 资源列表示在其中检测到漏洞的已安装容器化资源。
您可以通过单击风险接受列中的“接受”按钮接受漏洞的风险。
要查看在镜像中检测到的漏洞的详细信息:
- 执行以下操作之一:
- 在镜像扫描结果窗口中,转到“漏洞”选项卡,然后单击表格“漏洞”列中带有漏洞条目 ID 的链接。
- 在仪表板的漏洞部分中,单击带有漏洞记录 ID 的链接。
- 这将打开侧边栏,其中包含有关检测到的漏洞的以下信息:
- 漏洞条目标识符
- 来自漏洞数据库的漏洞描述。该描述以漏洞数据库的语言提供。例如,NVD 的漏洞描述以英文显示。
- 常规信息选项卡显示以下内容:
- 漏洞严重级别。
- 在其中检测到漏洞的已安装资源。
- 基于 、 和 漏洞数据库中的 S 开放标准的漏洞严重程度分数,以及最终的综合漏洞严重程度分数。
在此选项卡上,您可以单击“接受”来接受漏洞的风险。
当仪表板上的侧边栏打开时,不会显示“接受”按钮,无法接受风险。
- 扫描详细信息选项卡显示以下内容:
- 在其中检测到漏洞的镜像
- 扫描的操作系统
- 首次检测到漏洞的日期和时间
- 上次扫描图像的日期和时间
- 工作负载选项卡显示检测到的工作负载列表和工作负载的数量。
有关检测到的恶意软件的详细信息
如果镜像扫描检测到恶意软件,解决方案会在包含镜像扫描结果信息的页面上显示这一情况。要查看有关检测到的恶意对象的详细信息,请在包含镜像扫描结果的窗口中选择“恶意软件”选项卡。
对于每个对象,解决方案都会生成 MD5 或 SHA256 哈希,并指示检测到该对象的位置的路径。
您可以在
和 中创建的网络威胁数据库中查看有关检测到的恶意对象的详细信息。要执行此操作,请单击卡巴斯基 OpenTIP 和卡巴斯基 TIP 资源的链接。卡巴斯基 OpenTIP 门户上的威胁描述页面公开可用。用户必须输入其账户凭据才能访问卡巴斯基 TIP。
页首
扫描镜像中的 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
。
分发套件中提供的 kcs-updates 组件 v1.2.1 包含 Java 漏洞数据库。使用此组件时,您应该确保 values.yaml 文件中的环境变量定义如下:
ENABLE_JAVA_VULN = true
KCS_UPDATES_TAG=v1.2.1
KCS_UPDATES=true
如果 Java 软件包扫描被激活(ENABLE_JAVA_VULN = true
),kcs-scanner 解决方案组件将下载 Java 漏洞数据库并相应地通知 kcs-middleware 和 kcs-ih 组件。然后,kcs-ih 组件从kcs-scanner 接收数据库文件,组装并验证数据库,并在扫描期间使用它。
使用 Java 漏洞数据库发现的漏洞显示在镜像扫描结果中。
卡巴斯基容器安全还可以在使用外部扫描器时在 CI/CD 过程中扫描外部注册表中的镜像中的 Java 软件包。在这种情况下,您必须使用带有v1.2.1-with-db-java标签的扫描器,其中包含预安装的 Java 漏洞数据库。指定的扫描器的配置和使用与v1.2.1-with-db扫描器类似。
页首
与 CI/CD 的集成
卡巴斯基容器安全性允许您在
中扫描驻留在代码存储库管理系统中的容器和 IaC 的镜像,以检测漏洞、恶意软件、错误配置和暴露的敏感数据。在存储库管理系统的项目构建阶段,您可以运行卡巴斯基容器安全扫描器来检查存储库中的对象是否符合已启用的安全策略。扫描器通过代理(例如 GitLab 中的 GitLab Runner)从仓库启动。有关扫描作业和发送扫描结果的的数据通过应用程序编程接口 (API) 转发。
在项目构建阶段运行对象扫描时,必须确保在应用的保障策略的设置中未选择“使 CI/CD 失效”步骤。如果激活此设置,解决方案将在扫描期间通知您出错。
扫描结果显示在“清单 → CI/CD → 在 CI/CD 中扫描”部分的镜像列表中。
对于表中的每个对象,卡巴斯基容器安全都显示以下内容:
- 上次扫描的日期和时间。
- 名称。
- 风险评级。
- 摘要扫描结果,指示与漏洞、恶意软件、敏感数据和错误配置相关的已识别对象。
- 构件类型。
- 在其中扫描镜像的构建的编号和管道。
在“资源 → CI/CD → 在 CI/CD 中扫描”部分中,还可以生成有关在 CI/CD 过程中扫描的镜像的报告。
仅针对镜像构件类型的对象生成报告。在此部分中,无法为其他类型的构件生成报告。
在 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
。
GitLab CI/CD和Jenkins CI/CD中扫描镜像的示例。
要从 TAR 存档扫描镜像:
- 使用任何用于创建容器化镜像的应用程序构建镜像并将其保存为 TAR 存档。
- 运行以下格式的命令来启动扫描:
/scanner [TARGET] --file --stdout
其中:
<TARGET>
– 包含要扫描的镜像的文件的路径。<--file>
– 表示扫描TARGET
文件的标志。<--stdout>
是到安全事件日志的输出。
要扫描 Git 存储库:
- 在 Git 存储库的配置文件中,在环境变量中指定用于访问存储库的令牌(
GITHUB_TOKEN
或GITLAB_TOKEN
)。 - 运行以下格式的命令来启动扫描:
/scanner [TARGET] --repo [--branch BRANCH] [--commit COMMIT] --stdout
其中:
<TARGET>
– Git 存储库的网址 (URL)。<--repo>
– 表示扫描
TARGET
文件的标志。<--branch BRANCH>
– 要扫描的存储库的分支。
<--commit COMMIT>
– 要扫描的提交所对应的哈希值。
<--stdout>
是到安全事件日志的输出。
扫描结果可以在“资源 → CI/CD”中查看,或以 .SPDX、.JSON 和 .HTML 格式下载。
页首
配置与 GitLab CI/CD 的集成
此示例使用特定的扫描器镜像,其内置漏洞数据库位于卡巴斯基容器安全制造商的镜像仓库中。
要在 GitLab CI/CD 过程中使用镜像扫描功能,您应该启用 GitLab 容器仓库。
集成配置包括以下步骤:
- 对卡巴斯基容器安全制造商的镜像仓库中的 GitLab CI/CD 授权。
- 在集群操作员的工作站上,运行以下命令准备授权数据的 Base64 哈希:
printf "login:password" | openssl base64 -A
其中 login 和 password 是卡巴斯基容器安全制造商的镜像仓库中账户的用户名和密码。
- 在 GitLab CI/CD 环境变量中,创建 DOCKER_AUTH_CONFIG 变量(在 GitLab 存储库中选择“设置 → CI/CD”,单击“展开”按钮展开变量 ,然后单击“添加变量”按钮)。
- 按以下形式指定变量:
{
"auths": {
"repo.cloud.example.com": {
"auth": "base64hash"
}
}
}
其中 base64hash 是步骤 1a 中获得的字符串。
- 在集群操作员的工作站上,运行以下命令准备授权数据的 Base64 哈希:
- 将数据发送到卡巴斯基容器安全时对来自 GitLab CI/CD 的请求进行授权。
- 复制“我的个人资料”页面上的 API 令牌。
- 在 .gitlab-ci.yml 配置文件的 API_TOKEN 变量中指定复制的 API 令牌值。
- 将镜像扫描阶段添加到 CI/CD 过程中。
要将扫描添加到 CI/CD 管道,您应该将以下行添加到 .gitlab-ci.yml 文件中:
- 在代码构建阶段后,按以下形式添加有关包含漏洞和其他恶意对象数据库的扫描器镜像的信息:
scan_image:
stage: scanner
image:
name: repo.cloud.example.com/repository/company/scanner:v1.2-with-db
entrypoint: [""]
pull_policy: always
我们建议始终指定
pull_policy
参数,以便在每次扫描时接收包含更新的漏洞和其他恶意对象数据库的相关构建。 - 指定用于对卡巴斯基容器安全的 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
(主)标签,您还可以指定其他标签。 - 如果为私有存储库配置扫描,请指定授权数据以确保扫描器能够访问镜像。授权数据可以设置为变量。
COMPANY_EXT_REGISTRY_USERNAME: ${COMPANY_EXT_REGISTRY_USERNAME}
COMPANY_EXT_REGISTRY_PASSWORD: ${COMPANY_EXT_REGISTRY_PASSWORD}
- 如需要,请指定一个变量,以使用入口控制器的 CA 证书检查 CI/CD 中的数据接收服务器:
API_CA_CERT:${KCS_CA_CERT}
入口控制器的 CA 证书在文本字段中指定为 .PEM 格式的字符串:
----- BEGIN CERTIFICATE ----- \n...
<certificate details>
...\n ----- END CERTIFICATE -----如果未设置
API_CA_CERT
变量,则扫描将会开始但不会结束。使用入口控制器的 CA 证书,可以让在 CI/CD 中运行的扫描器验证数据接收服务器的真实性。
如果您使用自签名证书,或者想要跳过使用入口控制器的 CA 证书检查数据接收服务器这一步骤,请指定变量的值以跳过检查,如下所示:
SKIP_API_SERVER_VALIDATION: 'true'
- 指定卡巴斯基容器安全的 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 格式下载。
页首
配置与 Jenkins CI/CD 的集成
配置与 Jenkins CI / CD 的集成包括以下步骤:
- 对卡巴斯基容器安全制造商镜像仓库中的 Jenkins CI/CD 授权。为此,在集群操作员的工作站上,运行以下命令以准备授权数据的 Base64 哈希:
printf "login:password" | openssl base64 -A
其中 login 和 password 是卡巴斯基容器安全制造商的镜像仓库中账户的用户名和密码。
- 卡巴斯基容器安全 API 授权。要执行授权,请完成以下步骤:
- 复制“我的个人资料”页面上的 API 令牌。
- 在 Jenkinsfile 配置文件的 API_TOKEN 变量中指定复制的 API 令牌值。
- 使用 Ingress 控制器的 CA 证书对 CI/CD 中的数据接收服务器进行身份验证。要执行身份验证,请在 Jenkinsfile 配置文件中指定以下变量之一:
-e API_CA_CERT=${KCS_CA_CERT}
表示身份验证已执行,并且在 CI/CD 中启动的扫描器可以确保接收服务器是真实的。-e SKIP_API_SERVER_VALIDATION=true
表示不使用 Ingress 控制器的 CA 证书对接收服务器进行身份验证。
- 创建 Jenkins 环境变量。
要创建环境变量,请将以下行添加到 Jenkinsfile:
- 添加扫描器所在容器仓库的信息,如下所示:
LOGIN
:扫描器仓库中的账户名称PASS
:扫描器仓库的密码 - 如果为私有存储库配置扫描,请指定以下授权数据,以确保扫描器能够访问镜像:
COMPANY_EXT_REGISTRY_USERNAME
:扫描镜像仓库的账户名称COMPANY_EXT_REGISTRY_PASSWORD
:扫描镜像仓库的密码
- 添加扫描器所在容器仓库的信息,如下所示:
- 添加信息以启动扫描器。对于有关启动包含漏洞和其他恶意对象数据库的扫描器的信息,请以声明式或脚本式管道的形式将其添加到 Jenkinsfile 配置文件中。
- 生成用于下载的构件。
您可以生成 .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:v1.2.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
”行,如下所示:--json --stdout > result.json'
,并在
archiveArtifacts artifacts
行中,以定义的格式指定文件名:“result.json”。扫描结果能以您指定的格式获取,也可以在“资源 → CI/CD”部分查看。
配置与 TeamCity CI/CD 的集成
要配置与 TeamCity CI/CD 的集成:
- 复制“我的个人资料”页面上的 API 令牌以在 TeamCity 中授权卡巴斯基容器安全 API 。
- 在 TeamCity 网络界面的设置菜单中,选择构建配置主页 → 参数。
- 单击添加新参数以添加以下环境变量的值:
API_TOKEN
– 指定复制的卡巴斯基容器安全 API 令牌的值。API_BASE_URL
– 指定卡巴斯基容器安全的 URL。RUST_BACKTRACE
– 如有必要,请指定full
以使用回溯。SKIP_API_SERVER_VALIDATION
– 如果您使用自签名证书或者需要使用 Ingress 控制器的 CA 证书跳过接收服务器的身份验证,请指定true
。
- 转到构建配置主页→构建步骤:命令行部分,然后单击添加构建步骤以添加构建步骤。
- 在打开的窗口中,指定以下构建步骤设置:
- 在Runner type下拉列表中,选择命令行。
- 在运行下拉列表中,选择自定义脚本。
- 在自定义脚本字段中,指定用于扫描的容器的路径(例如,
/bin/sh /entrypoint.sh nginx:latest
)。
- 在Docker 设置下,指定以下设置:
- 在Docker 容器字段内的运行步骤中,指定扫描器在 Docker 仓库中的地址。例如,
company.gitlab.cloud.net:5050/companydev/example/scanner:v1.2.0-with-db
。 - 在其他 docker run 参数字段中,将权限值增加为
--privileged
。
- 在Docker 容器字段内的运行步骤中,指定扫描器在 Docker 仓库中的地址。例如,
- 单击“保存”以保存设置。
- 单击页面右上角的运行开始构建。
- 如有必要,请下载扫描结果构件,该工件可在 TeamCity Web 界面的构建扫描结果页面的构件选项卡上找到。
定义容器镜像的路径
要开始扫描,解决方案需要确定需要扫描的容器镜像的路径。容器镜像的路径可以通过两种方式指定:
- 在仓库名称、存储库名称和镜像名称后面指定镜像标签。标签是镜像的可更改且易于阅读的描述。
在本例中,路径如下所示:
<仓库>/<存储库>/<镜像名称>:<标签>
。例如,http://docker.io/library/nginx:1.20.1。 - 在仓库名称、存储库和镜像名称后面指定镜像摘要。摘要是镜像的一个不可或缺的内部属性,具体来说,是其内容的哈希(使用 SHA256 哈希算法)。
使用摘要时,路径的构成如下:
<仓库>/<存储库>/<镜像名称><摘要>
。例如,http://docker.io/library/nginx@sha256:af9c...69ce。
一个标签可以匹配不同的摘要,而每个镜像的摘要都是唯一的。
根据用于指定镜像路径的方法,卡巴斯基容器安全在扫描前执行以下操作之一:
- 将标签转换为可信摘要。
- 检查镜像路径中指定的摘要是否可信。对于使用哈希算法编码的对象,如果在维持所需保护时,摘要可确保所需的置信度,则该摘要被视为可信。
只有可信摘要会发送到容器运行时。
在运行容器之前,会将镜像的内容与收到的摘要进行比较。为了确认摘要为可信并且镜像未损坏,卡巴斯基容器安全会检查镜像签名的完整性和真实性。
页首
监控镜像的完整性和来源
扫描 CI/CD 中的镜像时,卡巴斯基容器安全可在仓库级别防止镜像欺骗。从 CI 的构建阶段开始,通过验证镜像签名来控制部署在编排器集群中的容器镜像的完整性和来源。
镜像完整性监控分两个阶段:
- 创建容器镜像后对其进行签名。此过程使用外部签名应用程序实现。
- 部署镜像之前检查镜像签名。
解决方案保存了一个基于 SHA256 哈希函数的签名密钥,并用作签名验证的代码。在编排器中部署时,卡巴斯基容器安全会要求签名服务器确认签名的真实性。
卡巴斯基容器安全按如下方式检查镜像签名:
- 在“管理 → 集成 → 镜像签名验证器”部分中,可以配置将解决方案与外部镜像签名验证应用程序集成的设置。
- 在“策略 → 运行时策略 → 策略”部分中,添加运行时策略来保护镜像的内容。该运行时策略会验证签名的真实性。数字签名根据配置的镜像签名验证器进行验证。
- 编排器启动镜像部署,并使用向代理 (kube-agent) 发出部署请求。
要将请求发送到卡巴斯基容器安全代理,请在 values.yaml 配置文件中配置动态准入控制器。
- 根据适用的运行时策略,代理会检查在“管理 → 集成 → 镜像签名验证器”部分中配置的签名验证设置。
- 如果检查确认签名的真实性和有效性,解决方案将允许镜像部署。否则,部署将被阻止。
在 SBOM 模式下运行扫描器
卡巴斯基容器安全可在
模式下启动扫描器来检查镜像中是否存在漏洞。在这种情况下,解决方案将扫描专门创建的 SBOM 文件而不是 TAR 存档。使用 SBOM 的优势如下:
- 扫描镜像是否存在漏洞所需的资源更少。
- 由于正确操作的自动验证和解决方案组件的正确使用,减少了扫描时间。
- 能够扫描镜像中的所有现有漏洞,无一例外。
- 扫描结果可靠性高。
在 CI/CD 中,扫描过程包括两个阶段:接收 SBOM 文件和根据收到的 SBOM 文件扫描镜像。镜像扫描过程实现如下:
- CI/CD 扫描器生成镜像组件列表,并将生成的构件发送到卡巴斯基容器安全。
- 使用镜像处理程序,解决方案将收到的 SBOM 文件转发到扫描器进行扫描。
对于后续扫描,卡巴斯基容器安全会生成
格式的 SBOM 文件。您还可以生成可在 CI/CD 过程中以 格式下载的构件。要在扫描器执行 SBOM 创建时生成 .SPDX 格式的 SBOM 文件:
在 .gitlab-ci.yml 配置文件中输入以下命令:
- /bin/sh /entrypoint.sh $SCAN_TARGET --sbom-json --spdx --stdout > example.spdx
其中:
<--sbom-json>
指示创建 SBOM 文件。
<--spdx>
指示以 .SPDX 格式生成构件。
<--stdout > example.spdx>
指示数据输出到 .SPDX 格式的文件。
要在扫描器执行 SBOM 创建时生成 .JSON 格式的 SBOM 文件:
在 .gitlab-ci.yml 配置文件中输入以下命令:
- /bin/sh /entrypoint.sh $SCAN_TARGET --sbom-json --stdout > example.json
其中:
<--sbom-json>
指示创建 SBOM 文件。
<--stdout > example.json>
指示数据输出到 .JSON 格式的文件。
生成的文件(例如 example.json)被指定为构件:artifacts: paths:
使用 SBOM 文件进行扫描仅适用于扫描镜像是否存在漏洞的情况。如果您的 CI/CD 过程需要扫描其他风险和威胁(例如错误配置),则除了 SBOM 文件之外,还必须单独运行相应的扫描并将其结果添加到镜像处理程序中。
页首
获取 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:
在精简版 SBOM 模式下运行扫描器
卡巴斯基容器安全可在精简版 SBOM 模式下启动扫描器来检查镜像中是否存在漏洞。在这种情况下,解决方案会扫描专门创建的 SBOM 文件,并且该扫描结果在 CI/CD 阶段可用。
通过监听和拦截网络流量获得的数据必须在 CI/CD 环境和解决方案之间安全传输。
您可以生成 .SPDX、.HTML 或 .JSON 格式的下载构件来接收结果。
在 GitLab 中运行扫描器
要在 GitLab 中精简版 SBOM 模式下启动扫描器,需在 CI/CD 进程中配置镜像扫描时编辑 .gitlab-ci.yml 配置文件,如下所示:
- 添加在 CI/CD 中启动用于镜像扫描的扫描器的镜像相关信息,如下所示:
scan_image:
stage: scanner
image:
name:repo.cloud.example.com/repository/company/scanner:v.1.2-lite
entrypoint: [""]
pull_policy: always
- 指定编排平台标签,如下所示:
k8s
在提供的示例中,为 Kubernetes 指定了
k8s
标签,您也可以为其他受支持的编排平台指定标签。 - 指定用于对卡巴斯基容器安全的 CI/CD 扫描器请求进行授权的变量,如构建 ID、私有存储库详情、管道 ID 以及 API 令牌,如下所示:
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_TOKEN:
<API 令牌值>
- 如需要,请指定一个变量,以使用入口控制器的 CA 证书检查 CI/CD 中的数据接收服务器:
API_CA_CERT: ${KCS_CA_CERT}
如果未设置
API_CA_CERT
变量,则扫描将会开始但不会结束。 - 指定卡巴斯基容器安全的 API 主机服务器的网址:
API_BASE_URL:
<网址>
- 指定扫描仪启动时创建 SBOM 文件的命令,支持以下格式之一:
- 要生成 .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 格式的构件:
script:
- /bin/sh /entrypoint.sh $SCAN_TARGET --spdx --stdout > artifact-result.spdx
artifacts:
paths:
- artifact-result.spdx
- 要生成 .JSON 格式的构件:
有关将扫描器配置为在 GitLab 中精简版 SBOM 模式下运行并以 .HTML 格式生成构件的示例
在 Docker 中运行扫描器
要在 Docker 中以精简版 SBOM 模式启动扫描器:
- 指定卡巴斯基容器安全的 API 主机服务器的网址:
-e API_BASE_URL=https://company.local
- 指定变量的值以跳过使用 Ingress 控制器的 CA 证书检查数据接收服务器:
-e SKIP_API_SERVER_VALIDATION=true
- 指定用于对卡巴斯基容器安全的 CI/CD 扫描器请求进行授权的 API 令牌,如下所示:
-e API_TOKEN=
<API 令牌值>
- 指定要启动扫描器的数据:
repo.kcs.company.com/images/scanner:
v1.2-lite
- 如果您需要生成 .SPDX、.HTML 或 .JSON 格式的下载工件,请指定以下内容:
-
<工件格式>
--stdout> result.<文件格式>
例如:
--html --stdout > result.html
- 按Enter键启动扫描器。
如果在调用扫描仪时出现域名解析错误(
Name does not resolve
(名称无法解析)),则必须在组织的内部 DNS 服务器之前指定API_BASE_URL
变量之前的地址。例如:--dns 10.0.xx.x
API_BASE_URL: https://company.local/
有关将扫描器配置为在 Docker 中精简版 SBOM 模式下运行并以 .JSON 格式生成构件的示例
扫描结果能以您指定的格式获取,也可以在"资源 → CI/CD“部分查看。
页首
风险处理
卡巴斯基容器安全识别的威胁(漏洞、恶意软件、敏感数据和错误配置)受风险接受程序的约束。如果您接受某个威胁的风险,在指定的接受期限内确定镜像安全状态(符合/不符合安全策略)时,保障策略将不会考虑该威胁。镜像扫描会继续检测威胁,但不会将该镜像标记为不合规。
如果您接受在镜像中检测到的漏洞的风险,则对于特定镜像仓库也接受此风险。如果接受镜像中所有漏洞的风险,则该镜像将被视为符合安全策略要求并获得“合规”状态。
如果更改应用于镜像的保障策略设置,镜像安全状态也会随之更改。
默认情况下,接受威胁风险的期限为 30 天。您可以延长将风险视为接受的期限。您也可以随时取消风险接受。如果取消风险接受,关联的威胁将再次影响镜像的安全状态。
您可以在“策略 → 风险接受”部分中查看所有已接受风险的列表。
风险接受
您可以接受该解决方案发现的风险,但需考虑以下几点:
- 如果存在漏洞、配置错误和敏感数据,您可以接受所有严重程度的风险。
- 如果出现恶意软件,您只能接受中等、低和可忽略严重程度级别的风险。
您不能接受严重程度为高和严重的风险。
要接受风险:
- 在镜像扫描结果窗口中,打开包含所需的检测到的威胁类型的信息的选项卡。
- 在表格中选择一个威胁,然后单击操作菜单中的“接受”或“接受风险”(取决于所选选项卡)开始接受风险。
- 在打开的窗口中,指定风险接受参数:
- 选择风险接受程度:
- 对于选定的检测到风险的镜像;
- 对于包含已检测安全威胁的镜像的存储库中的所有镜像;
- 对于已经或将要检测到此安全威胁的所有镜像。
- 如需要,请指定考虑此安全威胁的期限,且在此之后需在确定镜像安全状态时再次考虑该安全风险。
- 指定接受风险的原因。
- 选择风险接受程度:
- 单击“接受”按钮。
选定的威胁在定义的天数(或无限期)内不会影响该特定镜像、存储库中的镜像或所有镜像的安全状态。
可以在“策略 → 风险接受”部分查看已接受的风险。
页首
查看有关接受的风险的信息
所有接受的风险的列表显示在“策略 → 风险接受”部分中。
您可以使用该列表执行以下操作:
- 按风险名称、存储库名称、镜像或检测到风险的资源进行搜索。
- 按风险类型和制造商修复可用性对列表进行筛选。
- 单击表格上方的“创建报告”按钮来生成风险接受报告。
- 按接受日期、风险名称、范围(适用于所有镜像或仅一个镜像)和接受期限对列表进行排序。使用 (
) 排序图标进行排序。
- 查看有关风险接受和相关威胁的详细信息。单击风险名称链接可打开包含相关详细信息的窗口。
使用详细信息窗口中的按钮可执行以下操作:
- 请指定或延长考虑此安全威胁的期限,且在此之后需在确定镜像安全状态时再次考虑该安全风险。
- 取消风险接受。
您还可以在镜像扫描结果中的检测到的威胁列表中查看有关接受的风险的信息。在已接受风险的威胁行中,您可以找到接受风险的时间。您还可以单击链接打开一个窗口,其中包含有关风险接受和相关威胁的详细信息。
页首
取消风险接受
要取消风险接受:
- 打开显示有关风险接受和相关威胁的详细信息的窗口。您可以单击已接受风险列表中的风险名称链接来打开该窗口。或者,在镜像扫描结果中检测到的安全风险列表中,您可以单击已接受风险的安全风险行中的链接。
- 单击“取消风险接受”按钮并在打开的窗口中确认操作。
取消风险接受意味着相关威胁将再次影响接受了风险的镜像的安全状态。
页首
合规性检查
卡巴斯基容器安全代理可以检查 Kubernetes 集群节点是否符合 Kubernetes 信息安全基准。
卡巴斯基容器安全将检查 Kubernetes 1.15-1.25 版本是否符合 Kubernetes 标准。
代理会检查安装它的节点的状态并将结果发送到服务器。检查结果显示在“合规性”部分中。
您可以在“合规性 → Kubernetes 基准”部分中查看关于集群节点是否符合 Kubernetes 基准的检查结果。节点扫描结果将显示在表格中。默认情况下,卡巴斯基容器安全会显示所有集群中所有节点的上次扫描结果的列表。列表中的节点未进行分组,但您可以使用过滤器来根据集群名称构建对象列表。
在扫描结果表上方的“控制状态”部分中,将显示在扫描期间每个状态被分配的控制项数量。卡巴斯基容器安全会为以下扫描状态显示此信息:
- 通过 – 检查成功完成。
- 警告 – 检查表明在执行操作或任务期间可能会出现问题。
- 失败 – 检查显示不符合基准。
您可以选择扫描后要显示哪些状态的节点。为此,在“控制状态”部分中,选择您想要隐藏的状态的按钮。此后,扫描结果表将仅显示在扫描时其基准符合此状态的节点(而不显示其他节点)。
在卡巴斯基容器安全中,您可以根据是否符合 Kubernetes 基准的检查结果生成报告。根据所需的详细程度,您可以生成 Kubernetes 基准总结或详细报告。生成的报告列表显示在“管理 → 报告”下。
单击节点名称链接可打开包含有关节点检查结果的详细信息的页面。
该解决方案在窗口顶部显示摘要信息。在表格中,每个基准都与节点合规状态相关。
您可以单击“重新扫描”按钮来根据标准基准检查节点。
页首
配置和生成报告
卡巴斯基容器安全提供了根据仓库、集群和镜像的扫描结果生成报告的功能。生成的报告列表显示在“管理 → 报告”下。
解决方案生成的报告显示以下信息:
- 与卡巴斯基容器安全运行逻辑相关的事件,例如扫描镜像或分析节点的结果。
- 统计数据,例如镜像列表及其已识别的安全问题。
卡巴斯基容器安全提供以下报告模板:
根据应用的报告模板,将在解决方案的不同部分创建和生成报告。
报告生成过程可能需要几分钟时间。
生成的报告列表显示在“管理 → 报告”下。可以下载 HTML、PDF 或 CSV 格式的报告。
在卡巴斯基容器安全中,报告仅以英语生成。
镜像报告
在卡巴斯基容器安全中,可以生成有关镜像扫描结果的报告。根据所需的信息详细程度,镜像报告可以是摘要报告或详细报告。
镜像摘要报告。
摘要报告提供有关所选镜像的综合信息。此报告提供镜像的名称以及包含这些镜像的集群的名称。摘要报告包含有关镜像是否符合安全策略要求的数据、调用了镜像扫描的策略的名称以及扫描状态。对于每个镜像,该报告都包含已识别的与漏洞、恶意软件、敏感信息和错误配置相关的风险数量的数据。
镜像详细报告
详细报告提供有关所选镜像、完成的扫描和识别的安全问题的更详细信息。每个报告都包括上次扫描的日期和时间、包含所选镜像的集群、风险评估以及是否符合安全策略要求的评估。卡巴斯基容器安全根据已识别的漏洞、恶意软件、敏感数据和错误配置显示不同严重级别的对象数量。
在包含应用的镜像安全策略说明的块中,应用程序提供了镜像安全策略列表,并指示此扫描阶段成功完成还是出现错误。该报告还详细说明了卡巴斯基容器安全根据特定策略所执行的操作。在这种情况下,报告可能会显示 CI/CD 阶段被阻止、镜像被标记为不符合安全要求,或者同时执行了这两个操作。
“漏洞”部分提供已识别漏洞的列表、漏洞严重级别、在其中检测到漏洞的资源以及修复了漏洞的镜像版本。
“恶意软件”和“敏感数据”部分显示了检测到的恶意对象和包含敏感数据的对象的列表。对于每个对象,都会指示严重级别和路径。
“错误配置”块提供一个列表,指示在其中识别出错误配置的文件的名称、错误配置的严重级别以及文件类型(例如 Docker 文件)。它还详细说明检测到的问题并提供解决问题的建议。
卡巴斯基容器安全从内部数据库接收错误配置相关问题的描述,以进行配置文件分析。其中包含扫描以下来源配置文件的模块:Kubernetes、Dockerfile、Containerfile、Terraform、Cloudformation、Azure ARM Template 和 Helm Chart。错误配置的描述和修复建议与指定的扫描模块使用相同的语言。例如,Kubernetes 中的错误配置描述以英语提供。
该数据库会在应用程序的新版本发布时更新。
风险接受报告
风险接受报告包含有关接受的风险的数据,包括接受风险的日期和时间。您可以根据筛选器生成所有已接受风险或一组已接受风险的报告。
对于每个选定的已接受风险,其名称按以下格式指定:
- 风险类型(漏洞、恶意软件、敏感数据或错误配置)。
- 风险名称或 ID。
- 风险严重程度。
卡巴斯基容器安全提供镜像名称、检测到特定风险的资源和存储库的名称以及修复了风险的镜像版本。报告表格还将显示有关风险接受的以下信息:
- 风险接受范围。
- 确定镜像安全状态时,在应再次考虑风险前经过的时间段。
- 接受了风险的用户。
Kubernetes 基准报告
在卡巴斯基容器安全中,您可以根据检查对象是否符合 Kubernetes 基准的结果来生成报告。
默认情况下,会为所有状态的节点生成报告 - “通过”、“警告”和“失败”。如果需要为具有特定扫描状态的节点生成报告,请在表格上方的“控制状态”部分中单击相应的状态按钮。卡巴斯基容器安全将更新合规性检查结果的显示,并为具有相关状态的节点生成报告。
根据信息详细程度,报告可以是总结报告或详细报告。
Kubernetes 基准检查总结报告
总结报告提供有关所选集群的综合信息。它列出了具有指定合规性检查状态的节点的名称,以及每个节点上次接受检查的日期和时间。所有节点的报告将显示在对象扫描期间检测到的具有选定状态的 Kubernetes 基准的数量的相关信息。
Kubernetes 基准检查详细报告
详细报告提供有关所选集群的节点或集群的特定节点的更多详细信息。具体取决于您在生成报告时所选择的解决方案子部分:
- 从包含集群列表的表格中创建有关所选集群中节点的详细报告。
- 页面上会生成有关节点的报告,其中包含该节点的详细描述。
对于选择用于生成报告的集群中的每个节点,还列出了最后一次执行扫描的日期和时间、被分配了扫描状态的 Kubernetes 基准的数量,以及在生成报告之前分配了所选状态的基准。
Kubernetes 基准为解决方案和应用程序的安全配置提供了配置基线和建议,以增强网络威胁防护。强化是指通过消除潜在风险来帮助防范未经授权的访问、拒绝服务以及其他安全事件的过程。
页首
生成报告
在卡巴斯基容器安全中,根据您使用的特定报告模板,报告在应用程序的不同部分中生成。
报告生成过程可能需要几分钟时间。
您可以在“管理 → 报告”下查看生成的报告列表。在该部分中,生成的报告能以 .HTML、.PDF 或 .CSV 格式下载。
页首
生成镜像报告
要生成镜像摘要报告:
- 转到以下部分之一:
- “资源 → 资产 → 仓库”,生成与解决方案集成的仓库中的镜像的报告。
- “资源 → CI/CD”,生成在 CI/CD 中扫描的镜像的报告。
在“资源 → CI/CD”下,仅针对镜像构件类型 (
container_image
或image
) 的对象生成报告。在此部分中,无法为其他类型的构件生成报告。
- 根据您选择的部分,执行以下操作之一:
- 在“资源 → 资产 → 仓库”部分中,选择要为其生成报告的存储库或者一个或多个镜像。
您可以选中表格标题中的复选框来选择所有存储库和镜像。
- 在“资源 → CI/CD”部分中,选择要为其生成报告的一个或多个镜像。
您可以选中表格标题中的复选框来指定所有存储库中的所有镜像。
- 在“资源 → 资产 → 仓库”部分中,选择要为其生成报告的存储库或者一个或多个镜像。
- 单击表格上方的“创建报告”按钮,然后在下拉列表中选择“镜像摘要报告”。
- 在打开的窗口中,确认报告生成。
要生成镜像详细报告:
- 转到以下部分之一:
- “资源 → 资产 → 仓库”,生成与解决方案集成的仓库中的镜像的报告。
- “资源 → CI/CD”,生成在 CI/CD 中扫描的镜像的报告。
在“资源 → CI/CD”下,仅针对镜像构件类型 (
container_image
或image
) 的对象生成报告。在此部分中,无法为其他类型的构件生成报告。 - “组件 → 扫描器 → 扫描器任务”,根据作为扫描任务一部分扫描的镜像生成报告。
- 根据您选择的部分,执行以下操作之一:
- 在“资源 → 资产 → 仓库”下,执行以下步骤:
- 选择要为其生成报告的存储库或者一个或多个镜像。
- 单击表格上方的“创建报告”按钮,然后在下拉列表中选择“镜像详细报告”。
- 在“资源 → CI/CD”下,完成以下步骤:
- 选择要为其生成报告的存储库或者一个或多个镜像。
- 单击表格上方的“创建报告”按钮,然后在下拉列表中选择“镜像详细报告”。
- 在“组件 → 扫描器 → 扫描器作业”下,完成以下指定步骤:
- 在扫描器任务列表中,选择要为其生成报告的扫描对象。您只能从包含镜像扫描结果详细说明的页面中选择一个镜像。
- 在包含对象扫描结果的窗口中,单击有关对象是否符合安全策略要求的描述右侧的“创建报告”按钮。
只有扫描器作业的状态为“已完成”,才会打开含有“创建报告”按钮的扫描结果窗口。
- 在“资源 → 资产 → 仓库”下,执行以下步骤:
- 在打开的窗口中,确认报告生成。
生成风险接受报告
要生成风险接受报告:
- 转至“策略 → 风险接受”部分。
默认情况下,会为表格中显示的所有已接受风险生成报告。如有必要,可以为特定对象生成报告。要指定要为其生成报告的对象,请执行以下一项或多项操作:
- 在“搜索”字段中,输入风险名称、存储库名称或镜像名称。
- 使用表格上方的“风险类型”下拉列表按风险类型选择对象。
- 使用表格上方的“供应商修复”下拉列表按风险类型选择对象。
- 单击表格上方的“创建报告”按钮。
卡巴斯基容器安全将开始生成报告,并提示您点击链接进入包含生成的报告列表的页面。
生成 Kubernetes 基准报告
要生成 Kubernetes 基准检查总结报告:
- 转到“合规性 → Kubernetes 基准”。
- 在“集群”字段中,选择一个或多个要生成报告的集群。
您可以从“集群”下拉列表中选择“全部”,以生成有关所有集群的报告。
- 在表格上方的控制状态下,选择您想要生成报告的检查状态:通过、警告或失败。
默认选择所有状态。
- 单击表格上方的“创建报告”按钮,然后在下拉列表中选择“总结报告”。
- 在打开的窗口中,确认报告生成。您可以在管理→报告部分下载 .HTML、.PDF 和 .CSV 格式的生成报告。
要生成 Kubernetes 基准检查总结报告:
- 转到“合规性 → Kubernetes 基准”。
- 在表格上方的控制状态下,选择您想要生成报告的检查状态:通过、警告或失败。
默认选择所有状态。
- 执行以下操作之一:
- 在“集群”字段中,选择要为其生成报告的集群,然后完成以下步骤:
- 单击表格上方的“创建报告”按钮。
- 从下拉列表中选择“详细报告”。
- 在检查结果表中,单击集群名称并完成以下步骤:
- 单击选定集群中某个节点的名称。
卡巴斯基容器安全将显示扫描期间为此节点获取的有关 Kubernetes 基准的可用数据。
- 单击表格上方的“创建报告”按钮。
- 单击选定集群中某个节点的名称。
- 在“集群”字段中,选择要为其生成报告的集群,然后完成以下步骤:
- 在打开的窗口中,确认报告生成。您可以在管理→报告部分下载 .HTML、.PDF 和 .CSV 格式的生成报告。
仅为一个集群生成 Kubernetes 基准检查详细报告。然而,其中包含有关该集群中所有节点的信息。
若要获取多个集群的详细报告,您必须为每个集群单独生成一份报告。
下载和删除报告
卡巴斯基容器安全在“管理 → 报告”部分的表格中显示生成的报告列表。
对于每个生成的报告,表格都提供应用程序分配给报告的名称、报告模板、报告的创建日期和时间以及报告生成状态。该表格还允许您以所需的格式下载成功生成的报告,或删除报告。
要下载报告:
在包含报告的行中,单击相关格式的按钮:PDF、HTML 或 CSV。
要删除报告:
- 在包含要删除的报告名称的行中,单击删除图标 (
)。
- 在打开的窗口中,确认操作。
安全策略配置
卡巴斯基容器安全组件使用以下安全策略:
- 扫描器策略确定扫描不同类型资源的设置。扫描策略使用规则来检测敏感数据以及漏洞、恶意软件和错误配置。
- 保障策略定义卡巴斯基容器安全操作,以便在镜像扫描期间检测到的漏洞、恶意软件、敏感数据和错误配置符合策略中指定的标准时提供安全保障。
- 响应策略定义在策略中指定的事件发生时解决方案的操作。例如,卡巴斯基容器安全可以向用户通知事件。
- 运行时策略允许您根据公司安全要求控制和在适当的情况下限制集群上容器的部署和操作。
卡巴斯基容器安全在运行期间仅应用已启用的策略。检查期间不能使用已禁用的策略。
扫描器策略
扫描器策略确定扫描不同类型资源的设置。
安装卡巴斯基容器安全时,会创建默认的扫描器策略;它可以应用于所有资源并在所有环境中执行。它称为全局扫描策略(默认)。默认情况下,将为该策略分配全局范围。
如果您的角色已被分配管理扫描器策略和查看全局范围的权限,则您可以启用、禁用或配置全局扫描器策略设置。
不能对全局扫描器策略执行以下操作:
- 更改已分配的全局范围。
- 删除全局扫描器策略。
已配置的扫描器策略列表在“策略 → 扫描器策略”部分中显示为表格。
您可以使用该列表执行以下操作:
- 添加新策略。单击表格上方的“添加策略”按钮以打开策略设置窗口。
- 使用表格的“状态”列中的“已禁用”/“已启用”切换按钮来启用或禁用策略。
- 更改策略设置。您可以单击策略名称链接来打开编辑窗口。
您还可以在编辑窗口中启用和禁用策略。卡巴斯基容器安全在运行时不使用已禁用的策略。
- 配置检测敏感数据的规则。要执行此操作,请转至“敏感数据”选项卡。
- 删除策略。
创建扫描器策略
在卡巴斯基容器安全中添加扫描器策略需要管理扫描器策略设置的权限。
要添加扫描器策略:
- 在“策略 → 扫描器策略”部分中,单击“添加策略”按钮。
将打开策略设置窗口。
- 如有必要,使用“已禁用”/“已启用”切换开关禁用已添加的策略。在这种情况下,策略将被添加但不会应用,直到其被激活。
默认情况下,新添加的扫描器策略的状态为“已启用”。
- 输入策略名称,如果需要,还可以输入策略说明。
- 在“范围”字段中,从可用选项中选择扫描器策略的范围。
如果您计划实施被分配了全局范围的策略,则必须向您的某个用户角色授予查看全局范围的权限。
- 在“漏洞”部分中,配置以下设置:
- 使用“已禁用”/“已启用”切换开关配置使用国家漏洞仓库 (NVD) 数据库进行的扫描。
- 使用“已禁用”/“已启用”切换开关配置使用漏洞数据库 (VDB) 进行的扫描。
- 在“恶意软件”部分中,使用“已禁用”/“已启用”切换开关将扫描镜像中的恶意软件配置为文件威胁防护组件的一部分。
- 在“错误配置”部分中,使用“已启用”/“已禁用”切换开关配置对配置错误的检查。
- 单击“保存”。
编辑扫描器策略设置
如果您的账户已被分配至少一个角色,且该角色是策略创建者在创建策略时所具有的,则您可以在卡巴斯基容器安全中编辑扫描器策略设置。
要更改扫描器策略设置:
- 在“策略 → 扫描器策略”部分中,单击策略名称链接。
将打开策略设置编辑窗口。
- 如果需要,使用“已禁用”/“已启用”切换开关更改策略状态(已启用/已禁用)。
- 对策略设置进行更改。以下设置可供编辑:
- 策略的名称、描述和范围。
- 漏洞控制设置。选中检查镜像所依据的漏洞数据库的复选框。
- 恶意软件控制设置。如果您需要扫描镜像中是否存在恶意软件和其他文件威胁,请选中该复选框。该控制通过文件威胁防护组件执行。
- 错误配置控制设置。如果您需要检查镜像是否存在错误配置,请选中该复选框。该控制使用卡巴斯基容器安全制造商配置的默认设置执行。
- 单击“保存”。
配置敏感数据检测规则
为在镜像扫描过程中检测敏感数据(以下简称“秘密”)配置的规则列表显示在“策略 → 扫描器策略 → 敏感数据”部分中。
根据需检测机密的目的和范围,这些规则被分为多个类别。类别列表由卡巴斯基容器安全制造商确定。类别包含预定义的规则。
您可以使用该列表执行以下操作:
- 查看和更改秘密检测规则的设置。您可以单击规则 ID 链接来打开编辑窗口。
- 将新规则添加到所选类别。单击表格上方的“添加规则”按钮以打开集成设置窗口。要添加不属于任何预设类别的规则,请使用“其他”类别。
- 删除规则。选中列表中一个或多个规则旁边的框。然后将显示删除图标。
要更改敏感数据检测规则的设置:
- 在表格中的“策略 → 扫描器策略 →策略”部分中,选择扫描器策略。
- 在“敏感数据”部分中,通过选中规则行中的复选框来选择必要规则。
- 使用包含策略规则列表的表格的“状态”列中的“禁用”/“启用”开关来启用或禁用此策略组件。
不要单击“保存”按钮。
卡巴斯基容器安全会立即将更改应用于敏感数据设置并显示相应的通知。您还可以刷新页面来查看设置更改。
保障策略
保障策略定义卡巴斯基容器安全操作,以便在镜像扫描期间检测到的威胁符合策略中指定的标准时提供安全保障。
已配置的保障策略以表格形式显示在“策略 → 保障策略”部分中。
您可以使用该列表执行以下操作:
- 添加新策略。单击表格上方的“添加策略”按钮以打开策略设置窗口。
- 更改策略设置。您可以单击策略名称链接来打开编辑窗口。
- 启用和禁用策略。使用包含已创建策略列表的表格的“状态”列中的“禁用/启用”切换按钮来禁用和启用策略。
- 删除策略。
如果添加保障策略、修改其设置或删除策略,该策略应用于的镜像的合规状态将受到审核(合规/不合规)。
创建保障策略
在卡巴斯基容器安全中添加安全策略需要管理安全策略设置的权限。
要添加保障策略:
- 在“策略 → 保障策略”部分中,单击“添加策略”按钮。
将打开策略设置窗口。
- 输入策略名称,如果需要,还可以输入策略说明。
- 在“范围”字段中,从可用选项中选择镜像安全策略的范围。
如果您计划实施被分配了全局范围的策略,则必须向您的某个用户角色授予查看全局范围的权限。
- 指定卡巴斯基容器安全根据策略应执行的操作:
- CI/CD 步骤失败 – 如果卡巴斯基容器安全扫描器在扫描 CI/CD 管道中的镜像时检测到与策略中指定的严重级别匹配的威胁,扫描将以出错结束(失败)。此结果会传输到 CI 系统。
- 将镜像标记为不合规 – 卡巴斯基容器安全会对在其中检测到符合策略中指定标准的威胁的镜像进行标记。
- 在“漏洞级别”部分中,配置以下设置:
- 使用“已禁用”/“已启用”切换开关根据漏洞严重级别配置扫描。
- 根据漏洞数据库设置指定的严重性级别。您可以从“严重级别”下拉列表中选择或指定从 0 到 10 的严重程度分数。
- 使用“已禁用”/“已启用”切换开关配置当发现特定漏洞时进行阻止,并在“漏洞”字段中指定这些漏洞。
- 在“恶意软件”部分中,使用“已启用”/“已禁用”切换开关配置扫描镜像中的恶意软件。
- 在“错误配置”部分中,配置以下设置:
- 使用“已启用”/“已禁用”切换开关根据错误配置严重级别配置扫描。
- 从“严重级别”下拉列表中选择错误配置严重级别。
严重级别根据漏洞数据库进行分配。
- 在“敏感数据”部分中,配置以下设置:
- 使用“已启用”/“已禁用”切换开关根据敏感数据严重级别配置扫描。
- 从“严重级别”下拉列表中选择敏感数据严重级别。
严重级别根据漏洞数据库进行分配。
- 单击“保存”。
默认情况下,添加的策略已启用。
页首
编辑保障策略设置
如果您的账户已被分配策略创建者在创建策略时所具有的至少一个角色,则您可以在卡巴斯基容器安全中编辑镜像安全策略设置。
要更改保障策略设置:
- 在“策略 → 保障策略”部分中,单击现有保障策略列表中的策略名称。
将打开策略设置窗口。
- 对相关策略设置进行更改:
- 策略的名称、描述和范围。
- 解决方案按照此策略执行的操作。
- 所需扫描。
- 扫描期间检测到的漏洞的严重级别。
- 识别的漏洞数量,用于阻止目的。
- 单击“保存”。
响应策略
响应策略定义了策略中所指定事件发生时解决方案的操作。例如, 卡巴斯基容器安全可以向用户通知检测到的威胁。
如果要配置响应策略以通知用户,应该先设置与通知输出的集成。
已配置的响应策略以表格形式显示在“策略 → 响应策略”部分中。
您可以使用该列表执行以下操作:
- 添加新策略。单击表格上方的“添加策略”按钮以打开策略设置窗口。
- 更改策略设置。您可以单击策略名称链接来打开编辑窗口。
- 启用和禁用策略。使用包含已创建策略列表的表格的“状态”列中的“禁用/启用”切换按钮来禁用和启用策略。
如果禁用策略, 卡巴斯基容器安全将不会执行该策略中指定的操作。
- 搜索策略。要查找策略,请使用响应策略列表上方的搜索字段指定策略名称或策略名称的一部分。
- 删除策略。
在此版本的解决方案中,响应策略仅定义当策略中详述的特定事件发生时,卡巴斯基容器安全为通知用户而采取的操作。例如,如果检测到具有严重漏洞的对象,解决方案可以向用户发送电子邮件通知。
创建响应策略
在卡巴斯基容器安全中添加响应策略需要管理响应策略设置的权限。
要添加响应策略:
- 在“策略 → 响应策略”部分中,单击“添加策略”按钮。
将打开策略设置窗口。
- 输入策略名称,如果需要,还可以输入策略说明。
- 在“范围”字段中,从可用选项中选择响应策略的范围。
如果您计划实施被分配了全局范围的策略,则必须向您的某个用户角色授予查看全局范围的权限。
- 在“触发”字段中,使用下拉列表选择一个事件,如果在扫描期间发生该事件,将触发卡巴斯基容器安全通知用户。可选择以下事件之一作为触发事件:
- 敏感数据。如果解决方案在扫描期间检测到对象中存在敏感数据泄露的迹象,则会发送通知。
- 不合规。如果扫描的对象包含不符合安全策略要求的镜像,卡巴斯基容器安全会通知您。
- 严重漏洞。如果扫描的对象包含状态为“严重”的漏洞,则会发送通知。
- 恶意软件。如果扫描发现恶意软件,则会发送通知。
- 风险接受过期。如果扫描的对象包含您之前已接受的风险,但风险接受已过期,卡巴斯基容器安全会通知您。
- 配置所需的通知方法:
- 选择“输出”:电子邮件或 Telegram。
- 从“集成名称”字段的下拉列表中,选择预先配置的与所选通知输出的集成的名称。
- 要添加其他通知方法,请单击“添加”按钮,并填写上面 a 段和 b 段中所述的字段。
- 如果需要,可以通过单击“集成名称”字段右侧的图标来删除已添加的通知方法。
- 单击“保存”。
默认情况下,添加的策略已启用。
页首
编辑响应策略设置
如果您的账户已被分配至少一个角色,且该角色是策略创建者在创建策略时所具有的,则您可以在卡巴斯基容器安全中编辑响应策略设置。
要更改响应策略设置:
- 在“策略 → 响应策略”部分中,单击现有响应策略列表中的策略名称。
将打开策略设置窗口。
- 如有必要,对相关策略设置进行更改:
- 更改策略名称。
- 添加或编辑策略描述。
- 添加或编辑策略范围。
- 从下拉列表中选择触发事件来更改触发事件。
- 单击“添加”按钮添加输出。
- 单击所选输出行旁边的删除图标 (
) 删除输出。
- 单击“保存”。
运行时策略
运行时策略决定了解决方案根据安全策略监视和控制容器运行时操作时所采取的操作。卡巴斯基容器安全根据在镜像中检测到的安全威胁、这些威胁的严重级别以及
的可用性来维护控制。运行时中的容器可以从经过验证的镜像或解决方案仍然未知的镜像运行。
在“策略”选项卡的“策略→运行时策略”下,一个表列出了已配置的运行时策略。
您可以使用该列表执行以下操作:
- 添加新策略。单击表格上方的“添加策略”按钮以打开策略设置窗口。
- 更改策略设置。您可以单击策略名称链接来打开编辑窗口。
- 启用和禁用策略。使用包含已创建策略列表的表格的“状态”列中的“禁用/启用”切换按钮来禁用和启用策略。
如果禁用策略, 卡巴斯基容器安全将不会执行该策略中指定的操作。
- 搜索策略。要查找策略,请使用响应策略列表上方的搜索字段指定策略名称或策略名称的一部分。
- 删除策略。
为了以最佳方式工作,运行时策略必须辅以运行时容器配置文件,这些配置文件定义了在运行时环境中运行容器的规则和限制。
创建运行时策略
在卡巴斯基容器安全中添加运行时策略需要管理运行时策略设置的权限。
要添加运行时策略:
- 在“策略 → 运行时策略”下,选择“策略”选项卡。
- 单击“添加策略”按钮。
将打开策略设置窗口。
- 输入策略名称,如果需要,还可以输入策略说明。
- 在“范围”字段中,从可用选项中选择运行时策略的范围。由于运行时策略仅用于已部署和/或正在运行的容器,因此可以选择包含跨集群的资源的范围。
仅包含仓库资源的范围不可供选择。如有必要,您可以为在容器运行时配置文件部分中创建的运行时策略指定单独的镜像和 Pod,如步骤 11 中所述。
如果您计划实施被分配了全局范围的策略,则必须向您的某个用户角色授予查看全局范围的权限。
- 如有必要,选中“排除”复选框以定义不应用运行时策略的排除项。要执行此操作,请在下拉列表中选择相关对象,指定其名称,然后单击“添加”。
部署容器时会检查策略中的现有排除项。
- 在“模式”部分中,选择以下策略执行模式之一:
- 审计。在此模式下,扫描会考虑容器的内容。
- 强制。在此模式下,解决方案会阻止所有不符合策略中定义的规则和标准的对象。
- 在“最佳实践检查”部分中,使用“已禁用”/“已启用”切换开关激活扫描以检查是否符合最佳安全实践。从设置列表中,选择确保运行正确的镜像并正确配置 CPU 和 RAM 使用设置的扫描设置。
- 在“阻止不合规镜像”部分中,使用“已禁用”/“已启用”切换开关防止容器从不符合要求的镜像运行。仅对已在解决方案中注册且状态为“合规”的已扫描镜像执行此检查。
- 在“阻止未注册的镜像”部分中,如果镜像对于卡巴斯基容器安全是未知的,则使用“已禁用”/“已启用”切换开关阻止镜像部署。要部署镜像,您必须在解决方案中注册该镜像并等待它出现在仓库中。
- 在“功能阻止”部分中,使用“已禁用”/“已启用”切换开关来阻止使用指定的 Unix 功能。为此,请从下拉列表中选择特定的系统功能。您还可以从下拉列表中选择“所有”来锁定所有 Unix 系统功能的使用。
- 在“容器运行时配置文件”部分中,使用“已禁用”/“已启用”切换开关来阻止容器内的进程和 Pod 的网络连接。为此,请执行以下操作:
- 在下拉列表中,选择一个属性,以定义将应用于容器运行时配置文件的 Pod。
- 根据所选属性,执行以下操作:
- 如果您选择了“按 Pod 标签”,请输入 Pod 标签的键和值。
您可以单击“添加标签对”按钮来为 Pod 选择项添加其他 Pod 标签。
- 如果您选择了“镜像 URL 模板”,请输入镜像仓库网址模板。
如果集群包含来自公共 Docker Hub 仓库的镜像,则该解决方案会将镜像的完整路径和短路径视为同样的路径。例如,如果您将集群中容器镜像的 URL 指定为 docker.io/library/ubuntu:focal,则解决方案会将其视为 ubuntu:focal。
您可以单击“添加镜像 URL”按钮来添加 Pod 选择项的其他网址。
- 如果您选择了“按 Pod 标签”,请输入 Pod 标签的键和值。
- 在“容器运行时配置文件”字段中,指定一个或多个运行时配置文件,这些配置文件将应用于与您定义的属性相匹配的 Pod。
- 如有必要,您可以使用“添加 Pod 映射”按钮为映射添加 Pod。具有不同属性的 Pod 或应用的运行时配置文件 将映射到相同的运行时策略下。
- 在“文件威胁防护”下,使用“禁用/启用”切换按钮来激活“文件威胁防护”。它用于查找和分析潜在的文件威胁,并为容器化对象(如压缩包和电子邮件文件)提供安全保障。
应用了启用文件威胁防护组件功能的运行时策略后,卡巴斯基容器安全将为该策略所定义范围内的所有节点激活实时文件威胁防护。部署代理的配置取决于您为文件威胁防护指定的设置。在“策略 → 运行时策略”下,单击“策略”选项卡中的“设置”来配置文件威胁防护设置。
文件威胁防护设置将应用于所有当前生效的运行时策略。
- 在“镜像内容保护”部分中,使用“已禁用”/“已启用”切换开关启用数字签名验证,以确认容器中镜像的完整性和来源。为此,请执行以下操作:
- 在“镜像仓库 URL 模板”字段中,输入要在其中验证签名的镜像仓库的网址模板。
- 在下拉列表中,选择“检查”启用验证,或选择“不检查”禁用验证。
- 在下拉列表中,选择已配置的镜像签名验证器之一。
- 如有必要,使用“添加签名验证规则”按钮添加签名验证规则。解决方案将在单个运行时策略下应用多个签名验证规则。
- 在“限制容器权限”部分中,使用“已禁用”/“已启用”切换按钮阻止具有一组特定权限的容器启动。在设置列表中,选择权限和权限配置以阻止 Pod 设置。
- 在“允许的仓库”部分中,使用“已禁用”/“已启用”切换按钮允许仅将容器部署到特定仓库的集群。为此,请从“仓库”下拉列表中选择相关仓库。
- 在“阻止的卷”部分中,使用“已禁用”/“已启用”切换开关防止选定的卷安装到容器中。为此,请在“卷”字段中指定主机系统上的卷挂载点。
“卷”字段必须以正斜杠(“/”)开头,因为它代表操作系统路径。
- 单击“保存”。
默认情况下,添加的策略已启用。
页首
编辑运行时策略设置
如果您的账户已被分配策略创建者在创建策略时所具有的至少一个角色,则您可以在卡巴斯基容器安全中编辑运行时策略设置。
要更改运行时策略设置:
- 在“策略 → 运行时策略 → 策略”部分中,单击现有运行时策略列表中的策略名称。
将打开策略设置窗口。
- 更改策略名称。
- 添加或编辑策略描述。
- 对策略的相关部分进行更改:
- 模式。
- 适用范围。
- 绕过标准。
- 最佳实践检查。
- 阻止不合规镜像。
- 阻止未注册的镜像。
- 功能阻止。
- 容器运行时配置文件。
- 文件威胁防护。
- 镜像内容保护。
- 限制容器权限。
- 允许的仓库。
- 阻止卷。
- 单击“保存”。
删除策略
如果您的账户已被分配策略创建者在创建策略时所具有的至少一个角色,则您可以删除安全策略。您还需要具有管理相应类型策略的权限才能删除它们。
要删除策略:
如果安全策略配置错误阻止了卡巴斯基容器安全运行,并且您无法使用管理控制台管理解决方案,则必须手动删除安全策略。
要手动删除策略并恢复解决方案:
- 运行以下命令以删除适用的代理(kube-agent 和 node-agent):
kubectl delete deployment kube-agent
kubectl delete daemonset node-agent
- 通过运行以下命令来删除目标集群中的所有客户资源:
kubectl get crd -o name | grep 'kcssecurityprofiles.securityprobe.kcs.com' | xargs kubectl delete
- 重新启动所有卡巴斯基容器安全 Pod 并访问管理控制台。
- 对安全策略进行必要的更改。
- 使用 .YAML 格式的说明来安装代理。
管理容器运行时配置文件
实施运行时策略时,卡巴斯基容器安全可以应用用户定义的规则来监控进程和网络。为此,请将运行时配置文件添加到适当的运行时策略中。运行时配置文件本质上是容器限制的列表。镜像配置文件定义了安全镜像部署和从镜像部署的应用程序的安全活动的设置。配置文件中分配的操作可以显著降低网络犯罪分子渗透设施的能力,并可以提高容器运行时操作期间的安全性。
以下设置指定了镜像配置文件中的限制:
- 应阻止的可执行文件。
- 入站和出站连接的网络限制。
已配置的配置文件列表在“策略 → 运行时策略”下的“容器运行时配置文件”选项卡上显示为表格。在此部分中,还可以执行以下操作:
- 创建新的容器运行时配置文件。单击列表上方的“添加配置文件”按钮,打开配置文件设置窗口。
- 通过单击运行时配置文件名称中的链接来编辑配置文件设置。
- 删除运行时配置文件。
创建运行时配置文件
要添加容器运行时配置文件:
- 在“策略 → 运行时策略 → 容器运行时配置文件”下,单击“添加配置文件”按钮。
将打开配置文件设置输入窗口。
- 输入运行时配置文件的名称,如有必要,可以输入描述。
- 在“限制容器可执行文件”部分中,使用“已禁用”/“已启用”切换按钮根据规则限制可执行文件。在列表中,选择保证最佳容器性能的阻止选项:
- 阻止所有可执行文件的进程 – 应用程序在容器运行时阻止所有可执行文件启动。
- 阻止指定的可执行文件 – 应用程序会阻止您在“阻止指定的可执行文件”字段中选择的可执行文件。您可以阻止所有可执行文件或特定可执行文件列表。您还可以使用
*
掩码(例如/bin/*
)将规则应用于整个目录及其子目录。还可以通过指定阻止规则的排除项来微调允许和阻止的可执行文件列表。例如,可以针对应用于
/bin/*
的规则专门排除路径/bin/cat
。在这种情况下,除了/bin/cat
应用程序之外,/bin/
目录中的所有可执行文件都将被阻止运行。如果选中“允许排除项”复选框,则当容器启动并运行时,应用程序将阻止除“允许排除项”字段中指定的可执行文件之外的所有可执行文件。
为这组参数指定的所有规则和例外都是正则表达式(regexp)。该解决方案使用指定的模式和指标来查找与特定正则表达式匹配的所有文件。
- 在“限制入口容器连接”部分中,使用“已禁用”/“已启用”切换开关来激活限制容器入站连接的功能。当此限制处于活动状态时,卡巴斯基容器安全将阻止除指定为排除项之外的所有入站连接源。
如果选中“允许排除项”复选框,则可以指定一个或多个允许的入站网络连接源参数。要定义排除项,您必须至少指定以下参数之一:
- 源。在“源”字段中,以 CIDR4 或 CIDR6 表示法输入入站连接源的 IP 地址或 IP 地址范围。
- 在“TCP 端口”字段和“UDP 端口”字段中,输入用于连接的特定端口或端口范围。
如果需要指定多个端口,请使用逗号,例如 8080, 8082。
如果不指定端口值,应用程序将允许通过所有端口进行连接。
- 在“限制出口容器连接”部分中,使用“已禁用”/“已启用”切换开关来激活限制向已定义目的地的出站连接的功能。
如果选中“允许排除项”复选框,则可以指定一个或多个允许的出站网络连接目的地参数。要定义排除项,您必须至少指定以下参数之一:
- 目的地。在“目的地”字段中,以 CIDR4 或 CIDR6 表示法输入出站连接目的地的 IP 地址或 IP 地址范围,或者目的地的网址 (URL)。
- 在“TCP 端口”字段和“UDP 端口”字段中,输入用于连接的特定端口或端口范围。
如果需要指定多个端口,请使用逗号,例如 8080, 8082。
如果不指定端口值,应用程序将允许通过所有端口进行连接。
- 单击“保存”。
添加的运行时配置文件显示在“策略 → 运行时策略 → 容器运行时配置文件”部分中。
页首
配置的运行时配置文件示例
下表列出了应用程序最常使用的一些镜像,以及在运行时配置文件中为其配置的限制设置。
镜像以及配置的设置
镜像名称 |
限制容器可执行模块 |
限制网络连接 |
---|---|---|
Nginx |
允许的可执行文件:
|
阻止出站连接 |
Mysql |
允许的可执行文件:
|
阻止出站连接 |
Wordpress |
允许的可执行文件:
|
|
节点 |
允许的可执行文件:
|
阻止出站连接 |
MongoDB |
允许的可执行文件:
|
|
HAProxy |
允许的可执行文件:
|
|
Hipache |
允许的可执行文件:
|
|
Drupal |
允许的可执行文件:
|
|
Redis |
允许的可执行文件:
|
阻止出站连接 |
Tomcat |
允许的可执行文件:
|
阻止出站连接 |
Celery |
允许的可执行文件:
|
|
更改运行时配置文件设置
要更改容器运行时配置文件设置:
- 在“策略 → 运行时策略 → 容器运行时配置文件”下,单击现有容器运行时配置文件列表中的配置文件名称。
- 在打开的窗口中,更改以下一项或多项设置的值:
- 运行时配置文件的名称。
- 运行时配置文件的描述。
- 限制容器可执行文件。
- 限制入站网络连接。
- 限制出站网络连接。
- 单击“保存”。
对运行时配置文件设置所做的更改会立即应用于正在运行的容器并影响其操作。
页首
删除运行时配置文件
要删除容器运行时配置文件:
- 在“策略 → 运行时策略 → 镜像配置文件”下的已配置运行时配置文件表中,单击包含要删除的配置文件名称的行中的删除图标 (
)。
- 在打开的窗口中,确认操作。
文件威胁防护
卡巴斯基容器安全使用文件威胁防护组件来搜索和分析潜在的文件威胁,以保护容器化文件(包括压缩文件和电子邮件中的文件)免受恶意软件的攻击。如果检测到恶意软件,卡巴斯基容器安全可以阻止或删除受感染的对象,并终止使用该对象启动的恶意进程。恶意软件扫描的结果将与总体扫描结果一起显示。
您可以启用或禁用文件威胁防护并配置防护设置:
- 选择文件拦截器的操作模式(审计或者阻止对象)。
- 选择文件扫描模式(打开时、打开并修改时)。
- 启用或禁用对压缩包、邮件数据库、文本格式的电子邮件消息的扫描。
- 暂时将纯文本文件排除在重新扫描之外。
- 限制要扫描的对象的大小和扫描持续时间。
- 选择解决方案将对受感染对象执行的操作。
- 配置扫描范围。卡巴斯基容器安全将扫描文件系统指定区域中的对象。
- 配置扫描期间启发式分析器和 iChecker 技术的使用。
- 启用或禁用将有关扫描的未感染对象、扫描的压缩对象以及未处理的对象的信息记录到安全事件日志中。
可以在“策略 → 运行时策略 → 容器运行时配置文件”下激活文件威胁防护设置,在文件威胁防护设置窗口中进行配置,并应用于所有现有的运行时策略。
如果您不希望在启动某个安全环境策略时激活文件威胁防护,请使用“已禁用/已启用”切换按钮在策略设置中将其禁用。此外,请确保文件威胁防护在不同的适用运行时策略下未运行。
配置文件威胁防护设置
配置文件威胁防护需要 IS 管理员权限。
要配置文件威胁防护:
- 在“策略 → 运行时策略 → 容器运行时配置文件”部分,单击“设置”按钮。
将打开配置文件威胁防护设置的窗口。
- 在文件拦截器模式下,选择以下对象扫描模式之一:
- 在审计模式下,解决方案会扫描并跟踪对象的内容。
- 在强制模式下,解决方案会阻止所有不满足配置的规则和标准的对象。
- 在扫描模式下,选择文件威胁防护模式:
- 智能模式(默认):尝试打开文件时将对其进行扫描,如果文件已被修改,则尝试关闭文件时将再次扫描。如果进程在运行过程中多次访问某个对象并对其进行修改,则解决方案仅在该进程最后一次关闭对象时再次扫描该对象。
- 打开和修改:尝试打开文件时将对其进行扫描,如果文件已被修改,则尝试关闭文件时将再次扫描。
- 打开:尝试打开文件进行读取、执行或修改时,将扫描文件。
- 在对检测到的对象所执行操作下,从下拉列表中选择以下内容:
- 检测到感染对象时,文件威胁防护组件将执行的第一个操作:
- 根据在文件中检测到的风险严重性级别以及清除文件的可能性执行建议的操作(默认)。
例如,木马会被立即删除,因为它们不会感染其他文件,而清除病毒在此处并不适用。
- 对对象进行病毒清除。受感染对象的副本将被移至备份。
- 阻止对该对象的访问。
- 移除对象。受感染对象的副本将被移至备份。
- 根据在文件中检测到的风险严重性级别以及清除文件的可能性执行建议的操作(默认)。
- 当第一个操作失败时,文件威胁防护组件将对检测到的受感染对象执行第二个操作:
- 根据在文件中检测到的风险严重性级别以及清除文件的可能性执行建议的操作(默认)。
- 对对象进行病毒清除。受感染对象的副本将被移至备份。
- 阻止对该对象的访问。
- 移除对象。受感染对象的副本将被移至备份。
我们建议为检测到的对象同时指定这两种操作。
为检测到的对象选择所执行的操作时,请考虑以下事项:
- 如果选择“阻止”或“删除”作为第一个操作,则第二个操作无需指定。
- 如果未选择第二个操作,则默认操作为“阻止”。
- 如果将适用的运行时策略模式设置为“审计”,则不会对检测到的对象采取任何操作。
- 检测到感染对象时,文件威胁防护组件将执行的第一个操作:
- 在扫描设置下,使用复选框定义包含要扫描的文件和目录的扫描对象。如果选中复选框,解决方案将扫描选定的对象。您可以从以下列表中选择一个或多个扫描设置:
- 扫描压缩包:此复选框可启用或禁用压缩包扫描。默认情况下,该复选框处于清除状态,并且解决方案不会扫描压缩包。
该解决方案可扫描 .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。
- 扫描压缩包:此复选框可启用或禁用压缩包扫描。默认情况下,该复选框处于清除状态,并且解决方案不会扫描压缩包。
- 在“技术”部分,选中复选框来定义解决方案将用于扫描对象的技术。您可以选择以下选项之一:
- 使用 iChecker:此复选框可启用或禁用仅扫描新文件和自上次扫描以来经修改的文件。iChecker 是一种扫描方法,它通过跳过一些自扫描以来未经修改的先前扫描文件来减少总体扫描时间。
如果选中该复选框,解决方案将仅扫描新文件和自上次扫描以来经修改的文件。如果清除该复选框,解决方案将扫描所有文件,无论其创建或修改日期如何。
默认情况下,该复选框处于选中状态。
- 使用启发式分析:此复选框可启用或禁用扫描对象时使用启发式分析。启发式分析使得解决方案能识别恶意软件分析师从未发现的安全威胁。
默认情况下,该复选框处于选中状态。
如果选中“使用启发式分析”复选框,则可以选择启发式分析级别。通过指定启发式分析级别,可在安全威胁扫描的严谨性、操作系统的负载以及扫描持续时间之间实现平衡。级别越高,扫描需要的资源越多,并且花费的时间越长。您可以选择以下选项之一:
- 推荐(默认):卡巴斯基专家推荐的最佳级别。这在确保防护质量和对受保护服务器性能的影响之间达到了完美平衡。
- 轻度:详细度最低的扫描,系统负载最小。
- 中度:扫描详细度中等,实现系统负载平衡。
- 深度:详细度最高的扫描,系统负载最大。
- 使用 iChecker:此复选框可启用或禁用仅扫描新文件和自上次扫描以来经修改的文件。iChecker 是一种扫描方法,它通过跳过一些自扫描以来未经修改的先前扫描文件来减少总体扫描时间。
- 在事件日志记录下,选中复选框以确定是否将事件记录在安全事件日志中。您可以选择一个或多个事件日志选项:
- 记录未感染对象:此复选框可启用或禁用对已被解决方案识别为未感染扫描对象有关信息的日志记录。
- 记录未处理对象:此复选框可启用或禁用对出于任何原因未经处理的扫描对象有关信息的日志记录。
- 记录打包对象:此复选框可启用或禁用对作为复合对象构成部分(如压缩包)的扫描对象有关信息的日志记录。
如果选中该复选框,解决方案将记录所有对象的事件。如果清除该复选框,则不会记录该事件。默认情况下,该复选框处于清除状态。
- 单击“保存”。
文件拦截器操作
运行对象扫描作业时,文件威胁防护将使用文件操作拦截器。它将被设置为以下文件拦截模式之一 (InterceptorProtectionMode
):
- 强制(默认):在使用文件拦截器的扫描作业持续期间阻止文件。扫描完成之前无法访问任何文件。当检测到受感染的对象时,解决方案将执行“对检测到的对象执行的操作”下设置中指定的操作。
- 审计:在使用文件拦截器的扫描作业期间不会阻止文件。允许访问任何文件;扫描是异步执行的。当检测到感染对象时,解决方案仅在事件日志中记录事件。而不会执行“对检测到的对象执行的操作”下的设置中指定的操作。
如果选择了审计值,解决方案将启用文件威胁防护的通知模式。
当在运行时策略中激活文件威胁防护时,将应用配置的组件设置。这些设置对于所有创建的运行时策略相同。如果适用的运行时策略被设置为审计模式,并且文件威胁防护中的 InterceptorProtectionMode
被设置为强制,则解决方案将阻止这些文件。
数据库更新
文件威胁防护数据库保持最新,以确保最大程度地保护容器对象免受文件威胁。更新会按照计划或需求自动运行。
部署新代理时,解决方案会更新,然后应用更新的文件威胁防护数据库。
数据库将从卡巴斯基容器安全更新服务器进行更新。您可以使用卡巴斯基更新实用程序从企业局域网 (LAN) 上的共享目录设置数据库和组件更新。为此,企业 LAN 的设备必须从卡巴斯基更新服务器接收更新包,并使用该实用程序将更新包复制到共享目录。企业 LAN 上的其他设备将能够从共享目录中提取更新包。
在公共公司网络中部署解决方案时,直接从更新服务器执行更新。在专用公司网络中安装解决方案时,更新的文件威胁防护数据库将被添加到 kcs-updates
容器中,以便后续运行和更新。
将更新的数据库应用到正在运行的代理不会违反节点的主动运行时保护。数据库更新记录在事件日志中。
如果在更新数据库时出现错误,解决方案会取消文件威胁防护更新并继续使用以前安装的数据库。更新期间发生的错误会被记录到位于 node-agent Pod 中的 events.db 文件中。
如果为代理组启用了文件威胁防护,则 events.db 文件可用。
页首
强制禁用文件威胁防护
在卡巴斯基容器安全 1.2 中,您可以完全禁用文件威胁防护组件。如果您遇到组件问题,这可能必不可少。
您可以通过两种方式强制禁用文件威胁防护组件:修改集群上部署代理的文件和修改正在运行的代理。
要使用代理部署文件强制禁用文件威胁防护:
- 打开 .YAML 文件,其中包含您在部署代理时下载的在集群上部署代理的说明。
- 在 node-agent 的
DaemonSet
部分中,将FILE_THREAT_PROTECTION_ENABLED
环境变量设置为false
。name: FILE_THREAT_PROTECTION_ENABLED
value: false
- 将更改保存到说明文件。
- 在控制台中,通过运行
kubectl apply -f agents.yaml
应用说明文件编排器将重新部署 node-agent Pod,并禁用文件威胁防护。
要在代理运行时强制禁用文件威胁防护:
- 在控制台中,使用
kubectl edit
命令打开正在运行的代理。 - 在 node-agent 的
DaemonSet
部分中,将FILE_THREAT_PROTECTION_ENABLED
环境变量设置为false
。name: FILE_THREAT_PROTECTION_ENABLED
value: false
- 保存更改。
编排器将应用已保存的更改并禁用文件威胁防护。
配置与镜像签名验证器的集成
卡巴斯基容器安全可以验证镜像数字签名的真实性和有效性。要使用此功能,您需要配置解决方案与一个或多个外部签名应用程序的集成。镜像摘要签名的细节、签名的位置以及保护签名的细节取决于您选择的签名应用程序。解决方案支持两种可配置的外部签名验证应用程序:
- Notary v1 是 Docker 开发的 Web 服务,用于确保容器在其生命周期各个阶段(包括签名的创建和后续存储阶段)的安全性。
- Cosign 是一项旨在为容器创建签名、验证签名以及将已签名的容器放入存储库种的 Web 服务。该工具是作为 项目的一部分开发的。
您可以在“管理 → 集成 → 镜像签名验证器”部分中配置与镜像签名验证器的集成。
页首
查看与签名验证器集成的列表
在管理→集成→镜像签名验证器 部分中,一个表格将显示,其中包含带有镜像签名验证器的所有已配置集成。
该表将显示有关集成镜像签名验证器的以下信息:
- 验证器名称
- 描述(如果在创建集成时曾指定)
- 镜像签名验证器的类型 - Notary v1 或 Cosign
- 镜像签名验证器连接的网址
在表格中,您可以:
- 添加新的与签名验证模块的集成。单击列表上方的“添加签名验证器”以打开集成设置窗口。
- 查看和编辑与镜像签名验证模块集成的设置。您可以单击验证模块名称上的链接来打开编辑窗口。
- 删除与镜像签名验证器的集成。
添加与镜像签名验证器的集成
要添加与镜像签名验证器的集成:
- 在“管理 → 集成 → 镜像签名验证器”部分中,单击“添加签名验证器”按钮。
将打开集成设置窗口。
- 在“常规信息”部分中,输入策略名称,并根据需要输入策略说明。
- 在“类型”部分中,选择以下签名验证器之一:
- Notary v1。
- Cosign。
- 根据所选的签名验证器,指定服务器身份验证凭据:
- 对于 Notary v1,指定以下设置:
- 网址 – 存储镜像签名的服务器的完整网址。
- 签名服务器身份验证密钥名称 – 编排器密钥的名称,密钥中包含用于访问存储了镜像签名的服务器的凭据。
该密钥必须位于卡巴斯基容器安全命名空间中。
- 证书 – 用于存储签名的服务器的自生成证书。该证书以 .PEM 格式提供。
- 委派 – 参与签署过程的签名持有者列表。
- 在“受信任的根”下,指定解决方案将在签名验证期间检查的所有公钥对。密钥对包括密钥的名称和值。
如有必要,可以单击“添加密钥对”按钮来添加其他密钥。解决方案最多支持 20 个密钥对。
- 对于 Cosign,指定以下设置:
- 签名服务器身份验证密钥名称 – 编排器密钥的名称,密钥中包含用于访问存储了镜像签名的服务器的凭据。
该密钥必须位于卡巴斯基容器安全命名空间中。
- 证书 – 用于存储签名的服务器的自生成证书。该证书以 .PEM 格式提供。
- 在“受信任的根”下,指定解决方案将在签名验证期间检查的所有公钥对。密钥对包括密钥的名称和值。
对于 Cosign,指定 cosign.pub 提供的 ECDSA 或 RSA 算法的公钥。
如有必要,可以单击“添加密钥对”按钮来添加其他密钥。解决方案最多支持 20 个密钥对。
- 在“签名要求”部分中,指定必须签署镜像的签名和签名持有者的最小数量。
- 签名服务器身份验证密钥名称 – 编排器密钥的名称,密钥中包含用于访问存储了镜像签名的服务器的凭据。
- 对于 Notary v1,指定以下设置:
- 单击窗口顶部的“保存”按钮保存与镜像签名验证器的集成的设置。
您可以使用运行时策略中已配置的集成来确保对镜像内容的保护。
页首
查看和编辑与镜像签名验证器的集成的相关信息
要查看和编辑与镜像签名验证器集成的设置:
- 在“管理 → 集成 → 镜像签名验证器”部分中,单击与签名验证器的集成列表中的集成名称链接。
- 如有必要,在打开的窗口中编辑集成设置,这取决于所选的签名验证器,如下所示:
- 对于 Notary v1,可以修改以下设置:
- 验证器名称。
- 描述。
- URL。
- 签名服务器身份验证密钥名称。
- 证书。
- 委派。
- 密钥名称。
- 密钥值。
- 对于 Cosign,可以修改以下设置:
- 签名服务器身份验证密钥名称。
- 证书。
- 密钥名称。
- 密钥值。
- 阈值。
- 所需签名者。
- 对于 Notary v1,可以修改以下设置:
- 如有必要,单击“添加密钥对”按钮来添加密钥对。
- 单击窗口上部的“保存”按钮。
删除与镜像签名验证器的集成
要删除与镜像签名验证器的集成:
- 打开已配置的与镜像签名验证器的集成列表。
- 通过选中集成名称行中的复选框来选择要删除的集成。
- 单击表格上方的删除。
选择一个或多个集成后, “删除”按钮将变为启用状态。
- 在打开的窗口中,确认删除。
设置与通知输出的集成
卡巴斯基容器安全软件可以根据响应策略的设置在运行时向用户通知事件。要使用通知功能,您应该设置卡巴斯基容器安全与一个或多个通知输出的集成。
卡巴斯基容器安全可以使用以下输出:
- 电子邮件
- Telegram 即时通讯系统
查看与输出集成的列表
要查看已配置的与输出集成的列表:
- 转至“管理 → 集成 → 通知”部分。
- 根据您想要的通知类型,转到“电子邮件”选项卡或“Telegram”选项卡。
包含所有已配置集成的列表的表格显示有关现有集成的以下信息:
- 集成名称。
- 更新者。
- 上次更新的日期和时间。
- 最后一次连接到输出的状态 – 成功或错误。如果显示错误,解决方案还会显示连接错误的简要描述。
在表格中,您可以:
- 添加与电子邮件或Telegram 的新集成。单击列表上方的“添加集成"以打开集成设置窗口。
- 查看和编辑与输出集成的设置。您可以单击集成名称链接来打开编辑窗口。
在此窗口中,您还可以单击“测试连接”以查看与输出的集成是否完成。
- 删除与输出的集成。
添加电子邮件集成
要添加电子邮件集成:
- 在管理→集成→通知下的电子邮件部分中,单击 添加集成。
将打开集成设置窗口。
- 在表单中指定以下信息:
- 集成的名称 – 显示在响应策略设置中。
- 用于发送消息的账户的用户名和密码。
- SMTP 服务器名称。
- 电子邮件加密方法。
- SMTP 服务器使用的端口。
- 邮件发件人的电子邮件地址。
- 邮件收件人的电子邮件地址。您可以在此字段中输入一个或多个地址。
- 单击“测试连接”以查看是否可以建立与电子邮件的连接。
- 单击“添加”以保存电子邮件集成设置。
您可以在响应策略中使用配置的集成。
页首
查看有关电子邮件集成的信息
要查看和更改电子邮件集成:
- 在“管理 → 集成 → 通知”下的“电子邮件集成”部分中,单击集成列表中的集成名称链接。
- 在打开的编辑窗口中,如有必要,请更改以下集成设置:
- 名称。
- 用户名。
- 用于发送邮件的用户账户的密码。
- SMTP 服务器名称。
- 电子邮件加密方法。
- SMTP 服务器使用的端口。
- 邮件发件人的电子邮件地址。
- 邮件收件人的电子邮件地址。
- 单击“测试连接”以查看是否可以建立与电子邮件的连接。
- 单击“保存”。
添加 Telegram 集成
要添加 Telegram 集成:
- 在管理→集成→通知下,在Telegram下,单击添加集成。
将打开集成设置窗口。
- 在表单中指定以下信息:
- 集成的名称 – 显示在响应策略设置中。
- 发布消息的聊天 ID – 您可以通过以下方式获取 ID:
- 给消息机器人撰写第一条消息。聊天 ID 会在第一次发送消息时生成。
- 在浏览器的地址栏中输入:
https://api.telegram.org/bot
<令牌>
/getUpdates
其中 <token> 是消息机器人的令牌。
- 在收到的 .json 响应文件中,找到“chat”对象中的“ID”值。这就是聊天 ID。
更改 Telegram 聊天中新参与者的消息历史记录可见性设置后,聊天 ID 也会更改。在这种情况下,您必须更改 Telegram 集成设置并指定新的聊天 ID 值。
- 消息机器人的令牌 – 对 BotFather 机器人执行
/newbot
命令以创建机器人时,您将收到此令牌。还可以通过运行/token
命令来获取先前创建的机器人的令牌。
- 单击“测试连接”以查看是否可以建立与 Telegram 的连接。
- 单击“添加”以保存 Telegram 集成设置。
您可以在响应策略中使用配置的集成。
页首
查看和编辑有关与 Telegram 的集成的信息
要查看和更改 Telegram 集成:
- 在管理→集成→通知部分中的Telegram下,单击集成列表中的集成名称链接。
- 在打开的编辑窗口中,如有必要,请更改以下集成设置:
- 名称。
- 聊天 ID。
- 机器人令牌。
- 单击“测试连接”以查看是否可以建立与 Telegram 的连接。
- 单击“保存”。
删除与通知输出的集成
要删除电子邮件集成或 Telegram 集成:
- 在管理→集成→通知部分打开已配置的电子邮件或 Telegram 集成列表。
- 通过选中集成名称行中的复选框来选择要删除的集成。
- 单击表格上方的删除。
选择一个或多个集成后, “删除”按钮将变为启用状态。
- 在打开的窗口中,确认删除。
您不能删除一个或多个响应策略中使用的集成。
页首
配置 LDAP 服务器集成
卡巴斯基容器安全允许您
连接到您的组织中使用的外部的服务器。这是与 中的特定组的集成。通过 LDAP 协议连接到外部目录服务可让您执行以下任务:
- 配置用户账户,以便在使用卡巴斯基容器安全时考虑来自外部目录服务的数据。
- 将卡巴斯基容器安全中的用户角色与 Active Directory 中的用户组相关联。这些组中的用户将能够使用其域账户凭据登录解决方案 Web 界面,并根据被分配的角色访问应用程序的功能。
我们建议您提前在 Active Directory 中创建这些用户组,以允许他们在卡巴斯基容器安全 Web 界面中使用其域账户完成授权。
此外,必须为 Active Directory 中的用户账户指明电子邮件地址。
创建 LDAP 服务器集成
要创建与 LDAP 服务器的集成:
- 在“管理 → 集成 → LDAP”部分中,单击“连接服务器”按钮。
LDAP 服务器设置窗口将打开。
- 在表单字段中指定以下必需设置:
- 您公司的 LDAP 服务器的网址 (URL)。
LDAP 服务器的网址按如下方式指定:
ldap://<主机>:<端口>
。例如:ldap://ldap.example.com:389
。 - 基础分辨名称 – 在 LDAP 名称的上下文中,这是唯一标识和描述 LDAP 目录服务器记录的名称。
例如,example.com 的基础分辨名称是
dc=example, dc=com
。 - 用户授权筛选器 – 在 LDAP 搜索的上下文中,该筛选器生成用户授权请求并指示在 Active Directory 目录树中的何处开始搜索用户。
用户授权的过滤器必须指定如下:
sAMAccountName =% s, ou = Accounts
。 - 用于定义 Active Directory 中的组搜索设置的组筛选器。
- 用于定义 Active Directory 中的用户搜索设置的用户筛选器。
- 您公司的 LDAP 服务器的网址 (URL)。
- 在“基本模式”下,指定对象的以下属性和类的值:
- 对象类是要搜索的对象的类型。
- 组织单位类是将对象标识为域内容器对象的 LDAP 对象类。
- 用户类是将对象标识为用户的 LDAP 对象类。
- 组织单位名称是标识组名称的组属性。
- 组类是将 LDAP 对象标识为组的类。
- 分辨名称属性是记录的唯一可分辨名称。
- 在“用户设置”下,指定以下对象属性的值:
- 用户名字属性。
- 用户姓氏属性。
- 组名称属性。
- 用户用户名属性。
使用用户账户授权时,可能需要同时指定用户名和领域,格式如下:
<username @ realm>
(例如 user@example.com)。 - 用户密码。
- 组成员。
- 用户电子邮件属性。
- 用户隶属。
- 单击 LDAP 服务器集成数据表单上方的“保存”按钮。
- 要验证填写的值是否正确,请单击 LDAP 服务器集成数据表单上方的“测试连接”按钮。
卡巴斯基容器安全将显示一条通知,通知您成功连接到 LDAP 服务器或建立连接失败。
如果 LDAP 服务器证书发生更改,请重新配置集成。
您可以在创建和分配用户角色时使用已配置的集成。
页首
查看、配置或删除 LDAP 服务器集成
要查看 LDAP 服务器连接:
转至“管理 → 集成 → LDAP”部分。
卡巴斯基容器安全显示有关已连接 LDAP 服务器的以下信息:
- 已连接 LDAP 服务器的网址。
- 上次服务器连接的状态 – 成功、不可用或错误。如果显示错误,解决方案还会显示连接错误的简要描述。
要编辑 LDAP 服务器集成设置:
在“管理 → 集成 → LDAP”部分中,单击“编辑设置”按钮。
卡巴斯基容器安全将打开包含 LDAP 服务器集成数据表单的页面。
要删除与 LDAP 服务器的集成:
- 在管理→集成→ LDAP部分中,单击删除集成。
- 在打开的窗口中,确认删除。
测试与 LDAP 服务器的连接
要测试与 LDAP 服务器的连接:
- 转至“管理 → 集成 → LDAP”部分。
- 执行以下操作之一:
- 如果已创建与 LDAP 服务器的集成,请单击“测试连接”按钮。
- 如果要创建与 LDAP 服务器的集成,请单击 LDAP 服务器集成数据表单上方的“测试连接”按钮。
卡巴斯基容器安全将显示一条通知,通知您已连接到 LDAP 服务器或连接建立失败。
页首
获取对 Active Directory 组的访问权限
配置与 LDAP 服务器的集成后,您可以为每个卡巴斯基容器安全角色指定一个 Active Directory 组。使用账户凭据进行授权后,该组中的用户可以根据其被定义的角色访问解决方案的功能。
页首
管理用户
多个用户可以访问卡巴斯基容器安全。为每个用户创建一个用户账户,并为其分配一个或多个用户角色。
卡巴斯基容器安全用户列表显示在“管理 → 访问管理 → 用户”部分的表格中。
您可以执行以下操作:
- 添加用户。
- 查看和编辑用户账户设置。
- 重置选定账户的密码。
- 删除用户。
- 通过单击相应列(显示的用户名、用户名、分配的角色)中的
图标对用户列表中的值排序。排序可以按字母顺序和字母倒序进行。
- 使用表格上方的“按用户名搜索”字段按用户名搜索。
关于用户角色
卡巴斯基容器安全中的用户角色是在解决方案 Web 界面中执行特定操作的一组权限。根据用户的角色,用户可以访问不同的部分和功能。
卡巴斯基容器安全提供用户角色以及系统角色,它们具有预定义的访问权限集来执行保护容器环境的常见任务。
在解决方案的初始安装过程中提供了以下系统角色:
- 卡巴斯基容器安全管理员角色用于负责部署和支持解决方案正常运行所需的基础架构和系统软件(例如操作系统、应用程序服务器和数据库)的用户。这些用户管理卡巴斯基容器安全中的用户账户、角色和访问权限。
在 Web 界面中,此角色用缩写 KCSADM 表示。
- 信息安全管理员(IS 管理员)角色用于负责创建和管理用户账户、用户的角色和访问权限、更改设置、连接公共镜像仓库、代理和输出以及配置安全策略的用户。
在 Web 界面中,此角色用缩写 ISADM 表示。
- IS 审计员角色用于查看解决方案的资源和用户列表以及监视扫描和合规性检查结果的用户。
在 Web 界面中,此角色用缩写 ISAUD 表示。
- IS 管理人员角色用于查看和管理安全策略、连接公共镜像仓库以及查看其直接参与的项目的运行时容器分析结果的用户。
在 Web 界面中,此角色用缩写 ISOFF 表示。
- 开发人员角色用于执行合规性检查并查看仓库和 CI/CD 镜像扫描结果、集群资源以及已接受的风险的用户。
在 Web 界面中,此角色用缩写 DEV 表示。
可以为一个用户分配多个用户角色。
如果不需要某个特定系统角色,可以将其删除。
但是,您不能删除有权管理其他角色的最后一个活动的系统角色。
如果可用的系统角色不提供所需的访问权限,您可以创建自己独特的权限集作为自定义角色。
创建自定义角色时,请考虑访问相关功能所需的权限集。例如:
- 要查看和配置响应策略的设置,您需要查看与通知服务的集成的权限。如果不授予此权限,当您尝试配置响应策略时,卡巴斯基容器安全将显示错误。
- 管理响应策略的权限必须与管理通知的权限一起授予,否则您将无法在策略设置中选择输出。
- 要创建用户,您需要查看和管理角色的权限。如果不授予此类权限,则仅向创建的用户显示仪表盘。
- 管理用户的权限必须与管理角色的权限一起授予,否则您将无法在创建用户时分配角色。
您可以向用户账户分配用户角色,就像分配系统角色一样。此外,您还可以更改用户角色的设置以及删除用户角色。
在将范围分配给角色时,您必须考虑到,只有将此范围分配给您的某个角色,才能在特定的范围内实施安全策略。
如果解决方案已经与 LDAP 服务器集成,卡巴斯基容器安全还会接收并显示来自 Active Directory 服务的角色和用户组。
页首
使用系统角色
下表列出了在安装后具有系统角色的用户在卡巴斯基容器安全 Web 界面中可执行的主要操作。
用户角色及其可执行的操作
操作 |
卡巴斯基容器安全管理员 |
IS 管理员 |
IS 审计员 |
IS 管理人员 |
开发人员 |
---|---|---|---|---|---|
查看镜像扫描结果 |
|
|
|
|
|
手动开始扫描镜像 |
|
|
|
|
|
管理风险(接受风险、编辑风险和取消风险接受) |
|
|
|
|
|
查看已接受的风险 |
|
|
|
|
|
查看集群 |
|
|
|
|
|
管理集群 |
|
|
|
|
|
查看仓库 |
|
|
|
|
|
将镜像添加到仓库 |
|
|
|
|
|
从仓库中删除存储库/镜像 |
|
|
|
|
|
查看 CI/CD 扫描结果 |
|
|
|
|
|
管理 CI/CD 扫描 |
|
|
|
|
|
查看和管理代理 |
|
|
|
|
|
查看基准合规性结果 |
|
|
|
|
|
开始基准合规性检查 |
|
|
|
|
|
查看扫描器策略 |
|
|
|
|
|
管理扫描器策略 |
|
|
|
|
|
查看保障策略 |
|
|
|
|
|
管理保障策略 |
|
|
|
|
|
查看响应策略 |
|
|
|
|
|
管理响应策略 |
|
|
|
|
|
查看运行时策略 |
|
|
|
|
|
管理运行时策略 |
|
|
|
|
|
查看文件威胁防护设置 |
|
|
|
|
|
管理文件威胁防护设置 |
|
|
|
|
|
查看用户列表 |
|
|
|
|
|
管理用户 |
|
|
|
|
|
查看角色和权限集 |
|
|
|
|
|
管理角色和权限集 |
|
|
|
|
|
查看范围 |
|
|
|
|
|
管理范围 |
|
|
|
|
|
查看全局范围 |
|
|
|
|
|
管理全局范围 |
|
|
|
|
|
查看事件日志 |
|
|
|
|
|
查看授权许可信息 |
|
|
|
|
|
管理授权许可设置 |
|
|
|
|
|
查看镜像仓库集成 |
|
|
|
|
|
查看镜像仓库集成 |
|
|
|
|
|
查看与镜像签名验证器的集成 |
|
|
|
|
|
管理与镜像签名验证器的集成 |
|
|
|
|
|
查看与通知系统的集成 |
|
|
|
|
|
管理与通知系统的集成 |
|
|
|
|
|
查看报告 |
|
|
|
|
|
管理报告 |
|
|
|
|
|
查看和管理与 LDAP 服务器的集成 |
|
|
|
|
|
查看和管理身份验证设置 |
|
|
|
|
|
显示角色列表
卡巴斯基容器安全在“管理 → 访问管理 → 角色”部分中显示活动角色列表。
该表格显示了所有活动的系统角色和用户角色,并指示了它们的 ID、名称以及分配给特定角色的用户数量。如果您已配置与 LDAP 的集成,该表还会显示与卡巴斯基容器安全中的用户角色相对应的 Active Directory 用户组。
页首
关于范围
在卡巴斯基容器安全中,范围指的是基于使用该解决方案的原因而生成的资源列表(例如,特定集群、多个外部仓库或特定命名空间)。
范围用于以下目的:
- 区分对资源的访问,例如,为了监控集群、仓库或命名空间的操作。
- 区分策略和扫描应用于的对象。
通过在创建安全策略或编辑其设置时分配范围来区分这些对象。
在卡巴斯基容器安全中,您可以添加您自己的范围或将默认的全局范围分配给用户。
全局范围包括对所有解决方案资源的访问。在安装卡巴斯基容器安全期间默认添加此范围。
您无法更改全局范围的设置或将其删除。
只有拥有适当权限的用户才能访问全局范围。要将全局范围分配给其他用户和角色,您需要拥有管理全局范围的权限。
如果将全局范围分配给策略,则该策略将应用于所有资源并在所有环境中应用。
页首
安全策略的范围和执行
在卡巴斯基容器安全中,为所有安全策略都指定了范围。为了确保扫描所有必要资源,可以为每个策略分配一个或多个范围。此外,还可以在多个策略中指定相同的范围。
无论范围内实施的策略数量如何(例如,在运行时扫描镜像或扫描集群时),都会应用所有安全策略。
当同时应用多个安全策略和多个范围时,以下规则适用:
- 对于扫描器策略:使用累计的设置列表执行扫描,该列表是通过合并范围内所有有效的扫描策略来获得的。
- 对于保障策略:扫描镜像时,将根据所指定的范围应用适用于所扫描资源的所有策略。
- 对于响应策略:当事件发生时,使用适用于分配的范围中指定的资源的所有响应策略中指定的通知工具来通知用户。
- 对于运行时策略:根据分配给范围的所有适用策略监控容器,并在必要时阻止容器在运行时运行。
在范围之间切换
在卡巴斯基容器安全中,可以将多个范围分配给一个角色。您可以查看可用范围的列表或切换范围以访问不同范围中的可用资源。
在范围之间切换时,请记住以下几点:
- 如果按仓库选择包含资源的范围,则在“资源 → 资产 → 集群”部分中,卡巴斯基容器安全不会显示集群、命名空间和 Pod 的列表。将显示资源之间链接的完整可视化表示,但您无法查看有关可用范围之外的对象的信息。
- 在“资源 → 资产 → 仓库”部分中,按集群选择包含资源的范围。然后,卡巴斯基容器安全会显示用于启动集群中容器的镜像列表。
- 在“扫描器”部分中,您可以查看所有扫描器和扫描任务的列表。但是,如果扫描的对象不在您可以使用的范围内,则无法查看有关该对象的信息。
- 在“合规性 → Kubernetes 基准”部分中,卡巴斯基容器安全显示范围内集群中所有节点的列表,无论范围内的集群详细信息级别如何。但是,如果某个集群节点不在您可以使用的范围内,则无法查看有关该集群节点的信息。
- 在“策略”部分中,卡巴斯基容器安全显示以下内容:
- 其中至少一个作者的角色与您的角色相匹配的所有策略。
- 其中至少一个范围与您选择的范围相匹配的所有策略。
- 链接到分配给您的角色的范围的所有策略。但是,您无法删除这些策略或编辑其设置。
要切换范围:
- 转到以下部分之一:
- 资源 → 资产 → 集群。
- 资源 → 资产 → 仓库。
- 合规性 → Kubernetes 基准。
- “策略”部分的子部分:“扫描器策略”、“保障策略”、“响应策略”或“运行时策略”。
- 在窗口右上部分的可用范围下拉列表中,选择所需的范围。
还可以通过在列表中选择“所有”来激活所有范围。
添加用户、角色和范围
要添加用户账户:
- 在“管理 → 访问管理 → 用户”部分中,单击用户列表上方的“添加用户”按钮。
- 在打开的窗口中,指定以下设置:
- 用户名是必须分配给用户的唯一值,作为卡巴斯基容器安全中的标识。
用户名只能包含英文字母和数字。用户名最小长度为 4 个字符,最大长度为 254 个字符。
- 显示名称(可选)是解决方案 Web 界面中显示的值。如果不指定此参数,则 Web 界面中将显示用户名。
- 电子邮件(可选)。
- 用户名是必须分配给用户的唯一值,作为卡巴斯基容器安全中的标识。
- 在“密码”字段中输入密码。
密码的要求如下:
- 密码必须包含数字、特殊字符、大写和小写字母。
- 最小密码长度为 6 个字符,最大密码长度为 72 个字符。默认密码长度为 8 个字符。
- 在“确认密码字段中”确认输入的密码。
- 如果用户应在解决方案下次启动时更改密码,请选中该复选框。
- 从可用角色列表中进行选择,为用户分配角色。
虽然创建用户时不需要分配角色,但没有分配角色的新用户将无法与卡巴斯基容器安全交互。
- 单击“添加”。
要添加用户,需要具备查看和配置设置的权限。如果没有这些权限,则添加的任何用户都只能查看解决方案的主页面。
要添加用户角色:
- 在“管理 → 访问管理 → 角色”部分中,单击角色列表上方的“添加角色”按钮。
- 在打开的窗口中,指定以下值:
- 角色 ID 是必须分配给角色的唯一值,作为卡巴斯基容器安全中的标识。
角色 ID 可以包含大写拉丁字母和数字。角色 ID 不能包含特殊字符或空格。
- 角色名称是解决方案 Web 界面中显示的值。
- 描述(可选)。
- 范围是用于区分对资源的访问权限的设置。
- 角色 ID 是必须分配给角色的唯一值,作为卡巴斯基容器安全中的标识。
- 在“Active Directory 映射”字段中,指定用户所属的 Active Directory 组。
- 选中可用于添加角色的权限旁边的复选框。
- 单击“添加”。
要添加范围:
- 在“管理 → 访问管理 → 范围”部分中,单击包含范围列表的表格上方的“添加范围”按钮。
- 在打开的窗口中,指定范围名称,并在必要时指定范围描述。
- 在“资源”部分中,为范围选择资源:
- 单击“按仓库添加资源”按钮,然后在下拉列表中为范围选择仓库。您可以通过在下拉列表中选择特定存储库并从这些存储库中选择镜像来定义更具体的范围。
- 单击“按集群添加资源”按钮,然后从下拉列表中为范围选择编排器。您可以通过从部署在集群中的容器所属的编排器中选择特定的集群、命名空间和镜像来定义更具体的范围。
您必须至少指定一项被授予监控访问权限的资源。
- 单击“将对象设置到范围”。
- 单击“保存”按钮保存范围。
重置用户账户密码
要重置用户账户密码,
- 请转至“管理 → 访问管理 → 用户”部分。
- 执行以下操作之一:
- 在用户列表中,选择特定用户账户行,然后单击表格上方的“重置密码”链接。
- 在用户账户行中,打开菜单 (
) 并选择“重置密码”。
更改用户、角色和范围的设置
要编辑用户账户:
- 在“管理 → 访问管理 → 用户”部分中,单击用户列表中的用户名。
- 在打开的窗口中进行必要的更改。
如果对具有管理员权限的用户账户进行更改,则不要删除所有角色,因为这样做会导致管理员失去对解决方案的访问权限。
- 单击“保存”。
要编辑用户角色:
- 在“管理 → 访问管理 → 角色”部分中,单击角色列表的“角色 ID”列中的角色标识符。
- 在打开的窗口中进行必要的更改。
- 单击“保存”。
修改某个角色后,所有被分配该角色的用户都必须重新授权。
如果某个角色是最后一个有权管理用户账户、用户角色或全局范围的活动系统角色,则无法编辑该角色。
要编辑范围:
- 在“管理 → 访问管理 → 范围”部分中,单击包含范围列表的表格的“范围名称”列中的范围名称。
- 在打开的窗口中进行必要的更改。
- 单击“保存”。
删除用户、角色和范围
要删除用户账户:
- 在“管理 → 访问管理 → 用户”部分中,执行以下操作之一:
- 从特定用户账户行中选择用户,然后单击包含用户列表的表格上方的“删除”链接。
您可以选择一个或多个用户账户。
- 在包含用户账户的行中,打开菜单 (
) 并选择“删除用户”。
- 从特定用户账户行中选择用户,然后单击包含用户列表的表格上方的“删除”链接。
- 在打开的窗口中,单击“删除”以确认删除。
无法删除卡巴斯基容器安全中用于授权的用户账户。
要删除用户角色:
- 在“管理 → 访问管理 → 角色”部分中,在角色列表的角色行中,单击删除图标 (
)。
- 在打开的窗口中,单击“删除”以确认删除。
您无法删除有权管理其他用户账户、用户角色或全局范围的最后一个活动的系统角色。
如果某个角色已分配给任意用户,也无法删除该角色。
要删除范围:
- 在“管理 → 访问管理 → 范围”部分中,在范围列表的角色行中,单击删除图标 (
)。
- 在打开的窗口中,单击“删除”以确认删除。
您无法删除默认的全局范围。
如果某个应用范围分配给不同的活动用户角色,也无法删除该应用范围。
使用卡巴斯基容器安全 OpenAPI
卡巴斯基容器安全实施开放应用程序编程接口 (OpenAPI),可以访问该解决方案的功能。例如,您可以使用卡巴斯基容器安全 OpenAPI 获取有关解决方案组件的信息、创建、修改和删除对象、生成报告以及执行其他操作。
有关使用卡巴斯基容器安全 OpenAPI 可以执行的操作的完整列表,请参阅描述 OpenAPI 请求的文档。
OpenAPI 请求的文档可在设置→关于部分的技术文档下找到。该文档是英文的开发人员指南。开发人员指南还提供了对 API 服务器的请求中可用的代码示例和可调用项的详细描述。
JSON 用于表示请求和响应中的数据。
页首
安全事件日志
在“管理 → 事件”部分,卡巴斯基容器安全会显示可用于提供信息的已发生事件,以跟踪正在运行的进程、分析安全威胁以及确定导致解决方案失败的原因。
卡巴斯基容器安全会显示以下类型的事件:
- 审计事件。这组事件包括用户活动审计数据,例如有关解决方案的配置设置、用户身份验证、组中的变化以及解决方案内信息的修改或删除的信息。
- 解决方案运行结果。这些事件包括有关触发的响应策略的警报。
- 解决方案应用程序内部操作的记录。
卡巴斯基容器安全会显示以下安全事件类别:
- 管理 – 所有与解决方案管理相关的事件都会被记录。
- 策略(扫描器策略、保障策略、响应策略、运行时策略)– 与镜像符合或不符合适用策略相关的事件。
- 恶意软件 – 在扫描镜像和节点期间检测到恶意软件时发生的事件。
- 敏感数据 – 与扫描期间检测到暴露的敏感数据相关的事件(例如,扫描的镜像、功能和节点)。
- 不合规 – 记录以下事件:
- 检测到不合规镜像。
- 不符合要求的功能,以及这些功能的运行时实现。
- 不符合要求的节点,以及这些节点的运行时操作。
将显示特定时间段内的安全事件列表。您可以选择提供的选项之一或定义您自己的时间段。对于您选择的任何时间段,时间从当天开始算起。默认情况下,显示前一周的事件。
卡巴斯基容器安全会显示扫描期间发生的事件。对于以下组件,事件显示为表格:
- 管理。
- 警报。
- CI/CD。
- 策略。
- 资源。
- 运行时。
- 扫描器。
- API。
对于每个事件,该表格都会指示事件的日期和时间、用户的 IP 地址、描述和状态。对于某些事件,还会列出用户名,例如涉及管理、恶意软件和敏感数据类别的事件。安全威胁级别也会在警报中指明。对于与扫描器组件相关的事件,还会记录解决方案生成的标识符和扫描作业的状态。对于运行时 指示模式(审计或阻止)、集群和部署的 Pod。
卡巴斯基容器安全的安全事件日志在 PostgreSQL 中维护和存储,没有数据保护机制。
页首
将事件导出到 SIEM 系统
卡巴斯基容器安全允许您将事件消息发送到
,以进行收集、分析和对潜在威胁做出后续响应。这些消息包含与安全事件日志中记录的相同类型和类别的事件的数据。在解决方案安装期间配置与 SIEM 系统的集成时,传输有关系统事件的数据。事件消息使用所提供的端口(通常为端口 514)通过 TCP 或 UDP 以 CEF 格式转发到 SIEM 注册服务器。部署解决方案时,在 values.yaml 配置文件中指定以下参数:
CEF_PROTOCOL=tcp
CEF_HOST=<ip 地址>
CEF_PORT=<端口>
传输的消息由以下几部分组成:
- 标头,指定日期、时间和主机名。
- 前缀和 CEF 版本号。
- 设备供应商。
- 解决方案名称。
- 解决方案版本。
- 解决方案生成的唯一事件类型代码。
- 事件描述。
- 事件严重性评估。
- 附加信息,例如设备 IP 地址、事件原因、事件结果以及事件状态。
有关解决方案组件状态的信息
卡巴斯基容器安全可让您查看有关组件和集成状态的信息,以便诊断和改进解决方案组件和集成的第三方服务的运行。对以下组件进行状态监控并提供性能数据:
- 核心组件。信息在组件→核心部分中进行提供。
- 代理。数据显示在组件→代理部分。
- 激活的集成。信息在管理→集成部分中进行提供。
卡巴斯基容器安全组件状态的最新数据也记录在安全事件日志中。
您可以查看有关解决方案组件状态的信息,与授权许可的状态无关(授权许可可以是有效或已过期)。
核心状态
卡巴斯基容器安全内核组件的状态信息以表格的形式显示在组件→内核部分的表格中。
为每个核心组件提供以下数据:
- 组件名称。解决方案显示分发套件中包含的组件。
- Pod 名称(例如,kcs-postgres-0、 kcs-scanner-xxx或kcs-ih-xxx)。
- 状态。解决方案会指定以下状态之一:
- Good – 组件运行正常。
- 警告 – 组件检测到的故障不会妨碍组件的整体实施。
- 错误 – 由于操作不正确,组件无法实施。
如果解决方案将警告或错误状态分配给内核组件,卡巴斯基容器安全将显示组件故障的简要描述。
状态根据安全事件日志中的条目,根据组件的最后一个心跳消息的数据进行分配。
- 包含组件事件记录(例如,错误)的日志。您可以通过点击Pod 日志列的下载日志按钮来下载文本文档格式的日志。
要查看内核组件状态的数据,您必须具有查看核心组件的权限。默认情况下,这些权限被授予IS 管理员角色。
页首
代理状态
卡巴斯基容器安全代理的状态信息以表格形式显示在组件→代理部分中;它也会在所选代理的侧栏中展开。
表格显示代理组内每个代理的以下信息:
- 代理名称。
- 状态。解决方案会指定以下连接状态之一:
- 已连接表示代理已连接并且正常运行。
- 断开连接表示代理已断开连接。
- 待处理表示解决方案正在连接代理。
状态根据安全事件日志中的条目,根据代理的最后一个心跳消息的数据进行分配。
- 版本。解决方案显示代理的当前版本。如果已安装的卡巴斯基容器安全版本有新代理版本可用,则会显示最新的可用代理版本。
- Pod。解决方案显示在其中部署代理的 Pod 的名称。
- 作为节点状态监控的一部分收到的信息。解决方案提供有关网络活动监控和分析操作、容器中的进程以及文件威胁防护的信息。对于每个操作(容器进程、网络连接和文件威胁防护),都会显示其状态:已启用或已禁用。如果某个代理断开连接,则所有节点状态监控操作都变为已禁用状态。
如果代理已连接,则还会显示每个操作的代理的最后状态:成功、不可用或错误。如果显示错误,解决方案还会显示错误和有关详情的简要描述。
仅显示已安装的运行时代理在其中扫描节点的已连接 node-agents 的代理状态。kube-agents 的状态始终为不可用,因为运行时代理未部署到它们。
解决方案根据安全事件日志记录显示此信息。
- 上次连接的日期和时间。
您可以在侧栏中查看有关特定代理的状态的信息。要打开侧边栏,请双击表中的代理名称。卡巴斯基容器安全显示有关所选代理的以下信息:
- 代理名称。
- 代理的 IP 地址。
- 与代理关联的 Pod 的名称。
- 在其中部署代理的节点名称。
- 代理类型。
- 部署代理的节点的版本(主节点或工作节点)。
- 代理连接状态 – 已连接、已断开连接或待处理。
- 代理上次连接的日期和时间。
- 在节点监控状态下,解决方案显示每个节点监控操作(容器进程、网络连接和文件威胁防护)的代理的最后注册状态(成功、不可用或错误)的信息。如果某项操作被禁用以避免节点上出现不必要的负载,则会显示“已禁用”状态。
- 在代理组下,解决方案显示有关选定代理所属的代理组的以下信息:
- 组名称
- 命名空间
- 编排器
要查看有关代理状态的信息,您需要具有查看和管理代理组件的权限。默认情况下,这些权限被授予IS 管理员角色。
页首
集成状态
有关活动的卡巴斯基容器安全集成状态的信息显示在管理→集成部分。解决方案显示以下类型的集成的状态信息:
要查看有关集成状态的信息,您需要以下权限:
- 查看与镜像仓库集成的权限。默认情况下,这些权限被授予 IS 管理员、IS 审计员和 IS 官角色。
- 查看与输出集成的权限。默认情况下,这些权限被授予 IS 管理员和 IS 审计员角色。
- 查看和管理 LDAP 服务器集成的权限。默认情况下,这些权限被授予 IS 管理员角色。
确保组件的安全性和可靠性
为了确保组件的安全性和可靠性,卡巴斯基容器安全中实现了以下自动维护机制:
- 自动删除镜像扫描历史记录和系统事件。如果数据保存超过 90 天,则会被视为过时并被删除。
每小时检查一次过时的条目。
- 连接失败时自动重新连接。卡巴斯基容器安全每 30 秒尝试重新连接一次,直到连接恢复。
与外部仓库和 LDAP 服务器的集成不会执行自动重新连接。它们会在解决方案发送连接请求时连接。
- 扫描失败后重新扫描镜像。扫描仪会重新扫描镜像,直到扫描完所有镜像或超出扫描尝试次数为止。
管理数据积累动态
卡巴斯基容器安全组件运行会导致大量数据积累,需要相当大的磁盘空间资源进行存储。您可以通过限制存储期限和清理数据库来管理数据积累的动态。
解决方案的以下组件对磁盘空间的负载最大:
- 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 兼容的文件存储来存储报告文件。
为了在存储已满时清理存储,集群管理员必须执行以下操作:
- 使用端口转发选项连接到 Minio 文件存储组件(kcs-s3)。
- 下载所有报告,如有必要,将其保存在另一个地方以供进一步存储。
- 删除数据。
如有必要,您可以使用标准集群工具增加持久卷。
ClickHouse DBMS
解决方案的 Сlickhouse 数据库中表的设置需要不断清除。如果基础设施中的负载非常高,资源可能没有时间被清理。在此情况下,您可以使用标准集群工具增加持久卷。
您必须使用解决方案基础设施框架内批准的第三方工具独立组织对可用磁盘空间及其使用动态的监控。
页首
备份和恢复数据
PostgreSQL 机制可用于 PostgreSQL 数据库备份和数据恢复。您可以将该机制应用于卡巴斯基容器安全中的 PostgreSQL 数据库或者您可能拥有的现有 PostgreSQL 数据库。
数据库备份副本是使用 pg_dump 实用程序创建的。备份副本包括所有主要设置和 PostgreSQL 数据库对象,即使数据库是并行使用的。如果有备份副本,则可以快速恢复数据库。
如果没有备份副本,故障可能会导致 PostgreSQL 数据库中存储的信息不可恢复地丢失。
使用 pg_dump 实用程序可将 PostgreSQL 数据库导出为脚本或存档格式(例如 .TAR)。
要从备份副本恢复 PostgreSQL 数据库,可以使用 pg_restore 实用程序。它可以从 pg_dump 实用程序创建的压缩包中恢复 PostgreSQL 数据库。pg_restore 实用程序执行的命令会将数据库恢复到保存数据库时的状态。
页首
联系技术支持
如果您在应用程序文档或应用程序的其他信息来源中找不到问题的解决方案,建议您联系技术支持。技术支持专家将回答您有关安装和使用应用程序的问题。
卡巴斯基为此应用程序的整个生命周期提供技术支持(请参阅产品支持生命周期页面)。联系技术支持前,请先阅读技术支持规则。
您可以通过以下方式之一联系技术支持专家:
- 访问技术支持网站。
- 通过 Kaspersky CompanyAccount 门户向卡巴斯基技术支持提交请求。
应用程序的信息来源
卡巴斯基网站上的卡巴斯基容器安全页面
在卡巴斯基容器安全页面上,您可以查看有关应用程序及其功能和特性的一般信息。
在论坛上讨论卡巴斯基应用程序
如果您的问题不需要立即回答,您可以在我们的论坛上与卡巴斯基专家和其他用户讨论。
在此论坛上,您可以查看现有主题、留下自己的评论以及创建新的讨论主题。
页首
限制和警告
卡巴斯基容器安全 1.2 有许多限制,但对解决方案的运行并无影响:
- 为了确保卡巴斯基容器安全使用的 BPF 程序与众多 Linux 发行版和 Linux 内核版本最大程度兼容,该解决方案使用了 eBPF CO-RE 技术。卡巴斯基容器安全直接与 Linux 主机服务器(节点)的内核配合使用,因此必须遵守以下要求和限制:
- 要使用 eBPF CO-RE,必须使用配置值
CONFIG_DEBUG_INFO_BTF = y
来编译 Linux 内核。大多数 Linux 发行版在构建随发行版提供的内核时都会启用此配置值。 - 如果手动更新内核版本,您必须检查上述配置值是否可用。
对于没有内置支持 eBPF CO-RE 的早期版本的 Linux 发行版和 Linux 内核,卡巴斯基容器安全可确保向后兼容性。
- 要使用 eBPF CO-RE,必须使用配置值
- 如果在主机服务器(节点)上使用手动编译的 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-config 的
data.bpf-filter-priority
参数的值指定为大于 1。我们建议为
data.bpf-filter-priority
参数指定 5。 - 重新启动 cilium-agent pod 以应用指定的设置。
- 在部署了node-agent的集群中,将 ConfigMap cilium-config 的
- 为了访问 Kubernetes,卡巴斯基容器安全使用了 Kubernetes 中提供的动态准入控制器的功能。通过在 Kubernetes API 和 kube-agent 之间配置授权,可以加强集群的安全性,从而确保解决方案的动态准入控制器的运行。授权必须按照 Kubernetes 说明进行配置。
我们建议将 kube-agent 的访问限制为与 Kubernetes API 服务器进行数据交换。为此,必须应用以下 Kubernetes 网络策略:
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
labels:
app: kcs
name: allow-kube-api-to-kube-agent
namespace: {{ $.Release.Namespace }}
spec:
podSelector:
matchLabels:
app: kube-agent
ingress:
- from:
- podSelector:
matchLabels:
component: kube-apiserver
ports:
- protocol: TCP
port: 8443
词汇表
CI/CD
持续集成/持续交付是开发流程中持续软件集成和持续交付的结合。
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
轻型目录访问协议是用于访问目录服务的轻型客户端-服务器协议。
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 集群由多个节点组成。集群中有一个主节点,负责管理集群和运行容器的工作节点。
页首
第三方代码信息
有关第三方代码的信息可在“设置 → 关于平台”下找到。可以在以下文件中找到这些信息:
- legal_notices.txt,可在管理控制台中单击“卡巴斯基容器安全中的第三方代码信息”进行下载
- ftp_legal_notices.txt,可在管理控制台中单击“文件威胁防护组件中第三方代码信息”进行下载
- kuu_legal_notices.txt,可在管理控制台中单击“Kaspersky Update Utility 中的第三方代码信息”进行下载
商标声明
注册商标和服务标志均为其各自拥有者的财产。
Adobe 是 Adobe 在美国和/或其他国家/地区的注册商标或商标。
Amazon 和 AWS 是 Amazon.com, Inc. 或其附属公司的商标。
Apple 和 Safari 是 Apple Inc. 的商标。
Ubuntu 是 Canonical Ltd. 的注册商标。
ClamAV 是 Cisco Systems, Inc. 和/或其附属公司在美国和其他特定国家/地区的注册商标或商标。
Grafana 文字标记和 Grafana 徽标是 Coding Instinct AB 在美国和其他国家/地区的注册商标/服务标记或商标/服务标记,并经 Coding Instinct 许可使用。我们不隶属于 Coding Instinct 或 Grafana 社区,也未得到其支持或赞助。
Docker 和 Docker 徽标是 Docker, Inc. 在美国和/或其他国家/地区的商标或注册商标。Docker, Inc. 和其他方也可能对此处使用的其他术语拥有商标权。
Dropbox 是 Dropbox, Inc. 的商标。
Google、Google Chrome、Chromium 和 Nexus 是 Google LLC 的商标。
S3 是国际商业机器公司在全球许多司法管辖区注册的商标。
LinkedIn 是 LinkedIn Corporation 及其附属公司在美国和/或其他国家/地区的注册商标或商标。
Linux 是 Linus Torvalds 在美国和其他国家/地区的注册商标。
CVE 是 The MITRE Corporation 的注册商标。
OpenAPI 是 Linux Foundation 的商标。
Helm、Kubernetes 是 Linux Foundation 在美国和其他国家/地区的注册商标。
Microsoft、Active Directory、Excel、Microsoft Edge、Windows 和 Windows Server 是 Microsoft 集团公司的商标。
CVE 是 The MITRE Corporation 的注册商标。
Mozilla 和 Firefox 是 Mozilla Foundation 在美国和其他国家/地区的商标。
Oracle 是 Oracle 和/或其附属公司的注册商标。
Red Hat、Red Hat Enterprise Linux 和 CentOS 是 Red Hat, Inc. 或其子公司在美国和其他国家/地区的商标或注册商标。
OpenShift 是 Red Hat, Inc. 在美国和其他国家/地区的注册商标。
Debian 是 Software in the Public Interest, Inc. 的注册商标。
Sonatype Nexus 是 Sonatype, Inc. 的商标。
SUSE 是 SUSE LLC 在美国和其他国家/地区的注册商标。
TWITCH 是 Twitch Interactive, Inc. 或其附属公司的商标。
UNIX 是美国和其他国家/地区的注册商标,由 X/Open Company Limited 独家授权。
ClickHouse 是 YANDEX LLC 的商标。
页首