UFW:强制流量通过 OpenVPN 隧道/不泄露任何流量

UFW:强制流量通过 OpenVPN 隧道/不泄露任何流量

我使用 OpenVPN 访问 VPN,并尝试创建一台不会通过非 VPN 接口泄漏流量的安全机器。使用防火墙 UFW,我尝试实现以下目标:

  • 允许从 LAN 访问机器的 Web 界面
  • 否则仅允许在 tun0 上进行流量传输(OpenVPN-Tunnel 接口建立时)
  • 拒绝(或转发?)其他接口上的任何流量

目前我正在使用以下规则(sudo ufw status):

To                         Action      From
--                         ------      ----
192.168.42.11 9999/tcp     ALLOW       Anywhere           # allow web-interface
Anywhere on tun0           ALLOW       Anywhere           # out only thru tun0
Anywhere                   ALLOW OUT   Anywhere on tun0   # in only thru tun0

我的问题是,机器最初无法建立 OpenVPN 连接,因为只允许使用 tun0,而它尚未建立(先有鸡还是先有蛋的问题)

我如何允许创建 OpenVPN 连接并从此时起强制每个数据包都通过 VPN 隧道?

答案1

允许服务应用程序访问。我目前没有可用的 OpenVPN 盒,但我认为您应该能够使用以下命令允许访问,例如:

ufw 允许 OpenVPN

你可以通过运行以下命令来查看是否可以使用开放式 VPN:

ufw 应用程序列表

这将显示 ufw 知道的那些服务应用程序。


如果没有 OpenVPN 配置文件,您可以尝试使用 ufw 仅允许该接口上的出站连接到端口 1194(或 OpenVPN 服务器接受连接的任何端口)。类似于:

sudo ufw 拒绝任何
sudo ufw 允许 1194/udp

(假设有现有的 OpenVPN 设置。)

这不会将其限制为仅有 OpenVPN......但唯一的泄漏可能性是其他东西使用该端口和 UDP......而且这种可能性非常低。

为了使端口过滤更加安全,您必须使用比 ufw 更强大的工具。我相信,AppArmor 或 SELinux 将是您的下一步,而无需升级到真正的第 7 层防火墙设备。

相关内容