全部产品

【漏洞公告】Docker Remote API 未授权访问漏洞

更新时间:2017-11-08 14:43:07

漏洞描述

Docker 是一个开源的应用容器引擎,允许开发者将其应用和依赖包打包到一个可移植的容器中,并发布到任何流行的 Linux 机器上,以实现虚拟化。

Docker 的 Remote API 因配置不当可以未经授权进行访问,从而被攻击者恶意利用。

攻击者无需认证即可访问到 Docker 数据,可能导致敏感信息泄露,黑客也可以恶意删除 Docker 上的数据;攻击者可进一步利用 Docker 自身特性,直接访问宿主机上的敏感信息,或对敏感文件进行修改,最终完全控制服务器。

影响范围

对公网开放,且未启用认证的 Docker Remote API 接口。

修复方案

  • 修改 Docker Remote API 服务默认参数

    注意:该操作需要重启 Docker 服务才能生效。

    修改 Docker 的启动参数:

    • 定位到 DOCKER_OPTS 中的 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 接口。

  • 使用阿里巴巴云盾检测及防护。云盾 态势感知 支持该漏洞的检测和防护,您可以到云盾控制台开通并使用。