FTP, FTPS e SFTP: o que são, funcionamento e importância?

O FTP é um exemplo de algo que muitos usam sem saber bem o que estão fazendo, tampouco conhecem bem o que é, como funciona e a sua importância.

No bate-papo de hoje, isso vai mudar, porque esclareceremos as dúvidas mais comuns a respeito desse recurso tão útil e presente desde os primórdios da rede mundial de computadores.

Vamos ao que interessa?

O que é FTP?

O FTP é a sigla para File Transfer Protocol, ou seja, é um dos muitos protocolos de Internet, cuja função é realizar a transferência de arquivos entre dois pontos de uma rede de computadores ou na Web, por meio de um conjunto definido de parâmetros.

Como todo protocolo de Internet, consiste de um conjunto de regras precisas e rígidas de como deve ocorrer a conexão entre os dois computadores e em que condições deve ser feita a troca de arquivos.

Graças ao FTP, você pode:

  • Transferir arquivos entre quaisquer computadores ou servidores que estejam conectados à Internet ou que façam parte de uma mesma rede de computadores;

  • Trocar arquivos entre computadores que usam sistemas operacionais totalmente diferentes;

  • Acessar pastas / diretórios inteiros de dispositivos e efetuar diferentes ações (listar, mover, apagar, enviar, baixar, renomear, etc) sobre os arquivos contidos.;

Ou seja, esse protocolo é essencial para diversas situações que envolvem o gerenciamento de diretórios e arquivos entre dois pontos de uma rede local (LAN) ou no escopo da Web (WAN).

Quando a transferência de arquivos de um computador cliente para um computador servidor é chamada de "upload". A transferência de um servidor para um cliente é denominada "download".

Mas para além de nomear um protocolo, o uso da sigla também tem relação com outros contextos.

No primeiro, costuma-se fazer uso do termo como o programa usado para realizar tais transferências. Nestes casos, é usual nos referirmos como programa ou cliente de FTP.

No segundo contexto alternativo, o FTP quase que assume a condição de ação, quando alguém que transfere arquivos usando o protocolo, diz: “estou fazendo FTP para publicar o site”. Para quem não está familiarizado com este tipo de linguagem, é a situação em que a pessoa faz uso do protocolo FTP para fazer upload do conteúdo do site para o servidor no qual o site será hospedado.

Um pouco de história

O FTP é um protocolo que foi criado em 1971, quando a Internet ainda nem era assim chamada, e tinha como propósito enviar e receber arquivos em redes baseados em texto. Ou seja, na época se destinava apenas ao acesso a um computador remoto em redes de computadores, para obter ou enviar arquivos.

Desde então, recebeu diversas melhorias e evoluiu para se adequar às novas tecnologias que surgiram, aos sistemas operacionais nos quais vem sendo utilizado, bem como à transformação das redes de computadores, como por exemplo, o uso do protocolo TCP / IP, algo que nem existia quando do seu surgimento.

Sem dúvida, ao longo das redefinições para adequações aos novos cenários, as melhorias mais importantes foram as relacionadas à segurança do protocolo, pois por ocasião da sua criação, o FTP não se destinava ao uso na Internet e sim em redes locais cabeadas, lembrando que também não havia Wi-Fi.

Sendo assim, os problemas envolvendo a fragilidade quanto à segurança, recebeu redefinições e inovações, especialmente duas:

  • FTPS – realiza criptografia dos dados por meio de uma conexão TLS/SSL, o chamado FTPS ou FTP sobre TLS/SSL;

  • SFTP – um protocolo inteiramente novo de transferência segura de arquivos que funciona sobre o SSH (Secure Shell) e sua característica de criptografar a comunicação entre cliente e servidor.

Logo, hoje em dia – e aqui neste post – quando há menção ao FTP, na verdade estamos nos referindo ao FTPS ou ao SFTP, sendo que o segundo é o mais comum na maioria das situações.

Diferenças básicas entre FTPS e SFTP

Na tabela a seguir, fica fácil observar as principais distinções entre o FTPS e o SFTP:

Característica

FTPS

SFTP

Baseado em

FTP

SSH

Porta padrão

21 (ou 990 no modo implícito)

22

Número de conexões

Múltiplas

Uma única

Criptografia

TLS/SSL

SSH

Certificados

Sempre

Opcional

Problemas com firewall

Mais comuns

Menos comuns

Adoção

Menos comum

Mais comum

 

