渗透测试修复笔记 - 02 Docker Remote API漏洞

需要保持 Docker 服务运行并且不希望影响其他使用 Docker 部署的服务,同时需要禁止外网访问特定的 Docker API 端口(2375):通过一下命令来看漏洞

bash 复制代码
docker -H tcp://ip地址:2375 images

修改Docker配置以限制访问

  1. 修改daemon.json配置文件

    • 打开 /etc/docker/daemon.json。如果文件不存在,则创建它(vi /etc/docker/daemon.json)。

    • 修改 host 设置,以确保 Docker 不是在 0.0.0.0(即对所有网络接口开放)上监听。
      设置为仅在本地接口监听,外部网络无法访问。

      json 复制代码
      {
        "hosts": ["unix:///var/run/docker.sock", "tcp://127.0.0.1:2375"]
      }
  2. 重启 Docker 服务

    • 应用更改后,需要重启 Docker 服务:

      bash 复制代码
      sudo systemctl restart docker

通过防火墙规则限制访问

不更改 Docker 配置,可通过设置防火墙规则来限制对2375端口的访问。

  1. 添加防火墙规则

    • 使用 firewalld 或其他防火墙工具设置规则,以仅允许来自特定IP或内部网络的访问:

      bash 复制代码
      sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="内部网络IP/掩码" port port="2375" protocol="tcp" accept'
  2. 重载防火墙配置

    • 应用更改:

      bash 复制代码
      sudo firewall-cmd --reload

或者,直接把防火墙改端口给关了(生产环境采取的方式)

bash 复制代码
firewall-cmd --zone=public --remove-port=2375/tcp --permanent && firewall-cmd --reload
相关推荐
Patrick_Wilson2 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy2 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭2 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩3 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵4 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1114 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽5 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
LinXunFeng6 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
武子康7 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn8610 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker