Suporte para o FTP do Firewall do Azure

Para dar suporte a FTP, um firewall deve considerar os seguintes aspectos principais:

  • Modo FTP - ativo ou passivo
  • Local do cliente e do servidor – Internet ou intranet
  • Direção do fluxo – entrada ou saída

O Firewall do Azure dá suporte a cenários de FTP ativos e passivos. Para obter mais informações sobre o modo FTP, consulte FTP ativo versus FTP passivo, uma explicação definitiva.

Por padrão, o Firewall do Azure habilita o FTP Passivo e desabilita o suporte a FTP Ativo para proteger contra ataques de salto FTP que usam o comando FTP PORT.

No entanto, você pode habilitar o FTP Ativo ao implantar o Firewall do Azure usando o Azure PowerShell, a CLI do Azure ou um modelo do ARM do Azure. O Firewall do Azure pode dar suporte ao FTP ativo e passivo simultaneamente.

O ActiveFTP é uma propriedade do Firewall do Azure para a qual você pode habilitar:

  • Todos os SKUs do Firewall do Azure
  • Hub seguro e firewalls de rede virtual
  • Firewalls usando políticas e regras clássicas

Cenários com suporte

A tabela a seguir mostra a configuração necessária para dar suporte a vários cenários de FTP:

Dica

Lembre-se de que talvez você também precise configurar regras de firewall no lado do cliente para dar suporte à conexão.

Observação

  • Por padrão, o Firewall do Azure habilita o FTP Passivo e o FTP Ativo precisa de configuração extra. Para obter instruções, consulte a próxima seção.

  • A maioria dos servidores FTP não aceita dados e canais de controle de diferentes endereços IP de origem por motivos de segurança. Portanto, as sessões FTP por meio do Firewall do Azure devem se conectar com um único IP do cliente. Esse requisito significa que você nunca deve usar o tráfego FTP SNAT E-W com o IP privado do Firewall do Azure. Em vez disso, use o IP do cliente para fluxos de FTP. Para o tráfego FTP da Internet, provisione o Firewall do Azure com um único IP público para conectividade FTP. Use o Gateway de NAT para evitar o esgotamento do SNAT.

Cenário de firewall Modo de FTP ativo Modo de FTP passivo
VNet-VNet Regras de rede para configurar:
- Permitir tráfego da rede virtual de origem para a porta IP de destino 21
- Permitir da porta IP de destino 20 para a rede virtual de origem
Regras de rede para configurar:
- Permitir tráfego da rede virtual de origem para a porta de IP de destino 21
- Permitir da rede virtual de origem ao IP de destino <Intervalo de portas de dados>
Rede virtual externa – Internet

(Cliente FTP em rede virtual, servidor na Internet)
Não há suporte para 1 Regras de rede para configurar:
- Permitir da rede virtual de origem até a porta IP de destino 21
- Permitir da rede virtual de origem ao IP de destino <Intervalo de portas de dados>
DNAT de entrada

(Cliente FTP na Internet, servidor FTP na rede virtual)
Regra de DNAT para configurar:
- DNAT da fonte da Internet para a porta IP 21 da rede virtual

Regra de rede a ser configurada:
– Permitir o tráfego do IP do servidor FTP para o IP do cliente da Internet nos intervalos de portas FTP ativos.
Não há suporte para 2

1 O FTP ativo não funciona quando o cliente FTP deve acessar um servidor FTP na Internet. O FTP ativo usa um comando PORT do cliente FTP que informa ao servidor FTP qual endereço IP e porta usar para o canal de dados. O comando de porta usa o endereço IP privado do cliente que não pode ser alterado. O tráfego do cliente que passa pelo Firewall do Azure é NATeado para comunicações via Internet, portanto, o comando PORT é visto como inválido pelo servidor FTP. Essa é uma limitação geral do FTP ativo quando usado com um NAT do lado do cliente.

2 O FTP passivo pela Internet não tem suporte porque o tráfego de caminho de dados (do cliente da Internet por meio do Firewall do Azure) pode potencialmente usar um endereço IP diferente (devido ao balanceador de carga). Por motivos de segurança, não recomendamos alterar as configurações do servidor FTP para aceitar o controle e o tráfego do plano de dados de diferentes endereços IP de origem.

Implantar usando o Azure PowerShell

Para implantar usando o Azure PowerShell, use o AllowActiveFTP parâmetro. Para obter mais informações, consulte Criar um firewall com Permitir FTP ativo.

Atualizar um Firewall do Azure existente usando o Azure PowerShell

Para atualizar um Firewall do Azure existente usando o Azure PowerShell, defina o AllowActiveFTP parâmetro como True.

$rgName = "resourceGroupName"
$afwName = "afwName"
$afw = Get-AzFirewall `
    -Name $afwName `
    -ResourceGroupName $rgName
$afw.AllowActiveFTP = $true
$afw | Set-AzFirewall

Implantar usando a CLI do Azure

Para implantar usando a CLI do Azure, use o --allow-active-ftp parâmetro. Para obter mais informações, consulte criação de firewall de rede do az.

Implantar um modelo do Azure Resource Manager

Para implantar usando um modelo ARM, use o campo AdditionalProperties

"additionalProperties": {
            "Network.FTP.AllowActiveFTP": "True"
        },

Para obter mais informações, consulte Microsoft.Network azureFirewalls.

Próximas etapas