答案1
答案2
可能阻止互联网访问的方法之一每个申请基础是“沙箱”。
通常,应用程序的网络访问是使用防火墙规则间接控制的。通常情况下,应用程序会尝试以一致的方式进行通信(或者到特定端口/地址,或从特定端口/地址),并且使用防火墙,您可以阻止对特定端口或地址的访问,以禁用应用程序访问互联网(或其他计算机)的能力。但是,如果应用程序不以一致的方式进行通信,那么编写防火墙规则将非常困难,因为您肯定会阻止其所有网络。您想要运行的应用程序也可能使用相同的端口/地址进行通信,而防火墙可能会阻止这两个应用程序。
沙箱是任何旨在为应用程序创建单独环境的策略的通用术语。常见的原因之一是要充分了解应用程序正在与什么交互,因为默认情况下通常应用程序无法访问其“沙箱”之外的任何内容,除非您明确允许它。
我不会描述完整的设置,但像 Docker 和 Kubernetes 这样的软件在设计时正是考虑到了这一点;您可以允许对其“容器”(又称沙箱)中运行的软件进行尽可能少或尽可能多的网络访问。
不用说,还有很多工作要做一切在容器内,但如果有一些您特别关心的应用程序,那么这对他们来说可能是值得的。
答案3
适用于 GNU/Linux 的 Douane 个人防火墙
我为您找到了一种可能的解决方案:适用于 GNU/Linux 的 Douane 个人防火墙-登陆页面,新主页。
然而,我没有找到适合你的 Ubuntu 的打包版本。
支持的:
- 应用程序/库生成的任何传出连接
- 协议:全部(与 NetFilter 相同)
- 方向:外向-听力
不支持:
- 非用户空间连接:netbios/etc...(内核)
- iptables(douane不使用,但建议与douane并列使用)
- 方向:传入(使用 iptables)
因为一切看起来都很好地描述了Douane - GitLab 编译页面,我看编译过程没有问题。