跳到主要内容
版本:v0.10

AppArmor

AppArmor 通过 Linux profile 限制文件访问、程序执行、capabilities 和 socket 等操作。节点已经支持 AppArmor,且需要内置加固规则或基于路径的控制时,可以从这里开始。

AppArmor 支持在内核层限制 socket 操作;如果还需要按目标 IP 或端口控制连接,可选择 BPF

使用前提

节点必须启用 AppArmor LSM,最低内核要求为 4.15。检查安装说明以及所有可能承载工作负载的节点和运行时。启用 vArmor 组件不会自动启用缺失的内核 LSM。

编写策略

spec.policy.enforcer 设置为 AppArmor。可以从 EnhanceProtect 和少量内置规则开始,或使用自定义 AppArmor 规则。使用实验建模或允许列表前,先阅读策略模式

按照编写策略选择目标并部署,使用示例可作为参考。

验证执行效果

检查策略及其引用的 ArmorProfile,然后检查实际 Pod 的 AppArmor securityContext/annotation。在指定业务容器中验证一个正常操作成功、一个被禁止操作失败。

审计行为取决于模式和规则限定符。观察模式需要同时考虑执行与审计开关,参见处置与审计审计日志

更新与边界

已附加 profile 的规则可以动态更新。为原本未受保护的容器附加强制访问控制器是另一个操作:检查工作负载模板,按需创建新容器,并在 Agent 加载 profile 后验证行为。

AppArmor 不能替代硬件虚拟化或 HTTP 代理;基于路径的规则不检查加密的应用请求。短生命周期进程的审计身份关联也可能不完整,解释事件时参照使用说明