惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
博客园 - 司徒正美
云风的 BLOG
云风的 BLOG
C
Cybersecurity and Infrastructure Security Agency CISA
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
Securelist
S
Security Affairs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LINUX DO - 热门话题
博客园 - 三生石上(FineUI控件)
T
Threatpost
T
The Blog of Author Tim Ferriss
C
CERT Recently Published Vulnerability Notes
IT之家
IT之家
P
Palo Alto Networks Blog
Microsoft Azure Blog
Microsoft Azure Blog
Spread Privacy
Spread Privacy
Cyberwarzone
Cyberwarzone
腾讯CDC
L
LangChain Blog
Know Your Adversary
Know Your Adversary
C
CXSECURITY Database RSS Feed - CXSecurity.com
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
Intezer
T
Tor Project blog
AWS News Blog
AWS News Blog
T
Tenable Blog
NISL@THU
NISL@THU
Security Latest
Security Latest
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
MongoDB | Blog
MongoDB | Blog
MyScale Blog
MyScale Blog
D
DataBreaches.Net
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
量子位
美团技术团队
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
The GitHub Blog
The GitHub Blog
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog

Docker

Homelab 部署的服务用 latest 还是固定版本? - V2EX 有啥基于 docker 的类似于微信文件传输助手的东西吗? 有没有什么比较优雅且轻量化的 web 端微信解决方案? V2EX 请问 OrbStack 界面下不能修改参数吗? - V2EX V2EX mac 上面的 docker desktop 都更新些啥啊 - V2EX 阿里云轻量服务器中拉取 Docker 镜像问题 - V2EX 现在大家如何拉取 Docker 镜像? - V2EX 轻量级 OCR 文字识别服务 netnr/liteocr - V2EX 现在官方 docker 拉镜像必须 TUN+全局了吗 - V2EX 请教一下佬们,在使用 1panel 的情况下,有没有必要再部署 Traefik 作为 Docker 统一网关? - V2EX 创建 docker 镜像时为了防止结束,运行 sleep infinity 和 tail -f /dev/null 哪个更好 - V2EX 2025 年了,大家公司的服务器用的是 debian 还是 ubuntu 呀 - V2EX Watchtower 停止维护 - V2EX NAS 上部署自制 docker 程序发生网络连接相关问题 - V2EX 请问下现代的 docker 版本,是无法再使用 centos6.8 这类容器了么? - V2EX 现在是不推荐使用 阿里云或腾讯云或高校的 dokcer 镜像源吗? 为什么? 一直挂梯子用 docker, 不了解现在的情况了 - V2EX 私有化部署了一套公司的系统,如何有效保护容器里面的文件不被客户拿到 - V2EX Docker 29.1 不能解析外部 dns - V2EX 求助 docker 中安装 portainer 不能连接 docker.sock - V2EX docker ps 显示正在运行,但是服务已经 down 了 - V2EX 公司禁用 Docker - V2EX V2EX macos 下使用 orbstack 如何才能不挂载目录? - V2EX Docker 镜像的 UID、GID 管理都这么阴间的么? - V2EX 请教一个 Docker/Traefik 的网路问题 - V2EX docker compose 在生产上用的多吗,小规模 - V2EX 2025 年了,感觉 podman 已经比 docker 好用太多了,就差一个杀手级的 GUI 配置了 - V2EX ttl.sh 被阿里做掉了,怎么办? - V2EX 万物皆 docker 部署,真的有必要吗? - V2EX 只做镜像 harbor nexus 两个软件对比选择哪个呢? - V2EX 在容器里运行 VPN,如何接管其他容器的流量作为默认出口? - V2EX 请教一个关于 docker 间的通信问题 - V2EX [求助] Debian12 修改 docker 的 daemon.json 文件后不生效 - V2EX docker compose 那个内部 DNS 到底是怎么工作的 - V2EX 小白求助, Docker 报错 132 是什么问题呢? - V2EX 自己搭建一个 docker 镜像站 - V2EX WSL 中无法访问 registry-1.docker.io/v2/,没法用 docker 拉取 image,试了很多方法都不行,累了 - V2EX 怎么对 docker 的容器限速 - V2EX V2EX 请教大家一个关于 docker 网络的问题 - V2EX 为什么国内镜像源都不更新国外的镜像? - V2EX 请问 docker 镜像是否存在版本兼容问题? - V2EX 有没有可行的 reproducible 容器环境方案? - V2EX 不安装 docker 有办法直接下载镜像 tar 包吗? - V2EX 在国内服务器上使用 sing-box 方便的拉取 docker 镜像 - V2EX 有没有带权限的 docker 管理工具 - V2EX Openp2p 远程访问飞牛 NAS 内应用不成功,请有经验的老铁指教。 - V2EX 有没有让 docker 容器休眠的方法 - V2EX 生产环境部署疑问 运行 docker 容器需要指定一个版本吗 - V2EX
docker 重磅安全漏洞 - V2EX
laminux29 · 2025-07-25 · via Docker

