本篇是第六部分“安全篇”的最后一篇,前面三篇,我为你介绍了镜像及容器安全相关的内容以及 Linux 的 LSM 如何为容器安全保驾护航。本篇,我们将重点放在 Linux 内核中 seccomp 与 Docker 之间的联系。
前面两篇,我分别为你介绍了如何使用 Linux capabilities 和 Linux LSM 模块为 Docker 容器提供安全的能力。本篇,我们将继续容器安全的话题,聊聊 Linux seccomp 与 Docker 之间的关系。
注意:本文所用的 Linux 内核为 5.4.10-100.fc30.x86_64,不同版本内核略有差异。
seccomp 基础
引用 Wiki 上的一小段关于 seccomp 的描述:
seccomp 其实是 secure computing mode 的缩写,是 Linux 内核中的一个安全计算工具。seccomp 允许进程单向转换为“安全状态”,在此状态下的进程,除了 exit(),sigreturn(),read() 和 write() 已打开的文件描述符外等系统调用外,不允许执行其他任何系统调用。
如果该进程尝试进行其他的系统调用,则内