我如何禁用所有添加到iptables中以公开访问的docker规则?

问题描述 投票:-1回答:1

我正在使用docker-compose,只是发现我从docker-compose.yml中公开的所有端口实际上已添加到iptables中,以允许世界访问。不知道,但这给我留下了巨大的安全漏洞。

码头页面说要运行:iptables -I DOCKER-USER -i ext_if ! -s 192.168.1.1 -j DROP

但是那对我没有任何帮助。我仍然可以在不建立隧道的情况下远程访问数据库服务器。

我不确定我的本地IP地址是什么。我仍然希望允许主机OS上的内部连接连接到这些端口,而不是整个世界。

docker docker-compose iptables
1个回答
2
投票

[如果您不希望公开的公开端口公开,那么解决方案要比考虑Docker的iptables规则更容易。

  1. 只是不要暴露它们。

    您无需仅公开端口即可访问服务。您只需连接到容器ip地址即可访问任何打开的容器端口。

  2. 仅在本地主机上公开它们。

  3. 而不是写-p 8080:8080(只在环回地址上暴露端口),而不是写-p 127.0.0.1:8080:8080(在所有接口上的主机端口8080上暴露容器端口8080)。现在您可以在主机上的localhost:8080上找到它,但其他任何人都无法使用。

© www.soinside.com 2019 - 2024. All rights reserved.