UFW 防火墙在 DigitalOcean 中的 Ubuntu 上不起作用

2024-01-07

在我的 DigitalOcean (DO) Droplet 中,我安装了以下图像:Ubuntu Docker 17.12.0~ce 于 16.04(可在 ** DO 网站 > Droplet> destroy>重建 Droplet** 上找到),在 ssh 中(用户配置后),我运行

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
sudo ufw status verbose

and get:

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

To                         Action      From
--                         ------      ----
22                         LIMIT IN    Anywhere                  
2375/tcp                   ALLOW IN    Anywhere                  
2376/tcp                   ALLOW IN    Anywhere                  
22 (v6)                    LIMIT IN    Anywhere (v6)             
2375/tcp (v6)              ALLOW IN    Anywhere (v6)             
2376/tcp (v6)              ALLOW IN    Anywhere (v6) 

如您所见,我不允许端口 80 (http) 上的任何连接。好的,为了测试防火墙是否真的有效,我运行以下 docker:

sudo docker run -d -p 80:80 -e ENABLE_IPV6=true -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy:alpine

但是当我转到 chrome 并输入我的 Droplet IP 时,我看到 nginx 响应(!!!)

我也尝试了 Ubuntu 17 映像(手动安装 docker),但仍然遇到同样的问题。

结论: ufw 防火墙在 Ubuntu 中根本不起作用

Question: 如何配置 ufw/Ubuntu 来解决这个问题?


Docker 和 UFW 不能很好地协同工作,因为它们都会修改 iptables,但有一种方法可以解决这个问题。 您需要将 Docker 配置为不使用 iptables。添加

DOCKER_OPTS="--iptables=false"

to /etc/default/docker并重新启动主机(或重新启动 Docker 守护进程和 UFW)。

这两个链接提供了有关该问题的更多信息:

https://blog.viktorpetersson.com/2014/11/03/the-dangers-of-ufw-docker.html https://blog.viktorpetersson.com/2014/11/03/the-dangers-of-ufw-docker.html
https://www.techrepublic.com/article/how-to-fix-the-docker-and-ufw-security-flaw/ https://www.techrepublic.com/article/how-to-fix-the-docker-and-ufw-security-flaw/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UFW 防火墙在 DigitalOcean 中的 Ubuntu 上不起作用 的相关文章

随机推荐