Docker 是一个开源的应用容器引擎,允许开发者将其应用和依赖包打包到一个可移植的容器中,并发布到任何流行的 Linux 机器上,以实现虚拟化。
Docker 的 Remote API 因配置不当可以未经授权进行访问,从而被攻击者恶意利用。
攻击者无需认证即可访问到 Docker 数据,可能导致敏感信息泄露,黑客也可以恶意删除 Docker 上的数据;攻击者可进一步利用 Docker 自身特性,直接访问宿主机上的敏感信息,或对敏感文件进行修改,最终完全控制服务器。
对公网开放,且未启用认证的 Docker Remote API 接口。
修改 Docker Remote API 服务默认参数。
注意:该操作需要重启 Docker 服务才能生效。
修改 Docker 的启动参数:
tcp://0.0.0.0:2375
,将0.0.0.0
修改为127.0.0.1
2375
改为自定义端口为 Remote API 设置认证措施。参照 官方文档 配置 Remote API 的认证措施。
注意:该操作需要重启 Docker 服务才能生效。
修改 Docker 服务运行账号。请以较低权限账号运行 Docker 服务;另外,可以限制攻击者执行高危命令。
注意:该操作需要重启 Docker 服务才能生效。
设置防火墙策略。如果正常业务中 API 服务需要被其他服务器来访问,可以配置安全组策略或 iptables 策略,仅允许指定的 IP 来访问 Docker 接口。
使用阿里巴巴云盾检测及防护。云盾 态势感知 支持该漏洞的检测和防护,您可以到云盾控制台开通并使用。
在文档使用中是否遇到以下问题
更多建议
匿名提交