首页/云/Docker 容器速查/批量审计高危容器配置
资源与安全50 条

批量审计高危容器配置

一行 inspect 格式化把运行中容器的高危开关拉成清单:特权模式、宿主网络、宿主 PID、附加能力与 socket 挂载,先看见再收敛。

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

审计的思路

批量审计的做法是用一条格式化查询,把运行中容器的高危开关拉成清单:特权模式、宿主网络、宿主进程命名空间、附加能力与套接字挂载。先让现状可见,再按业务必要性逐项收敛。这类开关多数只能在创建时设定,收敛手段通常是停旧建新,而不是热改参数。

基本信息

审计点特权模式、网络模式、进程命名空间、附加能力、挂载列表
时机上线前抽查与定期巡检
处置方式确认业务必要性后重建容器收敛
覆盖范围运行中与已停止的容器都要纳入
输出形式格式化查询生成清单便于分派

典型使用场景

  • 上线前的配置抽查
  • 定期巡检高风险开关
  • 事故复盘时核对当时的容器配置
  • 权限收敛项目的现状摸底
  • 把构建与临时容器一并覆盖检查

批量拉清单

批量拉清单
docker ps -q | xargs -r docker inspect -f '{{.Name}} priv={{.HostConfig.Privileged}} net={{.HostConfig.NetworkMode}} pid={{.HostConfig.PidMode}} caps={{.HostConfig.CapAdd}}'
docker ps -q | xargs -r docker inspect -f '{{.Name}} {{range .Mounts}}{{.Source}}->{{.Destination}} {{end}}' | grep -i docker.sock || echo 'no socket mount'
docker ps -a --filter status=exited --format '{{.Names}}' | head    # 已停止容器也要纳入清单

审计点与收敛方向

审计点风险收敛方向
特权模式权限面接近宿主高权限改为按需放行能力
宿主网络模式端口与网络隔离失效改回自定义网络
宿主进程命名空间可观察宿主进程仅在调试场景保留
套接字挂载可控制宿主运行时用代理收敛可调用接口
高危开关大多只能在创建时设定,收敛手段一般是停旧建新,而不是热改参数。
除了运行中的容器,构建与已停止的临时容器同样要覆盖,它们在切换窗口里也持有这些权限。

巡检节奏建议

  • 上线前对新增服务做一次配置抽查
  • 每周或每月对存量容器做一轮全量清单
  • 审计结果留档,便于对比历次变化与收敛进度
  • 把收敛项纳入变更计划,按业务分组逐步推进
清单拉出来之后要先和业务方确认必要性,再决定是保留、收敛还是重建,避免直接按清单动手。

易错点

  • 只按名字抽查:会漏掉大部分实例,应先全量出清单再按业务分组确认
  • 忽略临时与已停止容器:它们同样持有高权限配置
  • 期望热改参数收敛:这类开关需要重建容器才生效
  • 审计结果不留档:无法对比历次变化,也难以支撑收敛进度的汇报

数据来源与参考

  • Docker 官方 CLI 参考:docker inspect 与 HostConfig 字段(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