用于限制传出请求的交互式防火墙

用于限制传出请求的交互式防火墙

15 年前,我在 Windows 上使用了一款产品,如果出现以下情况,它会提醒我过程试图发送出站流量(例如使用互联网或局域网)。我可以添加规则来定义允许的内容和不允许的内容。

是否有类似的产品可以与 Fedora 25 和 Gnome 一起使用?

答案1

开放式告密者是一组工具,其中包括每个应用程序的 GUI 防火墙。您需要运行两个进程:一个必须以 root 身份运行的网络守护进程,以及一个在当前用户下运行的 GUI 进程。

它不在标准存储库中,因此您必须按照 github 页面上的说明进行操作。

在此输入图像描述

看着opensnitch 最活跃的分叉显示了几个比原始 opensnitch 更活跃的分叉(例如古斯塔沃-伊尼格斯-戈亚的叉子),所以您可能也想检查一下。

答案2

我刚刚和 Tomoyo 一起做了,效果很好。它并不完全是交互式的,因为我没有弹出窗口要求我允许或阻止进程,但我仍然得到一个非常精细的 GUI 来选择性地允许或阻止软件。我想使用 Linux 社区批准的软件来实现这一点——我没有评估第三方解决方案所需的知识,并且我想最大程度地减少防火墙存在漏洞的可能性。 Tomoyo 包含在 Mint Linux 内核中,您所要做的就是安装 Tomoyo 的工具。你可以google一下“how-to-application-orient-firewall-simple-and-easy-using-tomoyo”,说明很清楚,Tomoyo也相当人性化。这个想法是阻止一切,除了您明确允许的软件。 (就我而言,除了浏览器之外,我还必须允许更多进程或服务,我发现在可以访问互联网的虚拟机上使用“sudo lsof -i”——等等。我必须对此进行微调,我可能允许超过必要的)。希望这对你有用。 (我只是希望 Debian 能够继续在其内核中包含 Tomoyo,根据我的阅读,这似乎比 apparmor 或 selinux 更加用户友好。由于您使用的是 Fedora,所以我引用的文档中有一些说明,用于安排一个有 Tomoyo 的内核……祝你好运。)

答案3

在 Unix 世界中这种事情不常见是有原因的。这是因为 Unix 使用了很多协作程序,而 Windows 确实没有。

在 Windows 世界中,程序可能会加载一堆 DLL 以将工作委托给库,但应用程序执行的操作保持不变。

Unix 也有共享库,但通过启动其他程序来完成工作,会发生大量重用。例如,许多下载更新的程序最终会将工作委托给wgetcurl

因此,您最终需要启用出站 HTTP(S),wget或者curl只是获取软件更新以使操作系统正常工作。不幸的是,这几乎为所有内容开放了出站 HTTP(S)。

因此,您应该基于不易更改的属性(例如用户和组 ID)进行限制。与此iptables匹配owner,但许多 GUI 防火墙可能不支持它,因此您可能需要最终编写自己的iptables规则。

相关内容