容器威胁
Docker 和镜像中的风险
容器威胁 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
什么是容器
容器将应用程序及其依赖项打包在一起,使其能够在任何地方以相同方式运行。
Docker 等工具让容器广受欢迎,因为容器启动速度快,并且与虚拟机相比更加轻量。
共享内核的风险
与虚拟机不同,同一主机上的容器会共享操作系统内核。
如果攻击者逃逸出容器,共享的内核可能成为通往主机及其他容器的通道。
不可信的镜像
许多团队会从公共镜像仓库拉取镜像。
来源不明的作者提供的镜像可能包含恶意软件、后门或隐藏的加密货币挖矿程序。务必了解镜像的来源。
存在漏洞的基础镜像
即使是受信任的镜像,如果过时,也可能存在风险。
数月前构建的基础镜像可能在其库中携带已知漏洞,而这些漏洞早已由上游修复。
内置在镜像中的机密信息
一个常见错误是将密码或 API 密钥硬编码到镜像中。
任何拉取镜像的人都可以读取这些机密信息。检查各层即可轻松发现它们:
docker history myapp:latest以 root 身份运行
默认情况下,容器内的进程通常以 root 身份运行。
如果该进程遭到入侵,攻击者就会获得容器内的 root 级权限,使任何逃逸都更加危险。
过于宽泛的权限
授予额外权限的标志参数会扩大攻击面。
以特权模式运行容器会移除大部分隔离:
docker run --privileged myapp除非绝对必要,否则请避免这样做。
暴露的端口和服务
容器经常会发布网络端口。
不必要的开放端口(例如暴露在互联网中的数据库)会为攻击者提供直接目标。仅发布确实需要的端口。
不安全的镜像仓库
如果镜像通过未加密或未经身份认证的镜像仓库传输,攻击者就可以在传输过程中篡改镜像。
请使用配备 TLS 和访问控制的受信任镜像仓库。
资源滥用
没有限制的容器可能会耗尽主机上的所有 CPU 和内存。
这会让其他工作负载遭受拒绝服务。请设置资源限制,防止一个容器耗尽其他容器所需的资源。
全貌
容器风险贯穿整个生命周期:
- 构建所基于的镜像
- 拉取镜像的镜像仓库
- 运行时使用的权限
- 与容器共享的主机
每个阶段都需要关注。
快速检查
为什么容器逃逸通常比 VM 逃逸更加严重?
总结
容器威胁包括不可信镜像、过时的基础镜像、内置机密信息、以 root 身份运行、特权模式、暴露的端口以及共享内核。
了解这些风险,是保护容器部署安全的第一步。
常见问题解答
「容器威胁」课时是免费的吗?
是的 — 「容器威胁」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「容器威胁」这节课中我会学到什么?
Docker 和镜像中的风险 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「容器威胁」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。