这是一个创建于 324 天前的主题,其中的信息可能已经有所发展或是发生改变。

我们在使用 docker 时,一般会使用 -p / --publish 来映射端口到宿主机,然后在 iptables 的 INPUT Chain 里开一条白名单规则,允许指定的 IP 或 IP 范围来访问这个端口。

问题是,很多朋友测试能访问后,很容易偷懒,不再测试别的 IP 是否能访问了。docker 的重磅安全漏洞也就在这里出现。如果你继续测试,你会发现,不在白名单的 IP 地址,也能访问这个端口。

原因在于 docker 自行管理 iptables ,它给 iptables 里插入一大堆 Rule Chain ,绕开了 INPUT Chain 的管理。

通过以下两条命令:

iptables --list --verbose --numeric

iptables --list --verbose --numeric --table nat

可以发现 docker 插入了一堆以 DOCKER 命名的 Rule Chain 。

本来标准的软硬件防火墙,包括 iptables 、Windows 防火墙,为了安全,都是默认使用白名单制,而 docker 的防火墙却是黑名单制的,这与安全理念冲突。

建议关闭 docker 的自行管理防火墙的功能,向 /etc/docker/daemon.json 添加 "iptables": false

然后手动清理 docker 向 iptables 里添加的各种 Rule Chain

最后手动管理 docker 的防火墙,来加强安全。

0x535

1

0x535      2025 年 7 月 25 日 via iPhone

还以为是什么呢… 标题党

laminux29

2

laminux29      2025 年 7 月 26 日

@0x535 并不是标题党,你可以搜一下,不少人发现这个问题。更多的人可能没发现这个问题,导致了白名单端口直接暴露在整个互联网上。

julyclyde

3

julyclyde      2025 年 7 月 26 日

啊? INPUT 链?为什么是 INPUT 链?

laminux29

4

laminux29      2025 年 7 月 26 日

@julyclyde

因为当你需要允许某个 IP 能访问本机的某个端口,正规的做法是,写一条规则插入到 INPUT 链中,比如:

iptables --insert INPUT --protocol tcp --dport 3306 --source 11.22.33.44 --jump ACCEPT

0x535

5

0x535      2025 年 7 月 26 日 via iPhone

@laminux29 我知道有这个问题存在,十年前就有人提出过 issue ,官方认定是 feature 而不是 bug 。
再说 2025 年了,现在还有哪个主流的云服务平台是默认开放所有端口的?都直接用 iptables 这种东西管理而不是云服务提供的防火墙了,可见对自己的技术很有信心…

到你这儿成了重磅安全漏洞了,你是不是对这几个字有什么误解?

laminux29

6

laminux29      2025 年 7 月 26 日

@0x535

我遇到太多的场景,是需要通过 OS 内的防火墙,来给 docker instance 设置 IP 白名单,比如以下 3 种经典场景:

1.云服务器并不是从平台直接拿的,而是由同事或运维给的。他们为了图方便,把平台上的防火墙给直通,然后把防火墙的控制权下放给 OS 的内部防火墙,比如 iptables 。

