卡巴斯基容器安全

限制和警告

卡巴斯基容器安全 2.0 有许多限制,但对解决方案的运行并无影响:

  • 使用 PostgreSQL 11.* 或更高版本时,您需要将uuid-ossppgcrypto扩展与卡巴斯基容器安全数据库一起使用。
  • 卡巴斯基容器安全更新的持续时间取决于可用数据库的容量。如果您的数据库包含许多包含镜像扫描结果、漏洞描述和已接受风险的表格记录,则更新可能需要几个小时。

    我们建议在活动时间之外更新卡巴斯基容器安全。

  • 如果您需要运行多次镜像漏洞扫描,我们建议您禁用扫描器策略中的错误配置扫描选项,因为此操作可能会消耗大量资源,特别是在处理大尺寸镜像时。
  • 如果在扫描仪操作的扫描仪策略中启用了错误配置控制,则扫描时间会显著增加。包含最多 1000 个 YAML、YML 和 JSON 格式的配置文件的镜像已成功测试,但无法保证扫描仪对包含超过 1000 个配置文件的镜像进行正确操作。
  • 如果镜像大小超过 10 GB,则不建议扫描镜像中是否存在敏感数据。
  • 在尝试将解决方案与其他容器安全应用程序同时运行的情况下,目前已发现卡巴斯基容器安全将无法正常运行。如果正在使用的其他应用程序干扰和/或集成到容器的操作中,文件威胁防护组件可能无法正常运行。您可以在扫描器策略中暂时禁用文件威胁防护组件。

    我们建议您不要将卡巴斯基容器安全与其他容器安全应用程序同时使用。

  • 要使用随卡巴斯基容器安全提供的网络策略,请确保满足以下条件:
    • 在用于部署和安装解决方案的 Helm Chart 中,networkPolicies.create 参数设置为 true(默认值)。
    • 部署解决方案的集群中的网络插件支持 Kubernetes 网络策略。如果不支持网络策略,卡巴斯基容器安全将创建 NetworkPolicies 对象,但这些对象不会被应用,也不会过滤流量。

      如果缺少或未应用 NetworkPolicies对象,则解决方案的安全级别较低。

  • 卡巴斯基容器安全仅支持对 linux/amd64 架构的镜像进行正确扫描。扫描多平台镜像时,扫描器会自动尝试应用 linux/amd64 架构选项。
  • 为了确保卡巴斯基容器安全使用的 BPF 程序与众多 Linux 发行版和 Linux 内核版本最大程度兼容,该解决方案使用了 eBPF CO-RE 技术。卡巴斯基容器安全直接与 Linux 主机服务器(节点)的内核配合使用,因此必须遵守以下要求和限制:
    • 要使用 eBPF CO-RE,必须使用配置值CONFIG_DEBUG_INFO_BTF = y来编译 Linux 内核。大多数 Linux 发行版在构建随发行版提供的内核时都会启用此配置值。
    • 如果手动更新内核版本,您必须检查上述配置值是否可用。

    对于没有内置支持 eBPF CO-RE 的早期版本的 Linux 发行版和 Linux 内核,卡巴斯基容器安全可确保向后兼容性。

  • 如果在主机服务器(节点)上使用手动编译的 Linux 内核,则必须在内核配置期间启用以下设置,以确保使用容器运行时配置文件进行运行时监控:
    • CONFIG_BPF=y
    • CONFIG_BPF_SYSCALL=y
    • CONFIG_BPF_EVENTS=y
    • CONFIG_NET_CLS_BPF=m
    • CONFIG_NET_ACT_BPF=m

    为了确保更好的 BPF 代码性能,我们建议启用以下设置:
    CONFIG_BPF_JIT = y
    CONFIG_HAVE_BPF_JIT = y

  • 如果要使用卡巴斯基容器安全容器运行时配置文件与 CNI Cilium 同时进行运行时监控(节点代理 Pod 与 cilium-agent 部署在同一主机服务器上),必须执行以下操作:
    • 在部署了 node-agent 的集群中,将 ConfigMap cilium-configdata.bpf-filter-priority 参数的值指定为大于 1。

      我们建议为 data.bpf-filter-priority 参数指定 5。

    • 重新启动 cilium-agent pod 以应用指定的设置。
  • 为了访问 Kubernetes,卡巴斯基容器安全使用了 Kubernetes 中提供的动态准入控制器的功能。通过在 Kubernetes API 和 kube-agent 之间配置授权,可以加强集群的安全性,从而确保解决方案的动态准入控制器的运行。授权必须按照 Kubernetes 说明进行配置。