基于规则的容器化环境安全监控
1. 容器与安全
在容器化环境中,Linux 内核的控制组(cgroups)和命名空间(Namespaces)是容器的基本组成部分,它们分别用于资源限制(CPU、内存、IO)和进程隔离。目前 Linux 提供了七种命名空间,包括 cgroups、IPC、网络、挂载、PID、用户和 UTS。
除了这些基本机制,大多数容器运行时还支持一些已有的 Linux 安全机制,具体如下:
- 强制访问控制(MAC) :可以使用 AppArmor 和 SELinux,它们基于 Linux 安全模块(LSM)框架,能够限制进程的权限,减轻攻击带来的危害。
- 安全计算模式(seccomp) :可实现一个基本的沙箱,只允许少数系统调用,能针对性地禁止不必要的系统调用。不过,这需要深入了解特定容器化工作负载所需的系统调用,并针对每个容器进行调整。Docker 默认的 seccomp 配置文件仅禁用了 300 多个系统调用中的 44 个,以在保持广泛应用兼容性的同时提供一定的保护。
- 用户命名空间(User Namespaces) :可将容器内的根用户重新映射为容器外的非特权用户。
- Linux 能力(Linux capabilities) :将超级用户的权限划分为不同的单元,可以单独激活或停用。但在粒度方面,能力不如 seccomp,例如 SYS_ADMIN 能力包含大量功能,可能会被用于停用其他安全措施。
- CVE 扫描器 :对容器镜像进行静态漏洞
超级会员免费看
订阅专栏 解锁全文
2409

被折叠的 条评论
为什么被折叠?



