Pplware

Conheça as diferenças entre o modo FTP ativo e passivo

O FTP (File Transfer Protocol) é um serviço baseado em TCP (Transmission Control Protocol), amplamente utilizado para transferir ficheiros através de redes de dados.

O termo FTP pode referir-se tanto ao protocolo, como ao programa que implementa este protocolo (Servidor FTP, Cliente FTP). Este, utiliza dois modos de operação, ativo e passivo. Conheçamos então o que os difere.


Os dois modos FTP funcionam consoante a configuração do servidor e do cliente. Ambos utilizam dois canais de comunicação entre o servidor, o de comandos e o de dados, separados por duas ligações TCP. O canal de comandos é utilizado, como o próprio nome indica, para enviar comandos e receber a resposta. Já o canal de dados, é utilizado para transferir dados.

Modo Ativo (Padrão)

Este modo funciona quando o cliente requisita o servidor, enviando um comando PORT, através de um porto aleatório, com um pacote endereçado ao porto 21, a fim de transferir um ficheiro. Uma vez estabelecida a ligação, o servidor inicia uma segunda.

O servidor, através do porto 20, contacta de imediato o porto seguinte do cliente, ou seja, imaginemos que o porto utilizada na primeira ligação, por este, foi a 1500, a utilizada para efeitos da segunda ligação será a 1501, designada para o canal de dados.

Uma vez estabelecida a ligação, todas as transferências de ficheiros são feitas através dessas mesmos portos, entre o cliente e servidor. Portanto, o cliente estabelece o canal de comandos, mas é o servidor que estabelece o canal de dados.

No segundo esquema, a presença de uma firewall bloqueia a tentativa de comunicação entre servidor e cliente, uma vez que o servidor utiliza um porto diferente da primeira ligação.

Resumindo (Modo ativo):

  1. O cliente abre o canal de comandos através do porto 1500
  2. Envia o comando PORT para dirigido ao porto 21 do servidor
  3. O servidor confirma a ligação do canal de comandos
  4. Abre o canal de dados na porto 20 para o cliente no porto 1501
  5. O cliente confirma a ligação pelo canal de dados
  6. Os canais de comandos e dados estão abertos e prontos a sua atividade

Modo Passivo

Neste, o cliente também contacta, primeiramente, o porto 21 do servidor FTP, através de um comando PASV. Em vez de iniciar uma segunda ligação de imediato, o servidor responde que o cliente apenas o pode contactar através de um segundo porto, diferente da primeira. É então realizada uma segunda ligação entre o cliente e o servidor para a transferência de dados.

A firewall não bloqueia a tentativa de comunicação entre o servidor e o cliente, visto ter sido o cliente quem iniciou a ligação ambas as vezes.

O modo passivo é utilizado, geralmente, em situações que o servidor FTP não consiga estabelecer o canal de dados, por culpa da firewall, mesmo que exista uma regra no servidor FTP.

Para um melhor controlo sobre a rede, o mais indicado será utilizar o modo ativo, que apenas requer a abertura dos portos 20 e 21. Já o modo passivo, obriga à abertura de vários portos, deixando a rede mais exposta e com vários pontos de vulnerabilidade, precisamente por estarem mais portos acessíveis.

Resumindo (Modo Passivo):

  1. O cliente abre o canal de comandos através do porto 1500
  2. Envia o comando PASV para o servidor dirigido ao porto 21
  3. O comando altera a transmissão para o modo passivo
  4. Através do canal de comandos, o servidor envia ao cliente o porto que irá escutar o canal de dados, por exemplo 2345
  5. O cliente abre o canal de dados no porto 1501 para o porto 2345 do servidor
  6. O servidor confirma a ligação do canal de dados
  7. Os canais de comandos e dados estão abertos e prontos a sua atividade

 

São estas as principais diferenças entre os modos Ativo e Passivo do protocolo FTP. É importante conhecê-las para nos podermos adaptar em situações em que estejamos com problemas ou que tenhamos de nos adaptar a uma rede com uma firewall mais restritiva.

Exit mobile version