前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >KubeArmor介绍

KubeArmor介绍

作者头像
CNCF
发布2022-01-17 16:46:05
发布2022-01-17 16:46:05
1K0
举报
文章被收录于专栏:CNCFCNCF

KubeArmor 是一个云原生运行时安全强制系统,它在系统级别限制容器和节点的行为(如进程执行、文件访问和网络操作)。

KubeArmor 使用 Linux 安全模块(LSM)操作,这意味着如果 Linux 安全模块(如 AppArmor、SELinux 或 BPF-LSM)在 Linux 内核中启用,它可以在任何 Linux 平台(如 Alpine、Ubuntu 和谷歌的 Container-optimized OS)上工作。KubeArmor 将使用适当的 LSM 来执行所需的策略。

KubeArmor 允许操作人员定义安全策略并将其应用到 Kubernetes。然后,KubeArmor 将自动检测来自 Kubernetes 的安全策略的更改,并将它们强制执行到相应的容器和节点。

如果有任何违反安全策略的情况,KubeArmor 会立即生成带有容器标识的警报。如果操作员有任何日志系统,它也会自动向他们的系统发送警报。

功能概述

在系统级别限制容器和节点的行为

传统的容器安全解决方案(如 Cilium)通过确定它们在网络级别的容器间关系(如服务流)来保护容器。与此相反,KubeArmor 通过指定容器所需的操作(例如,一个特定的进程应该只被允许访问敏感文件)来防止容器中的恶意或未知行为。KubeArmor 还允许操作员根据节点标识来限制节点的行为。

在运行时对容器强制执行安全策略

通常,安全策略(例如 Seccomp 和 AppArmor 配置文件)是在 Kubernetes 的 pod 定义中静态定义的,它们在创建时应用于容器。然后,不允许在运行时更新安全策略。

为了避免这个问题,KubeArmor 单独维护安全策略,这意味着安全策略不再与容器紧密耦合。然后,KubeArmor 根据给定容器和安全策略的标签,将安全策略直接应用到每个容器的 Linux 安全模块(LSM)中。

生成容器感知的警报和系统日志

LSM 没有任何与容器相关的信息;因此,它们仅根据系统元数据(例如,用户 ID、组 ID 和进程 ID)生成警报和系统日志。因此,很难找出导致策略违规的容器。

为了解决这个问题,KubeArmor 使用了一个基于 eBPF 的系统监控器,该监控器跟踪容器中的进程生命周期,并在 LSM 为容器中的任何策略违规生成警报和系统日志时,将系统元数据转换为容器标识。

为策略定义提供易于使用的语义

KubeArmor 提供了监视容器进程生命周期并基于它们做出策略决策的能力。一般来说,拒绝一个特定的动作要容易得多,但是在拒绝所有动作的同时只允许特定动作就困难得多了。KubeArmor 管理与处理此类策略决策相关的内部复杂性,并为策略语言提供简单的语义。

支持容器之间的网络安全实施

KubeArmor 的目的是保护容器本身,而不是容器之间的交互。然而,使用 KubeArmor,用户可以添加策略,这些策略可以在网络系统调用级别应用策略设置(例如,bind()、listen()、accept()和 connect()),从而在一定程度上控制容器之间的交互。

入门

请看以下文件:

  • 入门指南[1]
  • 容器的安全策略规范[2]
  • 容器安全策略示例[3]
  • 节点安全策略规范[4]
  • 节点安全策略举例[5]

如果你想要作出贡献,请同时参阅以下文件:

  • 贡献指南[6]
  • 开发指南[7]
  • 技术路线图[8]

参考资料

[1]入门指南: https://github.com/kubearmor/KubeArmor/blob/main/getting-started/deployment_guide.md

[2]容器的安全策略规范: https://github.com/kubearmor/KubeArmor/blob/main/getting-started/security_policy_specification.md

[3]容器安全策略示例: https://github.com/kubearmor/KubeArmor/blob/main/getting-started/security_policy_examples.md

[4]节点安全策略规范: https://github.com/kubearmor/KubeArmor/blob/main/getting-started/host_security_policy_specification.md

[5]节点安全策略举例: https://github.com/kubearmor/KubeArmor/blob/main/getting-started/host_security_policy_examples.md

[6]贡献指南: https://github.com/kubearmor/KubeArmor/blob/main/contribution/contribution_guide.md

[7]开发指南: https://github.com/kubearmor/KubeArmor/blob/main/contribution/development_guide.md

[8]技术路线图: https://github.com/kubearmor/KubeArmor/blob/main/contribution/technical_roadmap.md

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 功能概述
    • 在系统级别限制容器和节点的行为
    • 在运行时对容器强制执行安全策略
    • 生成容器感知的警报和系统日志
    • 为策略定义提供易于使用的语义
    • 支持容器之间的网络安全实施
  • 入门
    • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档