什么是Seccomp?

Secure computing mode (seccomp):Linux kernel的一个特性。在Docker中利用这个特性限制container中可以做哪些操作。

Seccomp在Ubuntu 16.04+上可用

在docker运行的host kernel上执行可以查看kernel是否enable了Seccomp:

$ grep CONFIG_SECCOMP= /boot/config-$(uname -r)
CONFIG_SECCOMP=y

Profile

Profile中配置了拒绝使用哪些系统调用,允许使用哪些:
* SCMP_ACT_ERRNO: default action, Permission Denied
* SCMP_ACT_ALLOW: Fully allowed
* Specific rules for individual system calls: personality, socket

默认的seccomp profile禁用了300+个系统调用中的44个。推荐使用默认的profile,如果启动container时通过命令行参数(--security-opt seccomp=/path/to/seccomp/profile.json),可以用自己的profile覆盖系统默认的。使用--security-opt seccomp=unconfined默认的可禁用seccomp profile。

Reference

https://docs.docker.com/engine/security/seccomp/

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