FTP, o que significa Protocolo de transferência de arquivos, é um protocolo de rede padrão usado para a transferência de arquivos de computador entre um cliente e um servidor em uma rede baseada em TCP/IP, como a Internet.
No final do artigo você encontrará um pequeno teste isso vai permitir a você avaliar o conhecimento adquirido nesta leitura
FTP é uma forma de permitir a transferência segura de arquivos de um local para outro e também pode permitir o gerenciamento de arquivos no servidor.
No FTP, existem dois modos de conexão: FTP ativo e FTP passivo.
FTP ativo
No FTP ativo, a conexão é iniciada do cliente para uma porta de comando no servidor. Quando o cliente solicita uma transferência de arquivo, o servidor inicia a conexão de dados de volta ao cliente.
O fluxo de informações no Active FTP ocorre da seguinte forma:
- O cliente se conecta de uma porta aleatória (N) à porta 21 do servidor (a porta para FTP) e envia o comando PORT ao servidor. Este comando informa ao servidor a qual porta conectar-se (porta N+1).
- Assim que o servidor recebe este comando, ele se conecta de sua porta de dados (geralmente a porta 20) à porta especificada pelo cliente (N+1) e inicia a transferência de dados.
Vantagens do FTP ativo
- Facilita a configuração do servidor: O FTP ativo é mais fácil de configurar no lado do servidor porque você só precisa abrir e escutar uma única porta (porta 21).
Desvantagens do FTP ativo
- Problemas de firewall: Os clientes protegidos por um firewall geralmente encontram problemas com o FTP ativo. Isso ocorre porque o firewall considera a conexão de dados iniciada pelo servidor como não solicitada e a bloqueia.
- Requisitos de segurança: Pode ser um risco à segurança, pois o servidor inicia a conexão de dados com o cliente, que pode ser explorada por um invasor.
Resumindo, o Active FTP é útil e fácil de configurar no lado do servidor. No entanto, pode ter problemas com firewalls de clientes e apresentar certos riscos de segurança.
Por esses motivos, muitas organizações optam por usar o FTP Passivo, que, embora possa ser mais difícil de configurar no servidor, apresenta menos problemas com firewalls e fornece melhor controle sobre as conexões de dados.
O FTP ativo geralmente é usado nos seguintes cenários
Servidores com restrições rígidas de firewall: Se o servidor FTP estiver protegido por um firewall com políticas de segurança rígidas que limitam as portas que podem ser usadas para conexões de entrada, o FTP ativo pode ser uma opção viável, pois só precisa abrir e escutar a porta 21.
Limitações de recursos do servidor: No FTP ativo, o servidor só precisa abrir e escutar uma única porta para todas as conexões de dados. Isso pode ser benéfico se o servidor tiver recursos limitados e não conseguir abrir múltiplas portas conforme exigido no FTP passivo.
Controle de rede: Alguns administradores de rede podem preferir o FTP ativo porque permite maior controle sobre as conexões de dados. No Active FTP, o servidor inicia a conexão de dados, o que significa que os administradores podem ter maior controle sobre as transferências de dados.
FTP passivo
O FTP Passivo foi projetado para superar os problemas de firewalls e roteadores na conexão de dados do FTP Ativo. Ao contrário do FTP Ativo, no FTP Passivo é o cliente quem inicia ambas as conexões (a conexão de comando e a conexão de dados) com o servidor.
O fluxo de informações no FTP passivo é o seguinte:
- O cliente se conecta de uma porta aleatória (N) à porta 21 no servidor (a porta para FTP) e envia o Comando PASV para o servidor. Este comando informa ao servidor que está em modo passivo e aguardando uma resposta do servidor com porta para conexão de dados.
- O servidor responde da porta 21 para a porta N do cliente, disponibilizando uma porta não privilegiada (maior que 1023) para receber a conexão de dados.
- O cliente então inicia a segunda conexão de outra porta aleatória (N+1) para aquela porta sem privilégios especificada pelo servidor. Assim que esta conexão for estabelecida, a transferência de dados começa.
Vantagens do FTP passivo
- Superando problemas com firewalls e roteadores: Firewalls e roteadores normalmente permitem conexões iniciadas pelo cliente, portanto o FTP Passivo geralmente não apresenta os problemas de firewall que ocorrem com o FTP Ativo.
- Segurança melhorada: Como o cliente inicia todas as conexões, há menos risco de ataques do servidor.
Desvantagens do FTP Passivo
- Configuração de servidor mais complexa: No FTP Passivo, o servidor deve ser capaz de fornecer e abrir múltiplas portas sem privilégios para conexões de dados, o que pode ser mais difícil de configurar e gerenciar do que no FTP Ativo.
- Aumento da carga no servidor: Como o servidor precisa lidar com múltiplas conexões iniciadas pelo cliente, pode exigir mais recursos do servidor.
Concluindo, o FTP Passivo fornece uma solução para os problemas de firewall que ocorrem frequentemente com o FTP Ativo e também pode fornecer segurança aprimorada. No entanto, pode ser mais difícil de configurar no servidor e exigir mais recursos do servidor.
O FTP passivo é geralmente usado nos seguintes cenários
Clientes atrás de um firewall: O FTP passivo é útil quando o cliente está protegido por um firewall que não permite conexões de entrada. No FTP passivo, é o cliente quem inicia todas as conexões, portanto os firewalls geralmente permitem essas conexões.
NAT (tradução de endereços de rede): Se o cliente estiver atrás de um NAT, poderá haver problemas com o FTP ativo porque o NAT pode não saber como lidar com a conexão de dados iniciada pelo servidor. O FTP passivo pode evitar esse problema porque todas as conexões são iniciadas pelo cliente.
Segurança: Algumas organizações podem preferir o FTP passivo devido a considerações de segurança. Como todas as conexões são iniciadas pelo cliente, há menos risco de ataques do servidor.
Transmissão de dados em grande escala: O FTP passivo pode lidar com um grande número de transferências simultâneas de dados, pois cada transferência possui sua própria conexão de dados. Isto pode ser benéfico em cenários onde são necessárias muitas transferências simultâneas de dados.
Exemplos de configuração em um dispositivo Cisco
Configuração para FTP ativo
Neste caso, você definiu a interface a partir da qual o roteador inicia as conexões FTP e especificou o nome de usuário e a senha a serem usados nas conexões FTP.
Router(config)# ip ftp source-interface FastEthernet 0/0
Router(config)# ip ftp username myusername
Router(config)# ip ftp password 0 mypassword
Configuração de FTP passivo
O comando 'ip ftp passiva' configura o roteador para usar FTP passivo em vez de FTP ativo. O nome de usuário e a senha para conexões FTP podem ser configurados da mesma forma que o FTP ativo.
Router(config)# ip ftp passive
Exemplos de configuração em um dispositivo MikroTik
Configuração para FTP ativo
Este comando 'fetch' inicia uma transferência de arquivos do roteador MikroTik (cliente) para o servidor FTP. O modo padrão é FTP ativo.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
Configuração de FTP passivo
Ao adicionar a opção 'passivo: sim', o comando 'fetch' usará FTP passivo em vez de FTP ativo.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
passive: yes
Tabela comparativa dos modos de conexão FTP ativo e FTP passivo
FTP ativo | FTP passivo | |
---|---|---|
Vantagens | 1. Configuração mais fácil no servidor: apenas uma única porta precisa ser aberta e escutada. | 1. Menos problemas com firewalls e NAT porque o cliente inicia todas as conexões. |
2. Menor demanda de recursos do servidor: O servidor só precisa abrir e escutar uma única porta. | 2. Melhora a segurança, pois todas as conexões são iniciadas pelo cliente. | |
3. Maior controle de rede: O servidor inicia conexões de dados. | 3. Ele pode lidar com um grande número de transferências simultâneas de dados, pois cada transferência tem sua própria conexão de dados. | |
Desvantagens | 1. Problemas com firewalls e NAT do lado do cliente: podem bloquear a conexão de dados iniciada pelo servidor. | 1. Configuração mais complexa no servidor: múltiplas portas devem ser fornecidas e abertas. |
2. Possíveis riscos de segurança: O servidor inicia a conexão de dados com o cliente. | 2. Aumento da demanda por recursos do servidor: O servidor precisa lidar com múltiplas conexões iniciadas pelo cliente. |