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

时间:2011-03-27 18:09:36

标签: linux firewall iptables

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

5 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:5)

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

我想澄清几点。

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

您所描述的内容对我来说更像mandatory access control。在Linux中有几个用于此目的的实用程序 - selinux,apparmor,tomoyo。

如果我必须实现您描述的图形实用程序,我会选择支持白名单的AppArmor,以及to some extent动态分析,并尝试为其创建GUI。

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

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

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

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

答案 2 :(得分:1)

回答你的第3点。 有这样一个程序,提供zenity弹出窗口,它被称为豹花: http://sourceforge.net/projects/leopardflower

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

我在过去几年中使用过 LittleSnitch for MacOSX ,我很惊讶一个应用程序在没有我注意的情况下经常访问互联网的频率。要检查更新,请致电家...,

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

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

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

Douane(How to control internet access for each program?DouaneApp.com)的存在表明需要一个简单的解决方案。甚至有一个分布似乎包含这样的功能。但我不确定Subgraph OS(subgraph.com)正在使用什么,但他们在那里的网站上陈述了类似的内容。它的读取与初始问题完全相同:"子图OS应用程序防火墙允许用户控制哪些应用程序可以启动传出连接。当未知应用程序尝试建立传出连接时,将临时或永久地提示用户允许或拒绝连接。这有助于防止恶意应用程序打电话回家。"

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