Aqui está um exemplo do ftp helper adicionado ao habilitar o serviço ftp na zona pública:
# iptables -t raw -S | grep CT -A PRE_public_allow -p tcp -m tcp --dport 21 -j CT --helper ftp
Eu não tentei desabilitar nenhum dos auxiliares padrão, mas a execução do comando acima não mostra essas regras. Nem faz sudo iptables-save | grep 21
. Por quê?
# rpm -q firewalld
firewalld-0.5.5-1.fc28.noarch
Parece que o "ajudante" do ftp só está ativado, se você permitir especificamente o "serviço" do ftp em arquivos
firewalld
. Para cada definição de auxiliar, deve haver uma definição de serviço correspondente.Originalmente, pensei que você só habilitaria um "serviço" se estivesse executando, por exemplo, um servidor FTP . O modo FTP passivo , preferido hoje em dia, ainda requer uma conexão extra. O cliente deve se conectar ao servidor em uma segunda porta, para transferir os dados do arquivo. O "auxiliar" é necessário para detectar qual porta está sendo usada e permitir essa conexão extra.
Nenhum dos auxiliares está marcado como
-client
(como o serviçodhcpv6-client
). Mas até onde eu sei, habilitar o serviço FTP em um cliente permitirá que ele use o modo ativo FTP original (supondo quefirewalld
seja o único firewall no caminho). Acho que este exemplo não é um grande problema de segurança, mas pode ser muito confuso :-(.(Nitpick: FedoraWorkstation vai permitir o modo FTP ativo de qualquer maneira, porque permite conexões de entrada para qualquer porta acima de 1024. Por favor, não me peça para explicar o porquê).
O segundo exemplo que olhei foi o auxiliar de irc, mas não consigo entendê-lo. Parece quebrado para mim.