首页/云/Docker 容器速查/seccomp 系统调用过滤
资源与安全50 条

seccomp 系统调用过滤

seccomp 按白名单限制容器可调用的系统调用:Docker 默认 profile 已挡下部分高风险调用,可按业务定制或临时关闭(不推荐)。

Docker 容器速查云更新于 2026-10-13

seccomp 起什么作用

seccomp 按允许清单限制容器可调用的系统调用。容器运行时默认已启用一套内置配置,挡下部分高风险调用;需要时可以按业务定制配置,或在受控调试场景下临时关闭。排查出现「操作不被允许」而日志又没有更多线索的问题时,先确认是否被这一层拦截。

基本信息

默认状态内置允许清单自动启用
自定义方式通过安全选项指定配置文件
关闭方式使用不受限取值(有风险)
检查方式读取环境信息里的安全选项
建议做法从默认配置出发逐条放行

典型使用场景

  • 加固基线中确认系统调用拦截处于启用状态
  • 为特殊业务定制允许清单
  • 排查操作被拒绝且日志没有线索的问题
  • 排障期临时放开,之后尽快恢复默认
  • 审计存量容器是否被关闭了拦截

查看与定制

查看与定制
docker info -f '{{json .SecurityOptions}}'                       # 查看启用的安全选项
docker run -d --security-opt seccomp=/etc/docker/seccomp/api.json --name api app/api:1.4.2
docker inspect -f '{{json .HostConfig.SecurityOpt}}' api          # 核对容器的安全选项

配置形态与含义

项目说明注意
默认配置内置的允许清单默认已启用
自定义配置按业务裁剪从默认配置逐条放行更稳
不受限取值关闭拦截仅限受控调试场景
核对方式检查容器的安全选项字段确认配置是否真的生效
自定义配置建议从默认配置出发逐条放行,比自行编写更稳妥;放行项要与运行时的调用需求核对,例如即时编译场景。
出现操作被拒绝且日志没有更多线索时,先确认是否被系统调用过滤拦截,再决定具体放行哪一项。

使用建议

  • 新服务默认沿用内置配置,不做额外放宽
  • 需要定制时先复现问题,明确缺失的是哪一类调用
  • 放行项逐条增加并复测,避免一次放开过宽
  • 定期审计是否有容器被关闭了该层防护并恢复

易错点

  • 直接使用不受限配置:等于放弃一层隔离能力,只应出现在受控调试场景并尽快恢复
  • 自定义配置写得过窄:应用启动即失败,报错信息不直观,排查成本高
  • 放行项与运行时需求不匹配:即时编译或特定语言运行时需要的调用被挡下,运行时报错
  • 改完不核对实际取值:配置未生效却以为已经加固

数据来源与参考

  • Docker 官方文档:Seccomp security profiles(docs.docker.com/engine/security/seccomp)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