我一直在寻找有关管理防火墙规则的信息,但一无所获。
我想明确一点:我不是想学习修改 iptables 或 ufw 的命令,例如添加规则、添加表等。这些东西随处可见。
相反,我试图找到的是关于我应该拥有哪些规则的指导;或者,一些示例表和规则集。
问题是我不知道哪些程序需要(或可能需要)哪些端口对哪些协议以及从/到哪些 IP 地址开放。所以,我精神瘫痪了:我目前保持一切开放只是因为害怕导致某些程序停止工作。我知道这不是一件好事,但我不知道该怎么做。
同样,假设我从软件商店安装了一个新程序:我怎么知道我需要对现有的 iptables 进行哪些修改(如果有的话)?在安装新程序时,我从未见过他们中的任何一个提供解释该程序对端口/协议等的需求/期望的文档。
我想,好吧,我可以关闭所有东西,然后看看什么不起作用,然后制定必要的规则。但是,这似乎非常乏味和低效。此外,当我发现一个程序不起作用时,我仍然不知道明智的做法:我是简单地打开端口,还是只为某个协议打开端口(我怎么知道是哪一个? ?),还是我还需要限制所涉及的IP地址等?
因此,我在网上寻找有关如何知道我应该拥有哪些规则的指导,但我没有找到任何帮助。我去过的每个站点似乎都假设我已经确切知道我需要哪些规则,并且只需要向我展示如何使用终端来创建这些规则。
所以,我坐在这里:我知道如何创建规则,但我不知道我应该创建哪些规则。有点像,我已经被教过如何使用所有的电动工具,现在我被告知要使用这些工具来建造一架喷气式飞机——尽管已经向我展示了如何使用每个电动工具,但我仍然不会不知道从哪里开始。
好吧,我希望这里的某个人能够将我指向具有最新信息的来源,这将帮助对程序如何工作知之甚少的防火墙新手找出他拥有的程序所需的规则在他的系统上实现不同级别的安全性。
这就是我要做的...
我
gufw
用来管理我的防火墙。这是ufw的GUI。如果我的程序无法运行,并且我怀疑是端口问题,我会在
gufw
. 如果程序现在可以工作,那么我知道有一个端口(在计算机上)需要打开。请记住,您的路由器上还有一些端口可能需要打开,或转发到内部网络上的特定主机。然后我通过 重新打开防火墙
gufw
,然后切换到Report
窗口,并在运行相关应用程序时观察它,报告窗口将实时告诉您哪些端口/协议被阻止。然后我谷歌“应用程序名称”和“要打开的端口”,看看除了我观察到的端口之外是否还有其他端口也需要打开。
然后我切换到
Rules
窗口并尝试创建一个规则,该规则实际上只提供一个窄窗口供事物通过,我的意思是,我只指定了 {TCP|UDP|ALL) 中的 1 个,端口范围有限,以及源/目标的特定 IP 地址。我给新规则起一个名字,以便我以后查看它并记住该规则存在的原因。