Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

FTP ALG

O protocolo de transferência de arquivos é um método amplamente usado para a troca de arquivos por redes IP. O FTP ALG monitora os comandos PORT, PASV e 227. Ele executa NAT no IP, na porta ou na abertura de mensagem e portão no dispositivo conforme necessário.

Visão geral do FTP ALG

O protocolo de transferência de arquivos (FTP) é um método amplamente usado para trocar arquivos por redes IP. Além da conexão de controle principal, as conexões de dados também são feitas para qualquer transferência de dados entre o cliente e o servidor; e o host, a porta e a direção são negociados por meio do canal de controle.

Para ftp de modo ativo, o serviço de firewall stateful Junos OS verifica os dados do aplicativo cliente para servidor para o comando PORT, que fornece o endereço IP e o número de porta ao qual o servidor se conecta. Para FTP de modo passivo, o serviço de firewall stateful Junos OS escaneia os dados do aplicativo cliente para servidor para o comando PASV e, em seguida, escaneia as respostas de servidor para cliente para a resposta 227, que contém o endereço IP e o número de porta a que o cliente se conecta.

O FTP representa os endereços e os números das portas no ASCII. Como resultado, quando endereços e portas são reescritos, o número de seqüência de TCP pode ser alterado e, depois disso, o serviço NAT precisa manter esse delta em números SEQ e ACK, realizando NAT sequência em todos os pacotes subsequentes.

O FTP ALG oferece suporte ao seguinte:

  • Aloca automaticamente portas de dados e permissões de firewall para conexão dinâmica de dados

  • Monitora a conexão de controle em modos ativos e passivos

  • Reescreve os pacotes de controle com o endereço NAT apropriado e informações de porta

  • Tradução de endereços de rede, tradução de protocolo (NAT-PT)

  • Segurança de camada de transporte (TLS) como o mecanismo de segurança

IPv6 FTP ALG para roteamento

As solicitações de PORTA/PASV e as respostas correspondentes de 200/227 no FTP são usadas para anunciar a porta TCP, que o host ouve para a conexão de dados FTP.

Os comandos EPRT/EPSV/229 são usados para essas solicitações e respostas. O FTP ALG já oferece suporte a EPRT/EPSV/229, mas apenas para endereços IPv4.

No Junos OS Release 10.4, os comandos EPRT/EPSV/229 foram atualizados para oferecer suporte a endereços IPv4 e IPv6.

O FTP ALG usa objcache preallocado para armazenar seus cookies de sessão. Quando os endereços IPv4 e IPv6 são suportados no FTP ALG, a estrutura de cookies de sessão será ampliada em 256 bits (32 bytes) para armazenar endereço IPv6.

Suporte FTP ALG para IPv6

O FTP ALG monitora comandos e respostas no canal de controle FTP para correção sintática e abre buracos correspondentes para permitir que conexões de canal de dados sejam estabelecidas. No Junos OS Release 10.4, o FTP ALG oferece suporte ao roteamento IPv4, roteamento IPv6 e apenas ao modo NAT. No Junos OS Release 11.2 e posteriores, o FTP ALG também oferece suporte aos modos IPv6 NAT e NAT-PT..

Entendendo os comandos FTP

O FTP ALG monitora comandos e respostas no canal de controle FTP para correção sintática e abre buracos correspondentes para permitir que conexões de canal de dados sejam estabelecidas. No Junos OS Release 10.4, o FTP ALG suportava o roteamento IPv4 e o modo NAT, e apenas o modo de roteamento IPv6. No Junos OS Release 11.2 e versões posteriores, o FTP ALG também oferece suporte aos modos IPv6 NAT e NAT-PT.

Comando port

O comando PORT é usado no modo FTP ativo. O comando PORT especifica o endereço e o número da porta a que um servidor deve se conectar. Quando você usa esse comando, o argumento é uma concatenação de um endereço de host de Internet de 32 bits e um endereço de porta TCP de 16 bits. As informações de endereço são inseridas em campos de 8 bits, e o valor de cada campo é transmitido como um número decimais (na representação de caracteres). Os campos são separados por vírgulas.

O seguinte é um comando PORT amostral, no qual h1 é a mais alta ordem de 8 bits do endereço de host da Internet:

PORTA h1,h2,h3,h4,p1,p2

Comando PASV

O comando PASV solicita a um servidor que ouça uma porta de dados que não seja a porta de dados padrão do servidor e aguarde uma conexão, em vez de iniciar outra conexão. A resposta ao comando PASV inclui o endereço de host e porta em que o servidor está ouvindo.

Comandos FTP estendidos

Os comandos FTP estendidos fornecem um método pelo qual o FTP pode comunicar as informações de endpoint de conexão de dados para protocolos de rede que não sejam IPv4. Os comandos FTP estendidos são especificados na RFC 2428. Na RFC 2428, os comandos FTP estendidos EPRT e EPSV substituem os comandos FTP PORT e PASV, respectivamente.

