攻击防护
这些规则针对容器内的常见渗透手法进行防护,例如缓解容器信息泄露、禁用敏感行为等。
缓解信息泄露
mitigate-sa-leak
缓解 ServiceAccount 泄露。
此规则禁止容器进程读取 ServiceAccount 相关的敏感信息,包括 token、namespace、ca 证书。避免 default SA 泄漏、错误配置的 SA 泄漏带来的安全风险,攻击者通过 RCE 漏洞获取 k8s 容器 内的权限后,常倾向于通过泄漏其 SA 信息来进行进一步的渗透入侵活动。
在大部分用户场景中,并不需要使用 SA 与 API Server 进行通信。而默认情况下,k8s 会为不需要与 API Server 通信的 Pod 设置 default SA。
禁止 ServiceAccount 文件的读操作。
- AppArmor
- BPF
mitigate-disk-device-number-leak
缓解宿主机磁盘设备号泄露。
攻击者可能会通过读取容器进程的挂载信息来获取宿主机磁盘设备的设备号,从而用于后续的容器逃逸。
禁止容器进程读取 /proc/[PID]/mountinfo
, /proc/partitions
。
- AppArmor
- BPF
mitigate-overlayfs-leak
缓解容器 overlayfs 路径泄露。
攻击者可能会通过获取容器进程的挂载信息来获取容器进程 rootfs 在宿主机中的 overlayfs 路径,从而用于后续的容器逃逸。
禁止读取 /proc/mounts
、/proc/[PID]/mounts
、/proc/[PID]/mountinfo
文件。
此规则可能会影响容器内 mount 命令的部分功能。
- AppArmor
- BPF
mitigate-host-ip-leak
缓解宿主机 IP 泄露。
攻击者通过 RCE 漏洞获取 k8s 容器内的权限后,会尝试进一步的网络渗透攻击。因此,限制攻击者借此获取宿主机 IP、MAC 地址、网段等敏感信息,可增加攻击者进行网络渗透的难度和成本。
禁止容器进程读取 ARP 地址解析表(/proc/net/arp
、/proc/[PID]/net/arp
等),从而获取宿主机 IP 和 Mac 地址等敏感信息。
- AppArmor
- BPF