Protocolo de transferência de arquivos SSH – IOT Parte 45

No tutorial anterior, vimos como o protocolo FTP pode ser usado para atualizar software de aplicação em um dispositivo IoT. No entanto, o protocolo FTP tem algumas preocupações de segurança, pois é vulnerável a vários tipos de ataques, como ataque de força bruta, ataque de rejeição de FTP, captura de pacotes, roubo de porta (adivinhar a próxima porta aberta e usurpar uma conexão legítima), ataque de falsificação, enumeração de nome de usuário, etc. Portanto, foram desenvolvidas variantes seguras de protocolos FTP. O protocolo de transferência de arquivos SSH é uma das variantes seguras do protocolo FTP.

Símbolo do protocolo de transferência de arquivos SSH (SFTP)

Figura 1: Símbolo do Protocolo de Transferência de Arquivos SSH (SFTP)

O SSH File Transfer Protocol/Secure File Transfer Protocol (SFTP) foi projetado para acesso, transferência e gerenciamento de arquivos em um fluxo de dados confiável e seguro. Ele foi projetado pela Internet Taskforce (IETF) para fornecer capacidade segura de transferência de arquivos. Mais tarde, a IETF afirmou que foi projetado como uma extensão do SSH (Secure Shell) para transferir arquivos através de uma conexão segura usando TLS.
Por que precisa de SFTP –
O FTP foi usado para transferir arquivos, mas não por um canal seguro, então o SFTP foi desenvolvido. Provavelmente não é um protocolo FTP sobre SSH, é um novo protocolo que suporta muitas operações de arquivos na rede. Oferece acesso fácil, mas seguro, aos arquivos por meio de conexão remota. Também pode ser usado como SSH-1 e SSH-2.
Recursos SFTP –
SFTP vem com muitas vantagens sobre FTP, como
1. Retomar transferências de arquivos interrompidas
2. Remoção remota de arquivos
3. Listagem de diretório
4. Gerenciamento de arquivos no servidor
5. Independência de plataforma
6. Carimbo de upload, ou seja, os arquivos carregados podem ser associados aos seus atributos básicos, como carimbos de data e hora. Esta é uma vantagem sobre o protocolo FTP comum.
Software SFTP –
Como qualquer outro protocolo, o SFTP também é baseado no modelo cliente-servidor. Portanto, existem alguns softwares servidor-cliente necessários para a implementação do protocolo.
Cliente SFTP – O cliente é um software baseado em linha de comando onde um usuário pode usar ferramentas tradicionais como secure shell e PUTTY, mas isso depende totalmente do que o servidor suporta.
Alguns programas clientes SFTP comumente usados ​​são os seguintes –
1) WinSCP: É um cliente SFTP GUI gratuito e de código aberto. Apesar do nome, não se limita ao SCP, mas também funciona com SFTP e FTP/SSL.
2) Cliente Filezilla: É um cliente FTP, FTP/SSL e SFTP GUI gratuito e de código aberto (cuidado com adware).
3) Cliente Bitvise SSH: É um tunelamento SSH, emulação de terminal SSH e cliente SFTP. Está disponível como aplicação comercial.
4) Cliente JSCAPEAny: É um cliente SFTP/FTP/FTPS/WebDAV/S3 baseado na Web. Está disponível como aplicação comercial.
Servidor SFTP – Os servidores SFTP podem ser implementados em máquinas baseadas em Linux. Algumas implementações de servidores FTP e SSH fornecem implementação de SFTP junto com sua instalação e compartilham a porta 22 padrão com outros serviços SSH.
Algumas ferramentas populares de servidor SFTP são as seguintes –
1) OpenSSH: Este é o servidor SFTP/SSH mais utilizado no planeta. É perfeito para Linux ou *BSD, mas não tão bom no Windows. É uma ferramenta de código aberto.
2) Servidor Bitvise SSH: É um servidor SFTP/SSH para Windows.
3) Tectia SSH Server: É um servidor Enterprise SFTP/SSH dos criadores do protocolo SSH.
4) CrushFTP: É um servidor de transferência de arquivos com suporte para SFTP, SCP, FTPS e HTTPS.
Proxy SFTP – O tratamento do tráfego SFTP em proxies tradicionais é ineficaz para controlar o tráfego SFTP. Existem ferramentas difamadas para proxies SFTP que são como “TIS fwtk” ou “SUSE FTP proxy”.
Desenvolvimento com SFTP –
Bibliotecas de cliente e servidor para SFTP são escritas em linguagens de programação populares como C/C++, .net, java e python. Portanto, desenvolver uma aplicação com SFTP é fácil e possui muitos recursos.
No próximo tutorial, aprenda a projetar um sistema de gerenciamento de pedidos de hotéis online usando o protocolo MQTT.

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.