Comando EPRT

O comando EPRT permite a especificação de um endereço estendido para a conexão de dados. O endereço estendido deve consistir no protocolo de rede, bem como nos endereços de rede e transporte.

O formato da EPRT é:

EPRT<space><d><net-prt><d><net-addr><d><tcp-port><d>

Parâmetro

Descrição

net-prt

Um número familiar de endereço definido pela IANA.

net-addr

Uma seqüência específica de protocolo do endereço da rede.

porta tcp

Um número de porta TCP no qual o host está ouvindo a conexão de dados.

Delimitador

O personagem delimiter deve ser um dos caracteres ASCII na faixa de 33 a 126, inclusive. O personagem "|" (ASCII 124) é recomendado.

O comando a seguir mostra como especificar o servidor para usar um endereço IPv4 para abrir uma conexão de dados para hospedar 132.235.1.2 na porta TCP 6275:

EPRT |1|132.235,1,2|6275|

O comando a seguir mostra como especificar o servidor para usar um protocolo de rede IPv6 e um endereço de rede para abrir uma conexão de dados TCP na porta 5282:

EPRT |2|1080:8:800:200C:417A|5282|

Nesse modo, o FTP ALG se concentra apenas no comando EPRT; extrai o endereço e a porta IPv6 do comando EPRT e abre o buraco de pinos.

Modo EPSV

O comando EPSV solicita que um servidor ouça uma porta de dados e aguarde uma conexão. A resposta a este comando inclui apenas o número de porta TCP da conexão de escuta.

Um exemplo de string de resposta é o seguinte:

Nota:

O código de resposta para entrar no modo passivo usando um endereço estendido deve ser 229. Você deve extrair a porta TCP em 229 cargas e usá-la para abrir o buraco de pinos.

Exemplo: configurar o FTP ALG

Este exemplo mostra como configurar o NAT-PT para FTP ALG.

Requisitos

Antes de começar:

  • Configure o ARP proxy para todos os endereços IP no grupo NAT de origem.

  • Entenda os conceitos por trás da ALG para FTP. Veja a visão geral do FTP ALG.

Visão geral

Neste exemplo, o ALG para FTP está configurado para monitorar e permitir que o tráfego FTP seja trocado entre os clientes e o servidor localizado em lados opostos de um dispositivo da Juniper Networks.

Este exemplo mostra como configurar o NAT-PT para FTP ALG.

Configuração

Configuração de um pool de fontes NAT, pool estático de NAT e conjunto de regras

Configuração rápida de CLI

Para configurar rapidamente esta seção do exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para combinar com sua configuração de rede, copiar e colar os comandos no CLI no nível de [edit] hierarquia e, em seguida, entrar no commit modo de configuração.

Procedimento passo a passo

O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter instruções sobre como fazer isso, consulte o uso do Editor de CLI no modo de configuração no Guia de Usuário da CLI.

Para configurar um pool NAT de origem:

  1. Crie um nat de origem, NAT estático e conjunto de regras nat de interface.

  2. Associe o aplicativo NAT-PT usando uma política.

Resultados

A partir do modo de configuração, confirme sua configuração entrando no show security nat comando. Se a saída não exibir a configuração pretendida, repita as instruções de configuração neste exemplo para corrigi-la.

Se terminar de configurar o dispositivo, entre no commit modo de configuração.

Configuração da extensão de segurança FTP ALG

Propósito

Defina a extensão alg ftp de segurança

Ação

A partir do modo de configuração, entre no seguinte comando.

Verificação

Para confirmar que a configuração está funcionando corretamente, execute essas tarefas:

Verificando o pool de origem do NAT, o conjunto de regras do nat pool estático

Propósito

Verifique se o grupo de origem e o conjunto de regras do NAT usados para dar suporte ao FTP ALG estão funcionando corretamente.

Ação

A partir do modo operacional, entre no show configuration security nat comando.

Verificação de ALGs FTP

Propósito

Verifique se o FTP ALG está habilitado.

Ação

A partir do modo operacional, entre no show security alg status comando.

Significado

A saída mostra o status de ALG FTP da seguinte forma:

  • Habilitado — mostra que o FTP ALG está habilitado.

  • Desativado — mostra que o FTP ALG está desativado.

Nota:

O FTP ALG é habilitado por padrão.

Tabela de histórico de lançamento
Soltar
Descrição
11.2
No Junos OS Release 11.2 e versões posteriores, o FTP ALG também oferece suporte aos modos IPv6 NAT e NAT-PT.
10.4
No Junos OS Release 10.4, os comandos EPRT/EPSV/229 foram atualizados para oferecer suporte a endereços IPv4 e IPv6.
10.4
No Junos OS Release 10.4, o FTP ALG oferece suporte ao roteamento IPv4, roteamento IPv6 e apenas ao modo NAT.