O que é Secure File Transfer Protocol (SFTP)?
O que é Secure File Transfer Protocol?
O Secure File Transfer Protocol (SFTP) é um protocolo de rede padrão para a transferência segura de arquivos entre sistemas conectados. Um protocolo de rede é um conjunto de regras estabelecidas que funcionam como uma linguagem comum, independentemente do hardware ou software específico usado pelos dispositivos na rede. O SFTP adiciona autenticação e criptografia à transferência de arquivos, permitindo que as organizações compartilhem arquivos com segurança e atendam aos requisitos de conformidade regulatória para dados sensíveis de arquivos.
Por que o Secure File Transfer Protocol é importante?
A segurança e a confidencialidade dos dados são requisitos básicos para a transferência de arquivos em qualquer rede, seja dentro de uma rede local (LAN) corporativa ou pela internet. O Secure File Transfer Protocol é usado junto com outros protocolos comuns de segurança de rede, como HTTPS (Hypertext Transfer Protocol Secure), para garantir a segurança dos dados do arquivo no nível da rede.
O SFTP foi desenvolvido para substituir o File Transfer Protocol (FTP), um método tradicional de transferência de arquivos. Ele é usado para transferir arquivos sensíveis em muitas das aplicações mais usadas no mundo, como Git, VSCode, Ansible, WordPress e AWS Transfer Family.
O que é o S no SFTP?
O SFTP também é conhecido como SSH File Transfer Protocol, devido ao uso do protocolo de conexão Secure Shell (SSH). S pode significar Secure e Secure Shell.
SSH
O protocolo SSH é um protocolo de conexão criptográfica baseado em autenticação para comunicações de rede. O SSH lida com o transporte seguro de dados, a autenticação e as conexões via TCP (Transmission Control Protocol). O TCP é um dos principais protocolos de transporte da internet.
O SSH garante que qualquer receptor entre duas partes em uma rede não possa decifrar nenhuma comunicação compartilhada e confidencial depois que a sessão for estabelecida. Por exemplo, um receptor em uma rede não conseguirá visualizar senhas ou informações de identificação pessoal (PII) enviadas por uma conexão com criptografia Secure Shell.
O SSH dá permissão ao cliente (usuário) para executar comandos básicos em um servidor remoto; no entanto, o SSH não tem a capacidade de transferir e manipular arquivos. Para a transferência segura de dados de arquivos e operações de manipulação de arquivos, o SSH requer uma abordagem em camadas, em combinação com o SFTP.
Como funciona o Secure File Transfer Protocol?
O SFTP permite que os usuários enviem, recebam e manipulem arquivos e pastas do servidor, reduzindo o risco de vazamento de informações devido a uma conexão comprometida. O SFTP criptografa todos os conteúdos e comandos de arquivos, tornando-os indecifráveis em trânsito, para garantir a conformidade da transferência de arquivos.
Arquitetura cliente-servidor
O protocolo SFTP usa o modelo de arquitetura cliente-servidor SSH para comunicação. Esse modelo de arquitetura dá ao servidor controle sobre conexões, recursos e segurança, mesmo que o cliente inicie uma sessão.
Infraestrutura de chave pública e privada
O SFTP usa chaves SSH públicas e privadas para autenticar sessões entre clientes e servidores. O uso da infraestrutura de chaves SSH garante uma sobrecarga mínima de gerenciamento de segurança, que envolve apenas o cliente SFTP e o servidor SFTP.
Porta 22 por padrão
O SFTP utiliza a porta 22 por padrão para entrega confiável de dados com conexões SSH via TCP. No entanto, é possível nomear uma porta diferente no SFTP, no caso de conexões existentes na porta 22.
Retomada das transferências interrompidas
O SFTP permite que os usuários retomem as transferências de arquivos que foram pausadas anteriormente devido a sessões interrompidas. A retomada das transferências de arquivos aumenta a produtividade, mesmo com conexões instáveis.
Quais são alguns comandos SFTP comuns?
Os usuários podem executar comandos SFTP por meio da interface de linha de comandos (CLI) ou seguindo fluxos de trabalho de cliques em uma aplicação com SFTP integrado. Todos os usuários do Windows, Mac e Linux têm acesso à linha de comandos SFTP por meio de uma aplicação shell. Confira alguns comandos SFTP úteis usando o shell bash.
Início e encerramento de uma sessão SFTP
sftp user@hostname p. ex. sftp dan@example.com
Abre uma nova conexão SFTP no servidor example.com. O prompt de comando no shell mudará para sftp> para indicar que a sessão foi iniciada. Há várias opções que você pode incluir nesse comando, como:
- -P [number] para especificar um número de porta
- -i [file] para incluir um arquivo de chave privada e
- -r para ativar a transferência recursiva de diretórios.
sftp exit encerra uma sessão SFTP.
Transferência de arquivos
get server_path_and_filename local_path copia o arquivo fornecido do servidor para o diretório especificado.
p. ex. get /projects/marketing/proposal.txt /newopportunities
put local_path_and_filename server_path transfere um arquivo local para o diretório do servidor fornecido.
p. ex. put /finances/invoices/march.txt /projects/marketing/payments
Da mesma forma, os comandos reget e reput retomam as transferências interrompidas.
Gerenciamento remoto de arquivos
- chown user path altera a propriedade do arquivo ou pasta no caminho determinado no servidor para o usuário especificado.
- O caminho numérico chmod altera as permissões do arquivo ou pasta no caminho especificado no servidor.
- ls mostra a lista de arquivos e pastas no diretório atual do servidor.
- O caminho cd navega até o diretório fornecido no servidor.
- mkdir dir_name cria uma nova pasta no servidor.
- rmdir dir_name remove uma determinada pasta no servidor.
- rename old_file_name new_file_name renomeia um determinado arquivo no servidor.
- pwd mostra o diretório atual no servidor.
- lpwd mostra o diretório local atual.
Como o SFTP se compara a outros protocolos de transferência de arquivos?
O SFTP faz parte de uma variedade de protocolos padrão de transferência de arquivos.
SFTP versus FTPS
O FTP Secure (FTPS) usa o protocolo Transport Layer Security (TLS) e o protocolo Secure Socket Layer (SSL) sobre o Protocolo de Transferência de Arquivos para realizar transferências seguras de arquivos. A autenticação com FTPS depende das práticas de gerenciamento de certificados SSL. O FTPS é considerado principalmente obsoleto.
O FTPS se baseia no FTP, enquanto o SFTP foi introduzido para substituir o FTP por uma arquitetura mais segura. O SFTP é usado muito mais amplamente do que o FTPS atualmente, devido à sua simplicidade, segurança e suporte na nuvem.
SFTP versus TFTP
O Trivial File Transfer Protocol (TFTP) é um protocolo leve para transferir arquivos que utiliza uma arquitetura cliente-servidor. O TFTP não contém nenhuma medida de segurança incorporada e, portanto, deve ser repleto de protocolos de segurança ou proteções para transferências de arquivos em ambientes regulares.
Embora o SFTP seja usado em uma ampla variedade de aplicações, o TFTP normalmente é usado somente diretamente em uma rede local segura ao configurar ou inicializar novos hardwares, firmwares e sistemas operacionais.
Quais são algumas das práticas recomendadas para usar o SFTP?
Use as práticas recomendadas para o gerenciamento de chaves públicas-privadas, incluindo alternância de chaves e armazenamento seguro no servidor SFTP. Garanta que seu servidor SFTP esteja sempre atualizado com atualizações e patches de segurança, além de usar criptografia forte, como AES. Registre em log transferências de arquivos bem-sucedidas e tentativas de acesso com falha para detecção e resposta de anomalias.
Lembre-se de que o SFTP é apenas uma parte da segurança da rede. Firewalls, sistemas de detecção de intrusão e outras medidas de segurança devem ser adaptados à sua arquitetura de rede específica.
Como a AWS pode apoiar seus requisitos de armazenamento de arquivos?
A Amazon oferece uma variedade de soluções seguras de armazenamento e transferência de arquivos.
O Amazon S3 é um armazenamento de objetos desenvolvido para armazenar e recuperar qualquer quantidade de dados de qualquer local. Você pode usá-lo para armazenar e recuperar qualquer quantidade de dados, incluindo arquivos, a qualquer momento, de qualquer lugar, incluindo transferências automatizadas de arquivos.
O Amazon Elastic File System (EFS) fornece armazenamento de arquivos em nuvem sem servidor e totalmente elástico que permite criar sistemas de arquivos acessíveis às instâncias do Amazon Elastic Compute Cloud (EC2) e a outros serviços da Nuvem AWS. Também tem suporte à semântica de acesso total ao sistema de arquivos, como forte consistência e bloqueio de arquivos. Você pode compartilhar dados de arquivos sem provisionar ou gerenciar a capacidade e a performance do armazenamento.
O AWS Transfer Family oferece suporte totalmente gerenciado à transferência segura de arquivos por SFTP, AS2, FTPS, FTP e navegadores da web diretamente para dentro e para fora do Amazon S3 ou do Amazon EFS. Você pode migrar, automatizar e monitorar fluxos de trabalho de transferência de arquivos de forma simples, mantendo as configurações atuais do lado do cliente para autenticação, acesso e firewalls. Ou seja, nada muda para seus clientes, parceiros e equipes internas ou suas aplicações.
Comece a usar o armazenamento de arquivos na AWS criando uma conta gratuita hoje mesmo.