UFW 不阻止传入流量

UFW 不阻止传入流量

我有一个运行 UFW 的 Debian 9 服务器,我想阻止除端口 2122(SSH)和 80/443(对于 HTTP(s))之外的所有传入请求。

我运行了以下命令:

ufw reset
ufw default deny incoming
ufw default allow outgoing
ufw allow incoming 2122/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

编译结果为:

ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
2122/tcp                   ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
443/tcp                    ALLOW IN    Anywhere
2122/tcp (v6)              ALLOW IN    Anywhere (v6)
80/tcp (v6)                ALLOW IN    Anywhere (v6)
443/tcp (v6)               ALLOW IN    Anywhere (v6)

至少对我来说,一切似乎都很好。但是,当我在端口 2424(或者实际上任何其他端口)上运行 docker 容器时,我仍然可以访问http://域名.tld:2424,尽管有防火墙。

我尝试过重启、重启 iptables……但都无济于事。有什么建议吗?非常感谢!

答案1

Docker 会在防火墙本身中打开端口,用于正在运行的容器所暴露的任何端口。这些端口不会显示在ufw输出中,但可以在 中查看iptables

你应该:

  • 确保仅暴露需要互联网访问的端口。
  • 使用 docker-compose 来协调多个相关容器的创建和运行。它们可以相互通信,而无需公开端口。

相关内容