以下是通过在公共区域中启用 ftp 服务添加的 ftp 助手的示例:
# iptables -t raw -S | grep CT -A PRE_public_allow -p tcp -m tcp --dport 21 -j CT --helper ftp
我没有尝试禁用任何默认帮助程序,但运行上述命令不会显示任何此类规则。也没有sudo iptables-save | grep 21
。为什么?
# rpm -q firewalld
firewalld-0.5.5-1.fc28.noarch
如果您在
firewalld
. 对于每个帮助程序定义,都应该有一个匹配的服务定义。最初我以为只有在运行 FTP服务器时才启用“服务” 。现在流行的FTP被动模式仍然需要额外的连接。客户端必须在第二个端口上连接到服务器,才能传输文件数据。需要“帮助程序”来检测正在使用哪个端口并允许这个额外的连接。
没有一个助手被标记为
-client
(如 servicedhcpv6-client
)。但据我所知,在客户端上启用 FTP 服务将允许它使用原始的 FTP主动模式(假设firewalld
是唯一的防火墙)。我认为这个例子不是一个大的安全问题,但它可能非常令人困惑:-(。(Nitpick:无论如何,FedoraWorkstation 都会碰巧允许 FTP 活动模式,因为它允许传入连接到 1024 以上的任何端口。请不要让我解释原因)。
我查看的第二个示例是 irc 助手,但我无法理解。在我看来它已经坏了。