O que é um cliente de FTP?

Objetivamente, um cliente de FTP é um programa que é usado para transferir arquivos e/ou efetuar ações entre computadores conectados à Internet ou que façam parte de uma rede local ou intranet.

Um cliente de FTP se conecta a outro computador, por meio de um nome de host, um domínio ou um endereço IP, fornecendo um nome de usuário e senha, especialmente quando é necessário fazer upload de arquivos e conteúdo para seu site ou blog.

Alguns poucos servidores de FTP, não exigem autenticação ou login por meio de usuário e senha, quando se tratam de servidores para o download de conteúdo.

Um cliente de FTP padrão, normalmente exibe uma interface em que é possível visualizar em cerca de metade da tela a estrutura de arquivos e pastas do computador de onde o acesso está sendo feito e na outra metade, com aparência similar, a estrutura de pastas e arquivos do computador ou servidor ao qual o cliente se conectou. Além disso, há botões relativos aos principais comandos ou funções que é possível executar durante a conexão.

Como o FTP funciona?

Tal como acontece com os diferentes protocolos de Internet, o FTP também compreende uma série de passos bem determinados:

  1. Antes de qualquer transferência de arquivos, cliente e servidor precisam estabelecer uma conexão TCP. Isso ocorre por meio do chamado "three-way handshake" (ou "triplo aperto de mãos"), um processo em que os dois computadores confirmam que estão prontos para se comunicar;

  2. Após estabelecer a conexão com o servidor FTP, normalmente é necessário realizar a autenticação. Para isso, o cliente envia um nome de usuário e uma senha, que são validados pelo servidor antes que seja permitido acessar diretórios, listar arquivos ou realizar transferências. Dependendo da configuração do servidor, também é possível permitir acesso anônimo (Anonymous FTP), no qual o usuário pode acessar determinados conteúdos sem a necessidade de credenciais específicas;

  3. A conexão FTP utiliza um número de porta padrão, pela qual o servidor FTP "escuta" conexões. Uma porta é um ponto de conexão lógica para comunicação, que faz uso do Protocolo da Internet (IP). A porta padrão do FTP é a 21. Ela é usada para a troca de comandos e respostas entre cliente e servidor, como login, listagem de diretórios e solicitação de transferência de arquivos;

  4. O FTP usa uma conexão para comandos (na porta 21) e outra para enviar e receber dados (os arquivos). Além da transferência de dados ou arquivos, o FTP é também usado para executar comandos. Dessa forma, quando é estabelecida a conexão entre dois computadores, pode-se por exemplo, executar um comando para listar o conteúdo de uma pasta / diretório, ou apagá-la, ou movê-la, entre outras possibilidades;

  5. Como a porta 21 é usada exclusivamente para enviar comandos, ela também é chamada de porta de comando. Sendo assim, para obter uma lista de pastas e arquivos presentes no servidor FTP, o programa de FTP envia um comando "LIST" na porta 21. Por sua vez, o servidor cria ou utiliza uma conexão de dados para transmitir a listagem de arquivos e diretórios;

  6. A porta usada para transferir dados é chamada de porta de dados. O número da porta de dados varia dependendo se a conexão é passiva ou ativa. Em termos de servidor, é possível estabelecer conexões FTP ativas, passivas ou ambas;

  7. Quando se configura o cliente de FTP para realizar uma conexão ativa, o cliente abre uma porta e informa ao servidor qual é essa porta. Em seguida, o servidor estabelece a conexão de dados utilizando a porta informada pelo cliente. Já nos casos em que é estabelecida uma conexão FTP passiva, é o servidor que determina e abre uma porta, momento a partir do qual ele passa a aguardar a conexão iniciada pelo cliente;

  8. A maioria dos clientes de FTP, tem como configuração padrão o modo de conexão passiva, já que por questões de segurança um servidor costuma restringir conexões ativas. Por essa razão, no modo passivo, o servidor abre uma porta de dados temporária, geralmente escolhida dentro de uma faixa configurada pelo administrador, e informa esse número ao cliente para que a conexão seja estabelecida;

  9. Uma característica importante do FTP é que ele utiliza duas conexões simultâneas: uma conexão de controle, normalmente estabelecida pela porta 21, responsável pelo envio de comandos e respostas, e uma conexão de dados, utilizada para transferir arquivos e informações de diretórios. Essa separação contribui para tornar a comunicação mais organizada e flexível.

