作者:飞走不可
链接:http://t.cn/AiKWt2hK
一、事出
近期乌云漏洞平台等科技新闻,爆出Docker虚拟化 端口漏洞,本着热爱开源,实践动手的精神,我也去尝试了下,漏洞严重性确实很高,可以拿到root 登陆账户。
二、还原
2.1 通过扫描,我们找到了一些主机,下面是其中一台运行了docker 主机的服务器,并且开了ssh 端口。
知道了22端口后,我们后面会利用此端口来使用root免密码登陆该主机。
2.2 我们可以利用2375 端口做什么?
看到上面的信息后,我们就知道,可以管理该主机上的docker 容器了,启动、停止、创建、下载镜像、甚至删除上面的容器。。。
2.3 容器都是和物理机隔离的,那怎么利用它来进入到真实机呢?
我们先在自己的linux 机器中生成一个密钥对,将此公钥注入到远程docker server 主机的 文件中,进行免密码登陆的。
公钥里的内容:
下面进入到docker 容器中,并复制刚刚生成的公钥文件到剪贴板中,追加到文件中,如下:
现在也许你知道,后面是什么了,没错,这台运行着docker 服务的物理主机已经沦陷了。我们尝试登陆下:
.......
三、后记
关于端口漏洞的,类似的还有前段时间的redis,现在是docker。端口无故的对外开放,本身就是一种风险。而且是无关的端口。此次的2375是有 docker swarm 远程api 开放的。完全可以对外禁止访问该端口。如此简单的就被我这样的小白给利用了,而且还拿到了root 权限。
本文章旨在提示各大公司的领导,运维人员,及公司开发人员。注重服务器的安全,不重要的端口尽量对内网开放。快去检查你们的docker 服务器吧(放在公网的,内网的就算了)。
几大提示:
1. 利用系统 iptables 禁止任务主机访问2375,或者只允许公司内部访问。
2. 检查系统有没有其它无关业务的端口,禁止。
3. 系统禁止root 直接登陆。可以利用普通用户登录后,用su切换。
4. 东西虽然新,但是不安全因素也会增加。所以还需要多测试呀。
5. 关注系统登录日志安全。进去了很多台主机,这么长时间了,现在还可以登陆,说明了什么?
以上测试仅仅针对的是国外的服务器进行的。主要用于提示工作人员,注重服务器安全。(该服务器的端口2375已经被我禁止了。。^_^)
- END -
推荐阅读:
一文搞懂蓝绿发布、灰度发布和滚动发布
运维工程师不得不看的经验教训和注意事项
Shell分析服务器日志,解锁各种新姿势
Nginx 性能优化有这篇就够了!
搞懂 Prometheus Operator
玩转 Grafana 可视化系统
Linux性能分析工具汇总合集
做工程师想年薪30w,先看你会不会K8S ?
K8S 到底要不要掌握?
年轻时偷的懒,迟早是要还的。点亮