# Docker

LLMS index: [llms.txt](/wikis/llms.txt)

---

适用范围：Docker Engine、单机容器部署、通过 Docker 承载中间件/应用的场景。

不适用标识说明：

- 使用 `【不适用】` 明确标记现场可判定为不适用的控制点。
- 判定依据采用 GB/T 28448-2019“按测评对象实际功能、是否直接处理数据、是否具备该类安全机制判定”的原则；Docker 主要是容器运行平台，很多业务性控制点需转由容器内应用或上层平台测评。

## 基础信息

**核查命令**：

```bash
docker version
docker info
docker ps -a
docker inspect <容器名>
```

- 备注：先确认 Docker 版本、数据根目录、容器清单、镜像来源、宿主机路径映射、网络模式和日志驱动。
- 预期证据：版本截图、容器清单截图、镜像截图、宿主机路径与端口截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Client: Docker Engine - Community
</span></span><span class="line"><span class="cl"> Version:           24.0.7
</span></span><span class="line"><span class="cl">Server: Docker Engine - Community
</span></span><span class="line"><span class="cl"> Engine Version:    24.0.7
</span></span><span class="line"><span class="cl"> Containers: <span class="m">6</span>  Images: <span class="m">14</span>
</span></span><span class="line"><span class="cl">CONTAINER ID   IMAGE                    STATUS         NAMES
</span></span><span class="line"><span class="cl">a1b2c3d4e5f6   redis:7.2-alpine         Up <span class="m">30</span> days     demo-redis
</span></span><span class="line"><span class="cl">f6e5d4c3b2a1   nginx:1.24-alpine        Up <span class="m">30</span> days     demo-web
</span></span></code></pre></div>
</details>



## 身份鉴别

### A. Docker API 与管理入口

**核查命令**：

```bash
ps -ef | grep dockerd
ss -lntp | grep 2375\\|2376
```

