Ubuntu - 阻止除少数应用程序之外的所有应用程序的互联网访问

Ubuntu - 阻止除少数应用程序之外的所有应用程序的互联网访问

我一直在寻找一种方法来阻止除 1 或 2 个选定的应用程序之外的所有应用程序访问互联网。

我研究了简单防火墙 (ufw) 及其相应的 Gui (gufw):

在此输入图像描述

但 gufw 似乎没有阻止特定程序访问互联网的选项(Windows 防火墙使用出站规则执行此操作)。

问题:有谁知道我怎样才能做到这一点?

答案1

gufw和其他默认附带的防火墙并非设计用于按应用程序进行过滤 -gufw是一个简单的 GUI 前端ufw,并且不是设计用于在应用程序级别进行过滤,它只是一个用于设置基于 IP 的基本过滤规则的简单前端、端口等

ufw您正在寻找的内容超出了可以容纳的标准 Linux 防火墙规则集gufw。有几种建议的方法(链接的是基于组的控件,因此您必须将要访问网络的应用程序添加到特定组),但还有其他应用程序,例如杜安,也可以在应用层执行此操作。

答案2

可能阻止互联网访问的方法之一每个申请基础是“沙箱”。

通常,应用程序的网络访问是使用防火墙规则间接控制的。通常情况下,应用程序会尝试以一致的方式进行通信(或者特定端口/地址,或特定端口/地址),并且使用防火墙,您可以阻止对特定端口或地址的访问,以禁用应用程序访问互联网(或其他计算机)的能力。但是,如果应用程序不以一致的方式进行通信,那么编写防火墙规则将非常困难,因为您肯定会阻止其所有网络。您想要运行的应用程序也可能使用相同的端口/地址进行通信,而防火墙可能会阻止这两个应用程序。

沙箱是任何旨在为应用程序创建单独环境的策略的通用术语。常见的原因之一是要充分了解应用程序正在与什么交互,因为默认情况下通常应用程序无法访问其“沙箱”之外的任何内容,除非您明确允许它

我不会描述完整的设置,但像 Docker 和 Kubernetes 这样的软件在设计时正是考虑到了这一点;您可以允许对其“容器”(又称沙箱)中运行的软件进行尽可能少或尽可能多的网络访问。

不用说,还有很多工作要做一切在容器内,但如果有一些您特别关心的应用程序,那么这对他们来说可能是值得的。

答案3

适用于 GNU/Linux 的 Douane 个人防火墙

我为您找到了一种可能的解决方案:适用于 GNU/Linux 的 Douane 个人防火墙-登陆页面,新主页

然而,我没有找到适合你的 Ubuntu 的打包版本。


支持的

  • 应用程序/库生成的任何传出连接
  • 协议:全部(与 NetFilter 相同)
  • 方向:外向-听力

不支持

  • 非用户空间连接:netbios/etc...(内核)
  • iptables(douane不使用,但建议与douane并列使用)
  • 方向:传入(使用 iptables)

因为一切看起来都很好地描述了Douane - GitLab 编译页面,我看编译过程没有问题。

相关内容