所谓的"新姿势之Docker Remote API未授权访问漏洞分析和利用"

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 最近乌云上出现了一篇文章 http://drops.wooyun.org/papers/15892。这种作者就一个好,写文章比谁都快,可惜从来不愿意踏踏实实的分析,非得搞个大新闻,把Docker/Swarm批判一番。 先说结论,Docker采用C/S结构,但是它的client和server用的是同

最近乌云上出现了一篇文章 http://drops.wooyun.org/papers/15892。这种作者就一个好,写文章比谁都快,可惜从来不愿意踏踏实实的分析,非得搞个大新闻,把Docker/Swarm批判一番。

先说结论,Docker采用C/S结构,但是它的client和server用的是同一个binary文件: docker,根据参数不同执行不同的代码分支,所以很多人可能都不清楚Docker是C/S结构的。Docker的Server端,也叫作Docker Daemon,运行命令/path/to/docker daemon启动,启动后才能执行其他的docker命令,诸如docker info..., docker run...

docker client和docker daemon怎么通信呢?默认情况下,docker daemon监听unix domain socket /var/run/docker.sock,client和daemon通过这个domain socket通信。这个文件的模式是这样的

srw-rw---- 1 root docker 0 May 14 21:16 /var/run/docker.sock
AI 代码解读

显然只有root和docker组的用户才能访问。总结起来就是,默认情况下,只有本机上的root和docker组用户才能操作docker。

那么乌云上的“漏洞”是怎么回事呢?除了通过unix domain socket这种模式,还可以让Docker Daemon把服务暴露在tcp端口上,比如2375,这样就可以在网络上操作Docker了。把服务暴露在网络上带来了一个问题:安全。Docker本身没有身份认证的功能,只要网络上能访问到服务端口,就可以操作Docker。

对这个问题,Docker官方早就给了完整的解决方案,甚至用了数篇文档,不断强调安全性,某些人就是视而不见,连文档都不好好读。 https://docs.docker.com/engine/security/https/

耍大刀把自己砍死了还要怪刀???

阿里云容器服务也是Swarm+Docker的模式,Swarm配置了tls,注意,这里的tls真不是只为了解决中间人攻击。容器服务有一套完整的证书体系,用户连接自己Swarm的时候,需要下载证书,使用证书才能和swarm建立tls连接,没有证书连连接都见不了,扯什么蛋的中间人攻击。说完了Swarm,再说Docker Daemon。Docker Daemon完全不监听任何网络端口,而是反向连接到Swarm,你问怎么做到的?我只能说一句无可奉告。你可能会问:证书被盗了怎么办?没关系,只要到控制台上吊销再重新生成证书就行(妈妈再也不用担心证书安全问题了)

你们啊,毕竟还是too young,too simple,还得学习一个。

太公
+关注
目录
打赏
0
0
0
1
78611
分享
相关文章
1688商品数据实战:API搜索接口开发与供应链分析应用
本文详细介绍了如何通过1688开放API实现商品数据的获取与应用,涵盖接入准备、签名流程、数据解析存储及商业化场景。开发者可完成智能选品、价格监控和供应商评级等功能,同时提供代码示例与问题解决方案,确保法律合规与数据安全。适合企业开发者快速构建供应链管理系统。
购物平台数据抓取实战指南:从API到深度分析
本指南介绍如何通过API接口抓取淘宝、京东、拼多多等电商平台的数据,涵盖API选择、注册配置、数据抓取与处理、深度分析等内容,帮助企业和开发者挖掘数据价值,支持市场分析和决策制定。
商品详情API接口的优势分析与应用价值
在数字化时代,商品详情API接口为商家和开发者提供了实时更新、高效集成、丰富功能、安全稳定、易于扩展及提升用户体验的解决方案,助力提高运营效率、降低成本并增强市场竞争力。
(API接口系列)商品详情数据封装接口json数据格式分析
在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦!
|
6月前
|
Docker + .NET API:简化部署和扩展
Docker + .NET API:简化部署和扩展
78 1
淘宝 API:关键词搜商品列表接口,助力商家按价格销量排序分析数据
此接口用于通过关键词搜索淘宝商品列表。首先需在淘宝开放平台注册并创建应用获取API权限,之后利用应用密钥和访问令牌调用接口。请求参数包括关键词、页码、每页数量、排序方式及价格区间等。返回结果含总商品数量及具体商品详情。使用时需注意签名验证及官方文档更新。
|
6月前
|
最完美的扩展Docker + .NET API:简化部署和扩展
最完美的扩展Docker + .NET API:简化部署和扩展
144 0
探索React状态管理:Redux的严格与功能、MobX的简洁与直观、Context API的原生与易用——详细对比及应用案例分析
【8月更文挑战第31天】在React开发中,状态管理对于构建大型应用至关重要。本文将探讨三种主流状态管理方案:Redux、MobX和Context API。Redux采用单一存储模型,提供预测性状态更新;MobX利用装饰器语法,使状态修改更直观;Context API则允许跨组件状态共享,无需第三方库。每种方案各具特色,适用于不同场景,选择合适的工具能让React应用更加高效有序。
137 0
Uno Platform大揭秘:如何在你的跨平台应用中,巧妙融入第三方库与服务,一键解锁无限可能,让应用功能飙升,用户体验爆棚!
【8月更文挑战第31天】Uno Platform 让开发者能用同一代码库打造 Windows、iOS、Android、macOS 甚至 Web 的多彩应用。本文介绍如何在 Uno Platform 中集成第三方库和服务,如 Mapbox 或 Google Maps 的 .NET SDK,以增强应用功能并提升用户体验。通过 NuGet 安装所需库,并在 XAML 页面中添加相应控件,即可实现地图等功能。尽管 Uno 平台减少了平台差异,但仍需关注版本兼容性和性能问题,确保应用在多平台上表现一致。掌握正确方法,让跨平台应用更出色。
102 0