V2EX 前天 08:55
[Docker] docker 重磅安全漏洞
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

使用Docker时,端口映射后若仅通过iptables INPUT Chain白名单验证访问,可能因docker绕过INPUT Chain而存在安全隐患。docker自动管理iptables插入大量Rule Chain,形成黑名单机制,与标准白名单防火墙理念冲突。建议关闭docker自动管理iptables(/etc/docker/daemon.json添加'iptables': false),手动清理Rule Chain,实现手动防火墙管理以加强安全。

🔍 docker自动管理iptables,插入大量以DOCKER命名的Rule Chain,绕过INPUT Chain的白名单控制,形成黑名单机制。

🚫 标准防火墙(iptables、Windows防火墙)默认白名单制,与docker黑名单机制安全理念冲突,存在安全隐患。

🛡️ 建议关闭docker自动管理iptables功能:编辑/etc/docker/daemon.json添加'iptables': false,实现手动防火墙管理。

🧹 手动清理docker添加的iptables Rule Chain,避免绕过白名单控制的访问,增强端口访问安全性。

🔄 从黑名单制转向手动管理,恢复白名单机制,符合标准安全实践,有效防止未授权访问。

我们在使用 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 的防火墙,来加强安全。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Docker iptables 防火墙 安全配置 黑名单
相关文章