【问题标题】:Linux per program firewall similar to windows and mac counterpartsLinux 每程序防火墙类似于 windows 和 mac 对应物
【发布时间】:2011-07-23 23:59:18
【问题描述】:
  1. 是否可以创建与 Windows 和 Mac 对应的 GUI 防火墙?每个程序的基础。当特定程序要从网络发送\接收数据时弹出通知窗口。
  2. 如果不是,为什么?允许此类程序存在的 Linux 内核缺少什么?
  3. 如果是,那为什么没有这样的程序?

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

【问题讨论】:

  • 在发布新问题之前请使用搜索。
  • 这不是重复的。提到的问题询问了为已知进程设置规则的方法 - 这涉及到未知进程的触发器。
  • "这是编程问题,不是用户问题。" - 我不确定我能同意。对我来说,这是一个典型的计算机用户问题,不是吗?
  • 您了解 Douane 的工作原理了吗? askubuntu.com/a/330259/46437

标签: linux firewall iptables


【解决方案1】:
  1. 是的,这是可能的。您需要设置防火墙规则以通过用户空间守护进程路由流量,这将涉及大量工作。
  2. 不适用
  3. 因为它们毫无意义 - 如果用户了解他应该阻止网络访问的程序,他也可以使用多个现有的友好 netfilter/iptables 前端之一来配置它。

【讨论】:

  • 对不起,如果我错了,但我不同意这样的程序毫无意义的说法。例如,我想默认禁止我机器上的所有进程连接到网络。但是我需要访问www,所以我必须允许80、443和53端口。但是,如果我允许它们进行任何进程,那么访问网络的限制就毫无意义了,因为如果我的机器上有一些恶意程序,没有什么能阻止它将被盗数据发送到某些 Web 服务器。
  • 所以当我想允许我的网络浏览器连接到 http (80) 和 https (443) 但我不希望任何其他程序通过端口 80 或 443 “呼叫主页”时,那些将如何iptables 的规则是什么样的?我的理解是 iptables 中没有这样的分隔。或者有吗?
【解决方案2】:

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

不过,我想澄清几点。

如果我理解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)可能会增长。

【讨论】:

    【解决方案3】:

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

    【讨论】:

    【解决方案4】:
    1. 是的。一切皆有可能
    2. -
    3. Linux 有真正的防病毒软件,因此也可能有带有 GUI 的防火墙。但作为 linux 用户,我可以说不需要这样的防火墙。

    【讨论】:

      【解决方案5】:

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

      在实现隐私变得越来越复杂的时代,并且存在的分布表明我们不应该信任所有人,我喜欢控制我的应用程序的功能。这种控制可能不会在连接到网络/互联网时结束,但这就是这个问题(我的问题是关于的。

      在过去的几年里,我使用 LittleSnitch for MacOSX,我很惊讶一个应用程序喜欢在我没有注意到的情况下访问互联网的频率。检查更新,打电话回家,...

      现在我想切换到 Linux,我试图找到与我想要控制离开我的 PC 的东西相同的东西。

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2011-04-18
        • 2022-07-06
        • 2014-01-15
        • 1970-01-01
        • 2014-07-20
        • 2013-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多