解决方案安装
卡巴斯基容器安全组件以镜像的方式在卡巴斯基容器安全制造商仓库中提供,并部署为容器。
卡巴斯基容器安全平台的安装包括以下步骤:
- 安装基本业务逻辑模块和扫描器组件。
- 首次启动管理控制台。
- 配置受控集群节点上的代理组和代理部署。
安装后,应该准备好运行解决方案:
- 配置与镜像仓库的集成。
- 配置与输出的集成。
- 配置安全策略。
- 添加容器运行时配置文件。
- 配置文件威胁防护参数。
- 配置与镜像签名验证器的集成。
- 配置与 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 |
|
使用卡巴斯基授权许可服务器检查和更新有关当前授权许可的信息。 |