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 代理;基于路径的规则不检查加密的应用请求。短生命周期进程的审计身份关联也可能不完整,解释事件时参照使用说明。