限制和警告
限制和警告
2024年7月4日
ID 275679
卡巴斯基容器安全 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
Did you find this article helpful?
What can we do better?
Thank you for your feedback! You're helping us improve.
Thank you for your feedback! You're helping us improve.