问题 Linux每程序防火墙类似于windows和mac对应物


  1. 是否可以创建适用于Windows和Mac的GUI防火墙?每个计划的基础。当特定程序想要从网络发送\ recv数据时弹出通知窗口。
  2. 如果不是,为什么? Linux内核缺少哪些允许存在此类程序?
  3. 如果是的话,为什么没有这样的计划呢?

附:这是编程问题,而不是用户问题。


7748
2018-03-27 18:09


起源

可能重复 每个进程/服务创建iptables规则 - Brian Roach
请在发布新问题之前使用搜索。 - Brian Roach
这不是重复的。上述问题要求为已知流程设置规则的方法 - 这涉及未知流程的触发器。 - Erik
“这是编程问题,而不是用户问题。” - 我不确定我是否同意。对我来说这是一个典型的How Stuff Works计算机用户问题,不是吗? - Grzegorz Oledzki
你看过杜安的作品吗? askubuntu.com/a/330259/46437 - Aquarius Power


答案:


回答你的第3点。 有这样一个程序提供zenity弹出窗口,它叫做Leopard Flower: http://sourceforge.net/projects/leopardflower


1
2018-05-13 02:58



所以在这里 (netfilter.org/projects/libnetfilter_queue)是答案......谢谢! - Marko Kevac
根据stackexchange页面:“截至2014年1月12日,该项目[Leopard Flower]已不再处于积极开发阶段。” - nealmcb


  1. 是的,这是可能的。您需要设置防火墙规则以通过用户空间守护程序路由流量,这将涉及相当多的工作。
  2. N / A
  3. 因为它们毫无意义 - 如果用户理解他应该阻止哪些程序进行网络访问,他也可以使用多个现有友好的netfilter / iptables前端中的一个来配置它。

5
2018-03-27 18:16



对不起,如果我错了,但我不同意这些程序毫无意义的说法。例如,我想禁止我的机器上的所有进程默认连接到网络。但我需要访问www,所以我必须允许80,443和53端口。但是,如果我允许它们进行任何处理,那么访问网络的限制是毫无意义的,因为如果我的机器上有一些恶意程序,没有什么能阻止它将被盗数据发送到某些Web服务器。 - user907860
因此,当我想允许我的Webbrowser连接到http(80)和https(443)但我不希望任何其他程序通过端口80或443“回家”时,那些iptables规则会是什么样子?我的理解是iptables中没有这样的分离。或者有吗? - Gerhard


有可能,没有限制,并且至少存在一个这样的应用程序。

我想澄清几点。

如果我理解 本文 到目前为止,这里提到的防火墙和iptables这个问题被标记为数据包过滤器,接受和丢弃数据包更多地取决于它们来自/发送到的IP地址和端口。

你所描述的看起来更像 强制访问控制 对我来说。 Linux中有几个实用程序 - selinux,apparmor,tomoyo。

如果我必须实现您描述的图形实用程序,我会选择,例如,支持白名单的AppArmor,以及 在某种程度上,动态分析,并试图为它制作一个GUI。

OpenSUSE的YaST具有用于apparmor设置和“学习”的图形界面,但它特定于分发。

因此,Linux用户和管理员可以通过多种方式在每个应用程序的基础上控制网络(和文件)访问。

为什么MAC的图形前端如此之少是另一个问题。可能是因为Linux桌面用户倾向于信任他们从存储库安装的软件,并且没有理由以这种方式控制它们(如果应用程序是免费分发的,它没有理由回家,而且包通常在他们到达存储库之前进行审查),而管理员和高级用户可以使用命令行。

随着桌面Linux变得越来越受欢迎,人们从AUR或PPA甚至从gnome-look.org安装更多软件,其中包裹和脚本没有被准确地评估(如果有的话)对这类软件的需求(用户友好,简单)配置MAC)可能会增长。


5
2018-04-08 12:41





  1. 是。一切皆有可能
  2. -
  3. Linux中有真正的防病毒软件,因此也可能存在带有GUI的防火墙。但作为一个Linux用户,我可以说不需要这样的防火墙。

0
2018-03-27 18:17





当我正在尝试从Mac迁移到Linux时,我达到了该问题。我在Mac和Linux PC上运行了很多应用程序。其中一些我完全信任。但其他人我并不完全信任。如果它们是从检查它们的来源安装的,我是否必须相信它们,因为其他人做了?不,我已经大到可以选择自己了。

在隐私变得越来越复杂的时代,存在表明我们不应该信任所有人的分布,我喜欢控制我的应用程序所做的事情。这种控制可能不会在与网络/互联网的连接处结束,但这就是这个问题(我的意思是这样)。

我用过 适用于MacOSX的LittleSnitch 在过去的几年里,我很惊讶一个应用程序在没有我注意的情况下经常访问互联网的情况。要检查更新,打电话回家,......

现在我想切换到Linux,我试图找到同样的东西,因为我想控制什么离开我的电脑。

在我的研究期间我 发现了很多关于这个话题的问题。在我看来,这个最能描述它的含义。对我来说问题是一样的。我想知道应用程序何时尝试通过网络/互联网发送或接收信息。

SELinux和AppAmor等解决方案可能允许或拒绝此类连接。配置它们意味着大量手动配置,并且不会通知新应用程序何时尝试连接到某处。您必须知道要拒绝访问网络的应用程序。

杜安的存在(如何控制每个程序的互联网访问? 和 DouaneApp.com) 显示 需要一个简单的解决方案。甚至有一个分布似乎包含这样的功能。但我不确定Subgraph OS是什么(subgraph.com)正在使用,但他们在那里的网站上陈述了这样的东西。它读起来与最初的问题完全相同:“Subgraph OS应用程序防火墙 允许用户控制哪些应用程序可以启动传出连接。当未知应用程序尝试建立传出连接时 将提示用户允许或拒绝连接 暂时或永久的。这有助于防止恶意应用程序打电话回家。“

在我看来,有 目前只有两种选择。一个是 手动编译Douane mysqlf 或两个, 切换到Subgraph OS。作为答案之一,一切皆有可能 - 所以我很惊讶没有其他解决方案。或者有吗?


0
2018-06-22 22:35