如何防止应用程序在未经我同意的情况下通过网络发送数据?

如何防止应用程序在未经我同意的情况下通过网络发送数据?

最近,我遇到了几个程序通过网络发送数据(我的一些配置文件的副本)的情况。我认为作者的做法非常糟糕,我希望以后能杜绝这种情况的发生。

一个例子是一个具有命令行诊断实用程序的程序。当我运行它时,它立即收集了大量信息,不仅是程序自己的配置,还有系统,并将它们上传到服务器。其中一些文件可能包含用户名和密码等数据。

因此,就像在 Windows 中一样,我希望有一个程序能够在其他程序试图发送数据,甚至在我不知情的情况下通过网络发起通信时向我发出警告。理想情况下,我可以仅将允许执行此操作的程序列入白名单,其余程序将默认被阻止。

编辑:我找到了一个 2007 年的网页,上面讨论了这个问题这里

他们提到了三个曾经存在的程序(Systrace、Tuxguardian 和 Program Guard),但我怀疑它们不能再与新的内核和 Ubuntu 等发行版一起使用。

答案1

我不相信存在简单、非技术性的解决方案。话虽如此,如果您愿意亲自动手,请继续阅读。

Ubuntu 使用一个名为应用装甲,其中每个应用程序都有一个“配置文件”,定义允许它做什么。如果您有管理员权限,您可以编辑 AppArmor 配置文件以允许系统上的应用程序执行更少的操作。您还可以为没有配置文件的二进制文件创建限制性配置文件。配置文件存储在 中/etc/apparmor.d/

你会想读AppArmor 配置文件语言指南Ubuntu 社区文档但实际上,您需要删除所有network权限,然后将所有配置文件置于“投诉”模式,这样您就知道它们何时尝试进行网络连接:

sudo aa-complain /etc/apparmor.d/*

相关内容