Firewalls, roteadores NAT e políticas de segurança de redes corporativas ou residenciais podem dificultar conexões FTP, especialmente no modo ativo. Por esse motivo, atualmente o modo passivo é o mais utilizado, pois nele todas as conexões são iniciadas pelo cliente, reduzindo problemas de compatibilidade com firewalls e mecanismos de tradução de endereços de rede (NAT).

Note que o FTPS é essencialmente o protocolo “FTP tradicional” acrescido de criptografia SSL/TLS. Portanto, continuam válidos conceitos acima.

Como funciona o SFTP?

Apesar do nome semelhante, o SFTP não é meramente uma versão segura do FTP. Trata-se de um protocolo diferente, baseado no SSH e com funcionamento próprio, com as seguintes características:

  • Existe apenas uma única conexão;

  • Utiliza normalmente a porta TCP 22, a mesma empregada pelo protocolo SSH;

  • Todos os comandos e dados trafegam por esse único canal;

  • Não existem portas de dados dinâmicas;

  • Não existem modos ativo e passivo;

  • O funcionamento é muito mais simples sob a perspectiva de firewalls e NAT.

Quando usar o FTP?

Nos primeiros anos da Internet comercial predominava o modelo em que o site era elaborado localmente, ou seja, em um computador de um web designer ou de uma agência e uma vez que estivesse pronto para publicação, era enviado via FTP para o servidor em que seria hospedado.

No entanto, de alguns anos para cá, particularmente com a popularização dos CMSs como o WordPress e de plataformas de desenvolvimento e publicação mais modernas, como os construtores de sites, tornou-se comum que o conteúdo seja criado, testado e publicado diretamente no servidor ou em ambientes integrados ao sistema de gerenciamento do site, reduzindo a necessidade de transferências frequentes via FTP.

Sendo assim, o uso do FTP (cliente e protocolo) para a finalidade que fez dele tão popular, caiu drasticamente. Porém ainda há situações em que pode ser uma alternativa útil e prática.

  • Transferência de arquivos entre servidores (ex: migração de hospedagem), normalmente usando o SFTP, que conforme vimos faz uso do protocolo SSH (Secure Shell), que confere maior segurança às transferências;

  • Envio ou recebimento de arquivos individuais de forma rápida e prática, especialmente quando o acesso ao sistema é fornecido apenas por FTP, FTPS ou SFTP;

  • Restauração de backup que tenha sido armazenado localmente, quando se faz o upload do conteúdo de forma igual ao que se fazia para a publicação de sites antigamente;

  • Download de arquivos. Situação análoga ao upload, porém para baixar conteúdo;

  • Transferência de estruturas completas e complexas de pastas e arquivos, devido aos recursos que o FTP oferece;

  • Alterações diretamente nas pastas, como a criação de novas pastas, movê-las para outros diretórios, apagá-las, etc;

  • Mudar as permissões (CHMOD) de pastas e arquivos em sistemas Linux;

  • Publicação manual de aplicações, páginas estáticas, temas, plugins ou arquivos de configuração em servidores web;

  • Correção rápida de arquivos quando o painel administrativo do site está inacessível ou apresenta falhas. Esse é um uso extremamente comum para WordPress, Joomla e afins;

  • Inspeção da estrutura de arquivos de um site para localizar logs, arquivos de configuração, imagens, scripts e conteúdos enviados pelos usuários;

  • Troca automatizada de arquivos entre sistemas corporativos, ERPs, plataformas de e-commerce, sistemas bancários e parceiros comerciais. Muitas empresas ainda usam FTPS e SFTP para tal finalidade.

Em outras palavras, embora o FTP tradicional já não seja mais tão fundamental na publicação de sites, clientes FTP, FTPS e SFTP continuam sendo ferramentas importantes para administração de servidores, migração de dados, restauração de backups, manutenção de sites e integração de sistemas. Por esse motivo, ainda fazem parte do conjunto de ferramentas de muitos administradores de sistemas, desenvolvedores e profissionais de infraestrutura.

Conclusão

Compreender o funcionamento do FTP é essencial para gerenciar seu site com autonomia, resolver falhas e realizar migrações de forma segura. Embora as plataformas modernas tenham facilitado a rotina, dominar o uso de clientes FTP, FTPS e SFTP garante mais controle sobre sua infraestrutura. Escolha um bom programa de transferência e mantenha seus arquivos organizados e protegidos!

Comentários ({{totalComentarios}})