2.拿到的云服务器,是测试用的专用系统,默认所有的安全规则都是清空的。比如 iptables 被清空,selinux 被关闭,直接启用 root 登录等等。

3.乙方拿到甲方机房的 2 台虚拟机,第一台用于 docker db ,第二台用于 docker web server ;甲方机房的同网段内还有其他虚拟机,乙方的 docker db 只能给乙方的 docker web server 使用,因此需要通过 iptables 设置白名单,否则有可能被甲方机房内其他服务器上的病毒或木马攻击。

至于技术信心,这个话题,只是计算机工程专业而已,没任何难度...有难度的是需要依赖数学的算法、数据分析、AI 等专业。当然,docker 官方故意恶心人,对 iptable 进行反向设计,那么无论技术多牛的人,除非纪律性拉满,把测试验证做完,否则都容易被这个问题给坑了。

在安全上,这个所谓的特性,就是重磅安全漏洞,目前已经有很多忽略测试的人被坑了。

laminux29

7

laminux29      2025 年 7 月 26 日

另外,防火墙,比如 iptables 、Windows 的内置防火墙,设计原理都是白名单制的。也就是默认拒绝,除非添加白名单规则。Docker 这种反向设计,会导致在系统运维时,每一种有共识的设计、逻辑、代码,都需要再验证一次,那么会导致安全这个方面的工作量被迫拉满。

举个假设的例子,Intel 与 AMD ,把加法指令,定义为计算两个操作数之和,多年以来,这种设计已经成为计算机的共识。然而,docker 官方在最近几年,出品了一款 CPU ,它把加法指令与减法指令进行互换,并且称之为 [特性] ,你觉得这是不是重磅漏洞?

laminux29

9

laminux29      2025 年 7 月 27 日

@julyclyde docker 的网络模式取决于 linux 的能力。对于 Debian 来说可以让 docker 有 nat 、host 、bridge 以及隔离。

laminux29

11

laminux29      2025 年 7 月 27 日

@julyclyde 我写过基于二开 iptables 的全自动化 NAT + Bridge 的管理器,我认为至少我对 iptables 的理解,比你熟悉,所以你没必要建议我再去学习 iptables 。

你还没抓住这个问题的重点,就是 docker 官方,把业内通用的防火墙白名单机制,反向设计成黑名单形式,还美名为特性。

说白了,docker 官方,没有二开 iptables 的能力。人家 VMware 在 Windows ,没有依赖 Windows 的防火墙,而是通过二开,实现了一套完整的网络管理系统,彻底解决了这个问题。docker 官方没有这个能力,依赖 iptables ,不仅瞎搞,还嘴硬,这是造成这个漏洞的本质原因。

redial39

13

redial39      2025 年 8 月 28 日

我是运维.
我交付的服务器,凡是安装 docker 的都不关 iptables,凡是不使用 docker 技术栈的全部 disable iptables
你要问我为什么这么操作,因为我对网络设备包括但不限于山石,飞塔,juniper,云网关,云安全组上的策略有绝对的自信
你要问我为什么对他们有自信...这不是废话么,我对机器二极管还不自信,还能对自己手敲键盘有信心吗?

laminux29

14

laminux29      2025 年 8 月 28 日

@redial39

你这运维很不专业。

首先,大部分 Docker 用户是家庭用户,他们会有这些专业的硬件防火墙?

其次,就算是企业级环境,有硬件防火墙,防火墙内部区域的互相攻击怎么办?

redial39

15

redial39      2025 年 9 月 3 日

@laminux29
首先家庭用户不需要运维
其次家庭用户说难听点,不需要安全,不中病毒就是最大的安全
然后企业环境,正规行为都是 vlan 划分各种区域.只要在一个区域里,就是有互访需求的

redial39

16

redial39      2025 年 9 月 3 日

即使是在同一个 zone 里, 机器上还有各种安全软件, 前面有 waf,定期漏扫,安骑士..我要这机器 iptables 做什么...徒增烦恼