- 备注：重点核查远程 Docker API 是否开放、是否启用 TLS、是否仅限管理网访问。
- 预期证据：监听端口截图、启动参数截图、TLS 配置截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">root  <span class="m">1122</span>  dockerd
</span></span><span class="line"><span class="cl">ss 输出：
</span></span><span class="line"><span class="cl">LISTEN <span class="m">0</span> <span class="m">128</span> 127.0.0.1:2376  users:<span class="o">((</span><span class="s2">&#34;dockerd&#34;</span>,pid<span class="o">=</span>1122<span class="o">))</span>
</span></span><span class="line"><span class="cl">（未监听 0.0.0.0:2375，远程 API 走 TLS 2376）
</span></span></code></pre></div>
</details>



### B. 容器内管理账户

**核查命令**：

```bash
docker exec <容器名> cat /etc/passwd
```

- 备注：容器中的中间件管理账户仍需按其自身主脚本核查；本脚本重点关注 Docker 平台层。
- 【不适用】若测评对象仅限定为 Docker Engine 平台层，则“容器内业务账号身份鉴别”不属于 Docker 平台本体控制范围，可判定为不适用并转由容器内组件测评。依据：GB/T 28448-2019 要求按测评对象边界实施判定。
- 预期证据：容器用户截图、平台说明、访谈记录。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker <span class="nb">exec</span> demo-web cat /etc/passwd（节选）
</span></span><span class="line"><span class="cl">root:x:0:0:root:/root:/bin/sh
</span></span><span class="line"><span class="cl">appuser:x:1000:1000::/home/appuser:/sbin/nologin
</span></span><span class="line"><span class="cl">（容器内以非 root 用户 appuser 运行主进程）
</span></span></code></pre></div>
</details>



### C. 身份源与访问认证

**核查命令**：

```bash
docker info | grep -i -E "Username|Registry"
```

- 备注：如接入私有仓库、统一认证平台或 CI/CD 发布平台，应同步核查账号、令牌和权限策略。
- 【不适用】若现场未启用远程 Docker API、未接入私有仓库认证、也不存在独立 Docker 平台账号体系，则“平台账户口令复杂度/锁定”可判定为不适用。理由：平台本体不存在独立交互式账号体系。依据：GB/T 28448-2019 身份鉴别控制点按实际鉴别机制判定。
- 预期证据：仓库登录材料、平台账户截图、制度。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Username: demoregistry
</span></span><span class="line"><span class="cl">Registry: https://registry.demo.local/v2/
</span></span><span class="line"><span class="cl">docker info <span class="p">|</span> grep Registry 生效
</span></span></code></pre></div>
</details>



### D. 运维鉴别链路

**核查命令**：

```bash
grep -R "hosts" /etc/docker 2>/dev/null
```

- 备注：平台运维应通过堡垒机、VPN、TLS 客户端证书等方式保护。
- 预期证据：堡垒机材料、TLS 证书、远程运维制度。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">/etc/docker/daemon.json: <span class="s2">&#34;hosts&#34;</span>: <span class="o">[</span><span class="s2">&#34;unix:///var/run/docker.sock&#34;</span>, <span class="s2">&#34;tcp://192.168.10.5:2376&#34;</span><span class="o">]</span>
</span></span><span class="line"><span class="cl">（TCP 监听仅绑定内网地址并启用 TLS）
</span></span></code></pre></div>
</details>



## 访问控制

### A. 容器权限与特权运行

**核查命令**：

```bash
docker inspect <容器名> | grep -i -E "Privileged|CapAdd|User|ReadonlyRootfs"
```

- 备注：避免无必要的 `--privileged`、宿主机目录过度挂载、`root` 运行。
- 预期证据：容器配置截图、运行参数截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker inspect demo-web（节选）
</span></span><span class="line"><span class="cl"><span class="s2">&#34;Privileged&#34;</span>: false,
</span></span><span class="line"><span class="cl"><span class="s2">&#34;CapAdd&#34;</span>: null,
</span></span><span class="line"><span class="cl"><span class="s2">&#34;User&#34;</span>: <span class="s2">&#34;appuser&#34;</span>,
</span></span><span class="line"><span class="cl"><span class="s2">&#34;ReadonlyRootfs&#34;</span>: true,
</span></span></code></pre></div>
</details>



### B. 网络与端口暴露

**核查命令**：

```bash
docker port <容器名>
docker inspect <容器名> | grep -i HostPort
```

- 备注：区分管理端口和业务端口，限制对外暴露范围。
- 预期证据：端口映射截图、网络策略截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">demo-web -&gt; 0.0.0.0:8443-&gt;8443/tcp
</span></span><span class="line"><span class="cl"><span class="s2">&#34;HostPort&#34;</span>: <span class="s2">&#34;8443&#34;</span>
</span></span><span class="line"><span class="cl">（仅映射业务必需端口，未暴露管理端口）
</span></span></code></pre></div>
</details>



### C. 镜像与容器最小化

**核查命令**：

```bash
docker images
docker exec <容器名> ls /
```

- 备注：未使用镜像、测试容器、调试工具容器应清理；容器镜像尽量最小化。
- 预期证据：镜像清单截图、处置说明。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">REPOSITORY          TAG          SIZE
</span></span><span class="line"><span class="cl">redis               7.2-alpine   41MB
</span></span><span class="line"><span class="cl">nginx               1.24-alpine  66MB
</span></span><span class="line"><span class="cl">demo-app            v2.3.1       210MB
</span></span><span class="line"><span class="cl">docker <span class="nb">exec</span> demo-web ls /（节选）
</span></span><span class="line"><span class="cl">bin  etc  home  opt  usr  var
</span></span></code></pre></div>
</details>



### D. 宿主机文件权限

**核查命令**：

```bash
ls -ld /var/lib/docker /etc/docker 2>/dev/null
```

- 备注：数据目录、配置目录和 `docker.sock` 权限需重点关注。
- 预期证据：权限截图、运行用户截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">ls -ld /var/lib/docker /etc/docker
</span></span><span class="line"><span class="cl">drwx--x--- <span class="m">12</span> root root /var/lib/docker
</span></span><span class="line"><span class="cl">drwx------  <span class="m">2</span> root root /etc/docker
</span></span><span class="line"><span class="cl">-rw-------  <span class="m">1</span> root root daemon.json
</span></span></code></pre></div>
</details>



## 安全审计

### A. 守护进程日志

**核查命令**：

```bash
journalctl -u docker --no-pager | tail -n 50
```

- 备注：核查 Docker 守护进程日志、启动异常、配置变更和 API 访问痕迹。
- 预期证据：日志截图、服务状态截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">journalctl -u docker --no-pager <span class="p">|</span> tail（节选）
</span></span><span class="line"><span class="cl">Aug <span class="m">24</span> 09:12:01 host systemd<span class="o">[</span>1<span class="o">]</span>: Starting Docker Application Container Engine...
</span></span><span class="line"><span class="cl">Aug <span class="m">24</span> 09:12:02 host dockerd<span class="o">[</span>1122<span class="o">]</span>: <span class="nv">time</span><span class="o">=</span><span class="s2">&#34;2026-08-24T09:12:02&#34;</span> <span class="nv">level</span><span class="o">=</span>info <span class="nv">msg</span><span class="o">=</span><span class="s2">&#34;API listen on /var/run/docker.sock&#34;</span>
</span></span><span class="line"><span class="cl">Aug <span class="m">24</span> 10:03:11 host dockerd<span class="o">[</span>1122<span class="o">]</span>: <span class="nv">time</span><span class="o">=</span>... <span class="nv">level</span><span class="o">=</span>warning <span class="nv">msg</span><span class="o">=</span><span class="s2">&#34;Health check for container demo-redis error&#34;</span> 
</span></span></code></pre></div>
</details>



### B. 容器日志

**核查命令**：

```bash
docker logs --tail 50 <容器名>
```

- 备注：容器业务日志应结合容器内中间件主脚本继续核查。
- 预期证据：日志样例、日志驱动配置截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker logs --tail <span class="m">50</span> demo-redis（节选）
</span></span><span class="line"><span class="cl">1:M <span class="m">24</span> Aug <span class="m">2026</span> 10:01:02.001 * Ready to accept connections tcp
</span></span><span class="line"><span class="cl">1:M <span class="m">24</span> Aug <span class="m">2026</span> 10:04:33.118 <span class="c1"># Background saving terminated with success</span>
</span></span><span class="line"><span class="cl">1:M <span class="m">24</span> Aug <span class="m">2026</span> 10:06:01.554 * DB saved on disk
</span></span></code></pre></div>
</details>



### C. 日志留存与集中化

**核查命令**：

```bash
docker info | grep -i "Logging Driver"
```

- 备注：日志驱动为 `json-file`、`journald`、`syslog` 等时，需确认保留周期和汇聚策略。
- 预期证据：日志驱动截图、平台材料、制度。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Logging Driver: json-file
</span></span><span class="line"><span class="cl">（daemon.json 中配置 max-size<span class="o">=</span>50m、max-file<span class="o">=</span>5，防止磁盘占满）
</span></span></code></pre></div>
</details>



### D. 运维行为审计

**核查命令**：

```bash
last
journalctl --no-pager | grep docker | tail -n 50
```

- 备注：Docker 平台运维一般需依赖堡垒机、主机审计、CI/CD 平台综合判断。
- 预期证据：堡垒机截图、主机审计截图、平台工单。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">last <span class="p">|</span> head
</span></span><span class="line"><span class="cl">deployer pts/1  192.168.20.31  Fri Aug <span class="m">22</span> 14:20 - 15:02
</span></span><span class="line"><span class="cl">journalctl <span class="p">|</span> grep docker（节选）
</span></span><span class="line"><span class="cl">Aug <span class="m">22</span> 14:25:03 host sudo: deployer : <span class="nv">TTY</span><span class="o">=</span>pts/1 <span class="p">;</span> <span class="nv">COMMAND</span><span class="o">=</span>/usr/bin/docker restart demo-web
</span></span></code></pre></div>
</details>



## 数据完整性

### A. 镜像与配置完整性

**核查命令**：

```bash
docker inspect <镜像名或容器名>
cat /etc/docker/daemon.json 2>/dev/null
```

- 备注：镜像来源、仓库签名、配置变更和发布审批应可追溯。
- 预期证据：镜像来源截图、仓库材料、变更记录。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker inspect demo-web（节选）
</span></span><span class="line"><span class="cl"><span class="s2">&#34;Image&#34;</span>: <span class="s2">&#34;sha256:9c7f...&#34;</span>,
</span></span><span class="line"><span class="cl"><span class="s2">&#34;RestartPolicy&#34;</span>: <span class="o">{</span><span class="s2">&#34;Name&#34;</span>: <span class="s2">&#34;unless-stopped&#34;</span><span class="o">}</span>
</span></span><span class="line"><span class="cl">cat /etc/docker/daemon.json
</span></span><span class="line"><span class="cl"><span class="o">{</span><span class="s2">&#34;log-driver&#34;</span>:<span class="s2">&#34;json-file&#34;</span>,<span class="s2">&#34;log-opts&#34;</span>:<span class="o">{</span><span class="s2">&#34;max-size&#34;</span>:<span class="s2">&#34;50m&#34;</span>,<span class="s2">&#34;max-file&#34;</span>:<span class="s2">&#34;5&#34;</span><span class="o">}</span>,<span class="s2">&#34;registry-mirrors&#34;</span>:<span class="o">[</span><span class="s2">&#34;https://registry.demo.local&#34;</span><span class="o">]}</span>
</span></span></code></pre></div>
</details>



### B. 挂载与数据一致性

**核查命令**：

```bash
docker inspect <容器名> | grep -i -E "Mounts|Source|Destination"
```

- 备注：重点关注配置卷、数据卷、日志卷挂载是否清晰、是否可恢复。
- 预期证据：挂载截图、架构说明。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker inspect demo-web <span class="p">|</span> Mounts（节选）
</span></span><span class="line"><span class="cl"><span class="s2">&#34;Source&#34;</span>: <span class="s2">&#34;/data/app/config&#34;</span>, <span class="s2">&#34;Destination&#34;</span>: <span class="s2">&#34;/etc/app&#34;</span>, <span class="s2">&#34;Mode&#34;</span>: <span class="s2">&#34;ro&#34;</span>
</span></span><span class="line"><span class="cl"><span class="s2">&#34;Source&#34;</span>: <span class="s2">&#34;/data/logs/web&#34;</span>, <span class="s2">&#34;Destination&#34;</span>: <span class="s2">&#34;/var/log/nginx&#34;</span>
</span></span><span class="line"><span class="cl">（挂载目录宿主侧权限已最小化，config 只读）
</span></span></code></pre></div>
</details>



## 数据保密性

### A. Docker API 与仓库加密

**核查命令**：

```bash
grep -R "insecure-registries\\|tlscacert\\|tlscert\\|tlskey" /etc/docker 2>/dev/null
```

- 备注：避免明文 API 和不安全仓库；私有仓库通信建议启用 TLS。
- 预期证据：TLS 配置截图、仓库 HTTPS 截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">/etc/docker/daemon.json: <span class="s2">&#34;insecure-registries&#34;</span>: <span class="o">[]</span>,
</span></span><span class="line"><span class="cl">/etc/docker/daemon.json: <span class="s2">&#34;tlscacert&#34;</span>: <span class="s2">&#34;/etc/docker/ca.pem&#34;</span>,
</span></span><span class="line"><span class="cl">/etc/docker/daemon.json: <span class="s2">&#34;tlscert&#34;</span>: <span class="s2">&#34;/etc/docker/demo-host-cert.pem&#34;</span>,
</span></span><span class="line"><span class="cl">/etc/docker/daemon.json: <span class="s2">&#34;tlskey&#34;</span>: <span class="s2">&#34;/etc/docker/demo-host-key.pem&#34;</span>,
</span></span></code></pre></div>
</details>



### B. 敏感环境变量与密钥

**核查命令**：

```bash
docker inspect <容器名> | grep -i -E "Env|Secret"
```

- 备注：环境变量中明文口令、令牌、数据库连接串应重点关注。
- 预期证据：脱敏截图、密钥管理说明。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker inspect demo-web <span class="p">|</span> Env（节选）
</span></span><span class="line"><span class="cl"><span class="s2">&#34;REDIS_PASSWORD=***&#34;</span>,
</span></span><span class="line"><span class="cl"><span class="s2">&#34;APP_TOKEN=***&#34;</span>
</span></span><span class="line"><span class="cl">（敏感变量经 docker secret/env-file 注入且文件权限 600，未在镜像层固化）
</span></span></code></pre></div>
</details>



## 备份恢复

### A. 配置与编排文件备份

**核查命令**：

```bash
find /etc/docker -type f 2>/dev/null
```

- 备注：应覆盖 `daemon.json`、镜像拉取配置、编排文件、挂载目录配置。
- 预期证据：配置备份截图、备份策略。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">/etc/docker/daemon.json
</span></span><span class="line"><span class="cl">/etc/docker/ca.pem
</span></span><span class="line"><span class="cl">/etc/docker/certs.d/registry.demo.local/ca.crt
</span></span><span class="line"><span class="cl">/etc/docker/key.json
</span></span></code></pre></div>
</details>



### B. 镜像、卷和日志备份

**核查命令**：

```bash
docker volume ls
docker inspect <容器名> | grep -i Mounts
```

- 备注：应说明镜像获取方式、卷备份方式、日志归档方式。
- 预期证据：卷清单截图、备份目录截图、平台材料。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">local</span>      demo-data      bridge
</span></span><span class="line"><span class="cl">docker inspect demo-web <span class="p">|</span> Mounts（节选）
</span></span><span class="line"><span class="cl"><span class="s2">&#34;Type&#34;</span>: <span class="s2">&#34;volume&#34;</span>, <span class="s2">&#34;Name&#34;</span>: <span class="s2">&#34;demo-data&#34;</span>, <span class="s2">&#34;Destination&#34;</span>: <span class="s2">&#34;/var/lib/redis
</span></span></span></code></pre></div>
</details>



### C. 恢复与重建

**核查命令**：

```bash
docker ps -a
```

- 备注：容器场景可通过镜像重建、卷恢复、编排重启证明恢复能力。
- 预期证据：恢复手册、演练记录、CI/CD 或编排材料。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">CONTAINER ID   IMAGE                 STATUS                      NAMES
</span></span><span class="line"><span class="cl">a1b2c3d4e5f6   redis:7.2-alpine      Up <span class="m">30</span> days                  demo-redis
</span></span><span class="line"><span class="cl">d9c8b7a6f5e4   old-demo-app:v1       Exited <span class="o">(</span>0<span class="o">)</span> <span class="m">32</span> days ago      demo-app-old
</span></span><span class="line"><span class="cl">（存在长期 Exited 容器，应定期清理）
</span></span></code></pre></div>
</details>



## 剩余信息保护

### A. 停用容器与旧镜像

**核查命令**：

```bash
docker ps -a
docker images
```

- 备注：已停用容器、历史镜像、测试镜像和调试容器应及时清理。
- 预期证据：清理前后截图、处置说明。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker ps -a：见上，1 个 Exited 旧容器
</span></span><span class="line"><span class="cl">docker images：
</span></span><span class="line"><span class="cl">old-demo-app   v1   210MB   <span class="m">8</span> months ago
</span></span><span class="line"><span class="cl">（存在 <span class="m">8</span> 个月前的旧镜像，应纳入清理计划）
</span></span></code></pre></div>
</details>



### B. 凭据残留

**核查命令**：

```bash
docker inspect <容器名> | grep -i -E "password|token|secret"
```

- 备注：镜像层、环境变量、挂载文件中的敏感信息残留应重点核查。
- 预期证据：脱敏截图、整改说明。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker inspect demo-web <span class="p">|</span> grep -i password/token（节选）
</span></span><span class="line"><span class="cl"><span class="s2">&#34;REDIS_PASSWORD=***&#34;</span>
</span></span><span class="line"><span class="cl">（未发现明文敏感值；环境变量经受控 env-file 注入）
</span></span></code></pre></div>
</details>



## 个人信息保护

### A. 容器日志与环境变量中的个人信息

**核查命令**：

```bash
docker logs --tail 100 <容器名>
```

- 备注：Docker 层面通常不直接处理个人信息，但容器日志和环境变量可能承载敏感数据。
- 【不适用】若测评对象仅为 Docker 引擎平台，且不直接保存业务日志、业务数据或个人信息，相关个人信息处理完全发生在容器内应用，则该点对 Docker 平台层可判定为不适用。依据：GB/T 28448-2019 个人信息保护控制点针对实际处理个人信息的对象。
- 预期证据：日志脱敏截图、访谈记录。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker logs --tail <span class="m">100</span> demo-web（节选）
</span></span><span class="line"><span class="cl">192.168.1.23 - - <span class="o">[</span>24/Aug/2026:10:01:11 +0800<span class="o">]</span> <span class="s2">&#34;GET /healthz HTTP/1.1&#34;</span> <span class="m">200</span> <span class="m">2</span>
</span></span><span class="line"><span class="cl">192.168.1.45 - - <span class="o">[</span>24/Aug/2026:10:01:15 +0800<span class="o">]</span> <span class="s2">&#34;POST /api/login HTTP/1.1&#34;</span> <span class="m">200</span> <span class="m">96</span>
</span></span><span class="line"><span class="cl">（容器日志经 json-file 驱动轮转并采集至日志平台）
</span></span></code></pre></div>
</details>



### B. 数据卷与导出控制

**核查命令**：

```bash
docker inspect <容器名> | grep -i Mounts
```

- 备注：挂载目录、导出脚本和镜像打包流程应关注个人信息扩散风险。
- 【不适用】若 Docker 平台不提供面向运维人员的个人信息查询、导出、共享功能，且卷内数据由容器内应用独立管理，则该点对平台层可判定为不适用。依据：GB/T 28448-2019 按对象实际业务处理功能判定。
- 预期证据：挂载目录截图、权限说明、制度。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker inspect demo-web <span class="p">|</span> Mounts（节选）
</span></span><span class="line"><span class="cl"><span class="s2">&#34;Source&#34;</span>: <span class="s2">&#34;/data/logs/web&#34;</span>, <span class="s2">&#34;Destination&#34;</span>: <span class="s2">&#34;/var/log/nginx&#34;</span>, <span class="s2">&#34;Mode&#34;</span>: <span class="s2">&#34;rw&#34;</span>
</span></span><span class="line"><span class="cl">（日志目录持久化到宿主机，便于留存与备份）
</span></span></code></pre></div>
</details>



## 入侵防范

### A. Docker API 与高危暴露

**核查命令**：

```bash
ss -lntp | grep 2375\\|2376
ps -ef | grep dockerd
```

- 备注：重点核查未加密远程 API、无认证开放、`docker.sock` 暴露和越权调用风险。
- 预期证据：端口截图、启动参数截图、权限截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">ss -lntp <span class="p">|</span> grep 2375<span class="p">|</span><span class="m">2376</span>
</span></span><span class="line"><span class="cl">LISTEN <span class="m">0</span> <span class="m">128</span> 127.0.0.1:2376 users:<span class="o">((</span><span class="s2">&#34;dockerd&#34;</span>,pid<span class="o">=</span>1122<span class="o">))</span>
</span></span><span class="line"><span class="cl">ps -ef <span class="p">|</span> grep dockerd
</span></span><span class="line"><span class="cl">root  <span class="m">1122</span>  dockerd --tlsverify
</span></span><span class="line"><span class="cl">（远程 API 未开放 <span class="m">2375</span> 明文端口）
</span></span></code></pre></div>
</details>



### B. 特权容器与逃逸风险

**核查命令**：

```bash
docker inspect <容器名> | grep -i -E "Privileged|CapAdd|PidMode|NetworkMode|ReadonlyRootfs"
```

- 备注：应重点核查特权容器、宿主机目录敏感挂载、过高能力和逃逸面。
- 预期证据：容器配置截图、挂载截图、处置说明。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker inspect demo-web（节选）
</span></span><span class="line"><span class="cl"><span class="s2">&#34;Privileged&#34;</span>: false,
</span></span><span class="line"><span class="cl"><span class="s2">&#34;CapAdd&#34;</span>: null,
</span></span><span class="line"><span class="cl"><span class="s2">&#34;PidMode&#34;</span>: <span class="s2">&#34;host&#34;</span> 未出现,
</span></span><span class="line"><span class="cl"><span class="s2">&#34;NetworkMode&#34;</span>: <span class="s2">&#34;bridge&#34;</span>,
</span></span><span class="line"><span class="cl"><span class="s2">&#34;ReadonlyRootfs&#34;</span>: true,
</span></span></code></pre></div>
</details>



### C. 镜像与组件漏洞风险

**核查命令**：

```bash
docker images
docker info
```

- 备注：关注基础镜像长期未更新、来源不明、存在高危漏洞或未经基线加固的情况。
- 预期证据：镜像清单截图、漏洞扫描/整改记录。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker images
</span></span><span class="line"><span class="cl">redis  7.2-alpine  41MB
</span></span><span class="line"><span class="cl">nginx  1.24-alpine 66MB
</span></span><span class="line"><span class="cl">docker info（节选）
</span></span><span class="line"><span class="cl"> Server Version: 24.0.7
</span></span><span class="line"><span class="cl"> Storage Driver: overlay2
</span></span><span class="line"><span class="cl"> Live Restore Enabled: <span class="nb">true</span>
</span></span></code></pre></div>
</details>



### D. 运行时防护与告警

**核查命令**：

```bash
journalctl -u docker --no-pager | tail -n 50
```

- 备注：容器入侵防范通常依赖主机防护、镜像扫描、运行时安全平台和日志告警联动。
- 预期证据：运行时安全平台截图、告警记录、主机防护材料。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">journalctl -u docker --no-pager <span class="p">|</span> tail（节选）
</span></span><span class="line"><span class="cl">Aug <span class="m">24</span> 09:12:01 host systemd<span class="o">[</span>1<span class="o">]</span>: Started Docker Application Container Engine.
</span></span><span class="line"><span class="cl">Aug <span class="m">24</span> 09:12:02 host dockerd<span class="o">[</span>1122<span class="o">]</span>: <span class="nv">level</span><span class="o">=</span>info <span class="nv">msg</span><span class="o">=</span><span class="s2">&#34;Loading containers: start.&#34;</span>
</span></span><span class="line"><span class="cl">（Docker 运行日志进入 journald 并由 rsyslog 上送日志平台，保留 <span class="m">180</span> 天）
</span></span></code></pre></div>
</details>
