安全地更改 iptables 防火墙规则?

安全地更改 iptables 防火墙规则?

当人们更改防火墙规则以确保不会意外将自己锁定时,他们会做什么?

例如,有没有办法加载防火墙规则,以便它们仅在某个测试期内处于活动状态,然后让防火墙规则恢复到以前的设置?

答案1

另一个选项是在服务器上打开一个屏幕会话,并在屏幕会话中设置一个作业,该作业会休眠几分钟,然后刷新表。完成更改后,您可以直接终止该作业。您也可以让脚本将 INPUT 策略更改为 ACCEPT,或类似操作。

可能比 cron 更方便一点,但想法是一样的。我对路由器做了类似的事情reload in 10。所以如果我把自己锁在外面,路由器会重新启动并将配置恢复到我更改之前的状态。

答案2

我用火神作为 iptables 的前端。Firehol 有一个非常好的功能,可以让您安全地测试一组新规则。

当您运行该命令时firehol try,Firehol 会将自身设置为忽略 HUP,备份当前规则集,应用新规则集,然后向用户发出提示,询问他们是否要遵守新规则集。如果您在 30 秒内未做出回应,则 Firehol 会恢复之前的规则集。

答案3

我要么设置一个 at 作业,让它在几分钟内重新加载之前的规则集,但我认为更好的方法是确保允许从您的 IP 进行访问作为最先的规则之一(如果不是第一个规则)。这样,当您对它感到满意时,您就可以将其取出。

还值得注意的是,如果您允许相关和已建立的连接(即-m state --state RELATED,ESTABLISHED -j ACCEPT)并且您设法阻止 SSH 访问,则应该维护任何现有连接 - 因此请确保在退出现有会话之前检查您是否可以再次通过 SSH 登录!

答案4

根据 rjewell 的说法。您可以创建一个 cron 作业,每 30 分钟刷新并重新加载配置文件中的所有规则。然后,当您测试时,您可以直接使用命令更改规则,并且只有在您确定它有效后才将其保存到配置文件中。

相关内容