mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-08-10 08:27:25 +00:00
Add runC CVEs and AuthZ plugin guidance
This commit is contained in:
@@ -14,10 +14,10 @@ Docker 守护进程在启动容器时,会在后台为容器创建一套独立
|
||||
|
||||
尽管命名空间提供了很好的隔离性,但我们必须认识到:**所有的容器依然共享同一个宿主机的 Linux 内核**。
|
||||
|
||||
这意味着,一旦宿主机的内核存在提权漏洞(如著名的 Dirty COW 漏洞),攻击者有可能通过突破 Namespace 的限制,直接在内核层面执行恶意代码,从而实现“容器逃逸”。
|
||||
这意味着,一旦宿主机的内核存在提权漏洞(如著名的 Dirty COW 漏洞),攻击者有可能通过突破 Namespace 的限制,直接在内核层面执行恶意代码,从而实现”容器逃逸”。
|
||||
|
||||
> [!WARNING]
|
||||
> 为了缓解内核漏洞带来的威胁,生产环境务必保持宿主机 Linux 内核的及时修补与更新,或者借助诸如 gVisor、Kata Containers 等提供了独立内核的安全容器技术。
|
||||
> 为了缓解内核漏洞带来的威胁,生产环境务必保持宿主机 Linux 内核的及时修补与更新,或者借助诸如 gVisor、Kata Containers 等提供了独立内核的安全容器技术。同时,需要及时修补容器运行时(如 runC)的漏洞。2025 年 11 月披露的一系列 runC 容器逃逸漏洞(CVE-2025-31133、CVE-2025-52565、CVE-2025-52881)就表明,即使内核保持更新,运行时层的缺陷仍然可能导致容器隔离被突破。
|
||||
|
||||
通过命名空间,Docker 也能限制进程从外部环境获取信息。
|
||||
例如,由于进程环境被隔离,进程在内部其实是无法感知到外部宿主机的存在的。它既不能获取其他容器的进程列表,也无法通过网络与其他系统进行交互(除非经过配置)。
|
||||
|
||||
@@ -76,6 +76,33 @@ $ docker version
|
||||
```
|
||||
安装并暴露相应的配置后,该用户的环境将能独立启动属于他自己的 Docker Daemon。即使由于某些未知 0-Day 漏洞使得攻击者突破了容器,他们也只会受限于 `testuser` 这个非特权用户所在的有限系统环境内。
|
||||
|
||||
### 18.3.4 结语
|
||||
### 18.3.4 授权插件(Authorization Plugin)与访问策略
|
||||
|
||||
在企业环境中,对 Docker 守护进程的访问控制往往不仅限于文件系统权限,还需要更细粒度的授权策略。**Authorization Plugin** 机制允许在 API 层级对请求进行拦截和审批。
|
||||
|
||||
常见的授权插件包括:
|
||||
- **OPA/Conftest**:开放策略引擎,支持声明式策略定义。
|
||||
- **Prisma Cloud(Twistlock)**:商业容器安全平台。
|
||||
- 自定义脚本:根据请求内容(镜像、命令、用户等)做出允许/拒绝决定。
|
||||
|
||||
#### 配置 Authorization Plugin
|
||||
|
||||
在 `daemon.json` 中指定授权插件:
|
||||
|
||||
```json
|
||||
{
|
||||
"authorization-plugins": ["myauthorizer"]
|
||||
}
|
||||
```
|
||||
|
||||
此后,Docker 守护进程会在执行任何 API 请求前,将请求转发给授权插件进行审批。
|
||||
|
||||
> [!CAUTION]
|
||||
> 重要的安全事项:在配置 Authorization Plugin 时,务必确保插件本身的可靠性和及时更新。2026 年 4 月披露的 CVE-2026-34040 表明,不完整的 AuthZ 验证可能导致攻击者绕过授权检查并获得宿主机访问权限。建议:
|
||||
> - 定期审计授权插件的日志,检查是否有可疑的请求被错误允许。
|
||||
> - 使用来自可信来源的授权插件,并保持其版本最新。
|
||||
> - 将授权检查结果与其他安全措施(如 TLS 认证、Rootless 模式)结合使用,构建纵深防御。
|
||||
|
||||
### 18.3.5 结语
|
||||
|
||||
保障 Docker 服务端的安全主要是做减法:关闭不必要的网络监听点,严管 Socket 访问权限。而一旦基础系统条件允许,**毫不犹豫地在生产环境启用 Rootless 模式** 将是一项划算的安全加固选择。
|
||||
|
||||
@@ -412,7 +412,7 @@ jobs:
|
||||
|
||||
- name: Run Trivy vulnerability scan
|
||||
# 安全提醒:2026 年 3 月 Trivy GitHub Actions 遭受供应链攻击,
|
||||
# 76 个版本标签被劫持。务必使用不可变的 commit SHA 引用,而非可变标签。
|
||||
# 75 个版本标签被劫持。务必使用不可变的 commit SHA 引用,而非可变标签。
|
||||
# 使用前请到 https://github.com/aquasecurity/trivy-action/releases 核实 SHA 对应正确版本。
|
||||
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # v0.35.0
|
||||
with:
|
||||
|
||||
Reference in New Issue
Block a user