我们如何设置防火墙规则来允许或拒绝特定程序?

我们如何设置防火墙规则来允许或拒绝特定程序?

本教程展示如何在 DansGuardian、Privoxy 和一些防火墙规则的帮助下设置简单的家长控制设施。我已经测试过它,到目前为止,它似乎在大部分情况下都有效。

然而,有些事情我无法理解。也就是说,在本教程中,我们被告知要设置以下防火墙规则等:

sudo iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m owner --uid-owner privoxy -j ACCEPT
sudo iptables -A OUTPUT -o lo -p tcp --dport 8118 -m owner --uid-owner dansguardian -j ACCEPT

等待... -m owner --uid-owner dansguardian-m owner --uid-owner privoxy??

我一直以为uid既可以是用户名也可以是组,可以分配给用户,而不是进程或者文件?一定是我看错了...

这更令人困惑,因为getent group显示了 的条目dansguardian,但没有显示privoxy;所以我不确定这--uid-owner privoxy指的是什么,因为privoxy既不是用户也不是组。

预先感谢您向我解释这一点。

答案1

我一直认为 uids 可以是用户名或组

那些用户名。它旨在让您Privoxy在名为 的用户prixovyDansGuardian名为 的用户下运行dansguardian

这更令人困惑,因为 getent 组显示了 dansguardian 的条目,但没有 privoxy 的条目

执行此操作即可cat /etc/passwd查看用户列表。如果您在 Debian 或 Ubuntu 中安装了软件包,则很可能privoxy是您系统上的用户。privoxy可能没有group像 那样的对应项dansguardian

答案2

您可以根据信使应用程序等程序使用的端口来阻止它。当你使用iptables时,你不能根据程序名称来阻止它。有些防火墙可以根据程序名称阻止它。

相关内容