Seccomp(secure computing)限制进程可以执行的系统调用。在 strict
模式下,进程只能使用少量调用;在现有文件描述符上,这些调用历来包括 read、write、
_exit 和 sigreturn。对于大多数现代应用程序而言,这种限制有意设置得过于狭窄。
filter 模式会附加一个 classic BPF 程序,用于检查系统调用编号和选定的参数。过滤器可以
允许调用、返回 errno 拒绝调用、终止进程、记录日志、进行跟踪,或将决策委托给 userspace
notifier。过滤器具有单调性:一旦安装,就不能放宽。无特权进程通常必须先设置
no_new_privs,然后才能安装过滤器,从而防止进程之后通过获得更高权限来绕过过滤器。
容器运行时会将 seccomp 作为一层防御,与 namespaces、capabilities 以及
mandatory-access-control 策略配合使用。
评论
在 GitHub 上阅读或评论(发表评论需要登录)