Protocolos: FTP, FTPS e SFTP
FTP, FTPS e SFTP: saiba a diferença desses protocolos
A internet está repleta de termos e siglas que usamos todos os dias, mas às vezes não sabemos exatamente sua definição. Hoje, você descobrirá o que significa cada uma destas siglas:
FTP,
FTPS
SFTP.
Acompanhe a matéria e fique por dentro. ;)

FTP - File Transfer Protocol
Na tradução objetiva, essa sigla significa "Protocolo de Transferência de Arquivo". Ele funciona criando uma ponte direta para a troca de dados entre Cliente e Servidor, este ultimo onde o arquivo é hospedado, permitindo que você acrescente informações ou faça modificações no mesmo, dependendo logicamente das permissões do lado SERVIDOR.
Mas, na prática, como isso se aplica?
Imagine que você tenha que operar algum site para seu negócio e, para isso, precise de várias páginas de um script de linguagem. Mesmo que você possua um computador com bastante espaço, salvar nele as informações do site não é o mais recomendado.
Em casos como esse, o melhor a se fazer é utilizar o FTP. Como dissemos, ele funcionará como um canal entre seu computador (client) e o servidor (server) onde o site estará hospedado. Com isso, caso você precise adicionar ou alterar funcionalidades do site, isso será feito usando o protocolo FTP, e não direto na página.
Como esse protocolo é um intermediário entre seu PC e o servidor, ele ajuda muito na hora de armazenar dados. Ou seja, você não precisará lotar seu hd com as informações do site, que poderão ser alocadas no FTP. E mais: em casos de quedas ou eventuais falhas que apaguem dados do seu site, você poderá usar o FTP como um armazenador para backups.
Para os casos de simples trasferencia de arquivos, aconselho utilizar sempre um aplicativo CLIENT como CUTE FTP ou FILEZILLA. Independente do tipo usado no lado SERVER a conexão é sempre pela porta 21 ou alguma pré-definida, indicada pelo endereço host do servidor/provedor do serviço.
Já, para casos de automação em aplicações ou uso em sistemas especificos, por muitas vezes é necessarios atentar-se a questão do modo passivo (PASSIVE MODE), e a uma atenção maior nas configurações de firewall/direcionamento de portas altas, no lado Servidor da aplicação FTP. Pois tende a usar portas TCP/UDP aleatorias, podendo, na maioria das vezes, ser definidas dentro da própria aplicação server.
FTPS - File Transfer Protocol over SSL
Alguns podem definir como um FTP com um toque a mais de segurança. E em suma, é isso que o FTPS é. Neste protocolo, há a presença da tecnologia SSL (Secure Socket Layer), que é uma camada que criptografa as informações tramitadas entre os pontos envolvidos na troca. Com o FTPS, é como se as informações fossem convertidas em "enigmas" durante a transmissão e voltassem a ser decifráveis em seu destino.
FTPS implícito e explícito
Existem duas categorias nesse protocolo: a com SSL implícito e explícito. Com a primeira, todas as informações são automaticamente criptografadas durante a transmissão. Enquanto com o explícito, o cliente pode escolher quais informações ficarão sob criptografia.
Para uso do FTPS é necessário que tenha implementado na aplicação FTP-Server de um certificado de segurança SSL, que muitas vezes pode ser gerado direto no proprio aplicativo, como é o caso do FILEZILLA SERVER. E também é extremamente necessário que seja liberada/direcionada a porta 990 pelo firewall, além da porta 21 para FTP (normal).
Com esses recursos alinhados seu acesso FTPS é simplesmente feito de qualquer aplicação FTP, bastando aceitar o certificado.
SFTP - Secure File Transfer Protocol
A premissa do SFTP é a mesma do protocolo anterior: um FTP com uma "camada extra de segurança". No entanto, neste caso, a tecnologia em uso é a SSH (Secure Shell). O SSH é um protocolo que proporciona mais segurança na conexão entre os pontos A e B. Como? Explicaremos a seguir.
Diferente da transmissão em fluxo que havia no FTP e no FTPS, aqui, as informações serão empacotadas em SSH. Com isso, o usuário poderá configurar passwords privados que irão reforçar a segurança ao acesso desses pacotes.
Secure Shell (SSH) é um protocolo de rede criptográfico para operação de serviços de rede de forma segura sobre uma rede insegura, conhecido por acessos a servidores LINUX/UNIX.
O SSH fornece um canal seguro sobre uma rede insegura em uma arquitetura cliente-servidor, conectando uma aplicação cliente SSH com um servidor SSH.[2] Aplicações comuns incluem login em linha de comando remoto e execução remota de comandos, mas qualquer serviço de rede pode ser protegido com SSH. A especificação do protocolo distingue entre duas versões maiores, referidas como SSH-1 e SSH-2.
A aplicação mais visível do protocolo é para acesso a contas shell em sistemas operacionais do tipo Unix, mas também verifica-se algum uso limitado no Windows. Em 2015, a Microsoft anunciou que incluiriam suporte nativo para SSH em uma liberação futura.
O SSH foi projetado como um substituto para o Telnet e para protocolos de shell remotos inseguros como os protocolos Berkeley rlogin, rsh e rexec. Estes protocolos enviam informações, especialmente senhas, em texto simples, tornando-os suscetíveis à interceptação e divulgação usando análise de pacotes. A criptografia usada pelo SSH objetiva fornecer confidencialidade e integridade de dados sobre uma rede insegura, como a Internet.Como usar:
Para uso do SFTP é necessário que tenha implementado no servidor uma aplicação especifica de comunicação por SSH . E também liberação/direcionamento de firewall nas portas de SSH/TELNET 22/23.
Resumo
FTPS é um FTP com SSL para segurança. Ele usa um canal de controle e abre novas conexões para a transferência de dados. Como ele usa SSL, ele requer um certificado.
SFTP foi concedido como uma extensão do SSH para fornecer capacidade de transferência de arquivo, então ele geralmente utiliza apenas a porta SSH para o controle dos dados.
Os prós e contras FTPS
FTPS>
Prós
- Amplamente conhecido e utilizado;
- A comunicação pode ser lida e compreendida por um ser humano;
- Fornece serviços para transferência de arquivos para o servidor;
- Possui bom mecanismo de autenticação SSL/TLS (características do certificado X.509);
- O suporte ao FTP e SSL/TLS é feito em muitas estruturas de comunicação na internet;
Contras
- Não tem um formato de listagem de diretório uniforme;
- Requer um canal de dados secundário, que o torna difícil de usar com firewalls;
- Não tem boa codificação e caracteres para nome de arquivos. Isso é ruim principalmente no Brasil onde temos nomes de arquivos com acentos, cedilhas e outros;
- Nem todos os servidores FTP suporte o SSL/TLS;
- Não tem uma maneira padrão para obter e alterar os atributos de arquivos ou diretórios;
SFTP>
Prós
- Tem boas operações em background;
- Possui apenas uma conexão (sem necessidade de uma conexão de dados);
- A conexão é sempre criptografada e protegida;
- A listagem de diretórios é uniforme e legível por máquina;
- O protocolo inclui operações para permitir a manipulação de atributos, bloqueio de arquivos e outras funcionalidades;
Contras
- A comunicação é binária e pode não estar conectada para leitura humana;
- Chaves SSH são mais difíceis de gerenciar e validar;
- As normas definem certas coisas como opcional ou recomendados, o que leva a certos problemas de compatibilidade entre títulos de software diferentes entre fornecedores;
- Não há operações recursivas de remoção de diretórios entre servidores;
- Não há suporte built-in em VCL e frameworks .NET;
Conclusão
Agora, você já sabe que os protocolos tem somente os nomes parecidos, eles tem peculiaridades técnicas e segurança muito direnciadas cabendo a cada administrador de redes ou empresa selecionar o protocolo que ira atender melhor a sua necessidade.
Testes:
Você pode fazer testes de FTP usando o site abaixo:
https://ftptest.net/
Já os testes de portas podem ser no:
https://ping.eu/port-chk/
Até mais! E muito cuidado, pra não confundir as siglas.
Fontes: Wikipedia / Copel / NFStools