Shorewall:暂时丢弃除端口 22 以外的传入流量?

Shorewall:暂时丢弃除端口 22 以外的传入流量?

当我处理配置文件时,尤其是邮件服务器的配置文件时,我想暂时删除除端口 22 之外的所有传入流量。因此,如果我需要将邮件服务器移动到另一台服务器或类似操作,我不会冒丢失传入邮件的风险。

使用 shorewall,我该怎么做?

我正在考虑创建一个规则文件,将所有流量转移到不存在的内部 IP,并在需要时将其与正常文件切换。

答案1

您可以编写一个小脚本来停止 shorewall 并使用不同的目录配置重新启动它:

# shorewall 停止
# shorewall 启动 /etc/shorewall-temp

当您需要旧配置时,我认为 shorewall 重新启动只需使用默认参数重新启动即可。

答案2

我假设“互联网”是 NET,而您的内部机器是 LOC。根据您海岸墙的需求进行更改。

您说的是端口 22,并且谈到了邮件。我假设您想丢弃所有流量并仅允许 SSH 流量。不允许所有邮件流量?

在规则文件中,使用 DNAT 转发流量。

DNAT       net         loc:192.168.0.3:22              tcp     22

这会将流量转发到防火墙 ($FW) 上的端口 22(通常是 SSH),再转发到内部 IP 192.168.0.3

如果您想要丢弃所有流量,请在 shorewall 规则文件中执行以下操作(规则的顺序很重要):

ACCEPT        net          loc:mailserver_ip               tcp    22
REJECT        net          loc:mailserver_ip

当然,您需要将 mailserver_ip 更改为正确的 IP。其次,如果邮件服务器与 shorewall 位于同一台服务器上。您应该使用 $FW 而不是 loc:mailserver_ip 来表示这一点

答案3

我按照 Pier 的建议对我的 Watchguard 防火墙做了类似的事情:我保留了 2 个配置文件,一个是我的生产配置文件,另一个阻止所有传入服务,除了那些我想在执行维护时继续传入的服务。当我安排了维护时,我只需加载我的维护配置,完成后再加载生产配置。

相关内容