策略模式
概览
您可以通过 VarmorPolicy 或 VarmorClusterPolicy 对象的 spec.policy.mode
字段来指定策略的运行模式。不同 enforcers 支持的模式如下表所示。
运行模式 | AppArmor | BPF | Seccomp | 说明 |
---|---|---|---|---|
AlwaysAllow | ✔️ | ✔️ | ✔️ | 容器上不施加任何强制访问控制规则。 |
RuntimeDefault | ✔️ | ✔️ | ✔️ | 通过使用 containerd 的默认配置文件来提供基础防护。详见 cri-containerd.apparmor.d 和 seccomp_default。 |
EnhanceProtect | ✔️ | ✔️ | ✔️ | - 预定义的内置规则开箱即用。 - 可通过可定制的接口根据特定需求定制保护策略。 - 支持仅报警和报警拦截模式,用于监控和审计。 - 基于 RuntimeDefault 或 AlwaysAllow 模式生成 AppArmor/BPF 配置文件。 |
BehaviorModeling | ✔️ | 🏗️ | ✔️ | - 利用 BPF & Audit 技术对工作负载进行行为建模 - 行为模型保存在对应的 ArmorProfileModel 对象中 - 不支持动态切换运行模式 - 详情请参阅 BehaviorModeling 模式 |
DefenseInDepth | ✔️ | 🏗️ | ✔️ | - 通过行为模型或自定义配置文件提供默认拒绝保护。 - 提供自定义规则接口和仅报警模式,方便开发和管理配置文件。 - 详情请参阅 DefenseInDepth 模式 |
注意:
- vArmor 策略支持动态切换运行模式(限 EnhanceProtect, RuntimeDefault, AlwaysAllow, DefenseInDepth)、更新沙箱规则,而无需重启工作负载。但当使用 Seccomp enforcer 时,需要重启工作负载来使 Seccomp Profile 的变更生效。
- vArmor 支持修改策略为其添加新的 enforcer,新添加的 enforcer 仅对新创建的 Workloads 生效。
- vArmor 支持修改策略移除 BPF enforcer。
实验特性
📄️ BehaviorModeling 模式
收集行为数据并为目标工作负载构建安全配置文件。
📄️ DefenseInDepth 模式
基于行为模型保护工作负载。