SFTP

Guia da porta SFTP: transferência segura de arquivos por SSH

Entenda como o SFTP usa SSH, quando expor a porta 22, como testar o acesso remoto e como proteger contas, diretórios e logs de auditoria.

Porta padrão
22
Protocolo
TCP
Uso principal
Transferência segura de arquivos
Transporte
SSH

Qual é a porta SFTP?

SFTP é o protocolo de transferência de arquivos SSH. Geralmente é executado na mesma porta TCP do SSH, a porta 22, e usa o transporte SSH para autenticar usuários, criptografar transferências de arquivos e proteger operações de diretório. Ao contrário do FTP clássico, o SFTP não precisa de um canal de comando e um canal de dados separados.

  • SFTP normalmente usa SSH na porta 22

    Se um servidor SSH estiver escutando em 22 e o SFTP estiver habilitado para a conta, os clientes SFTP geralmente poderão se conectar sem abrir outra porta.

  • A transferência segura ainda precisa de controle de acesso

    A criptografia protege os arquivos em trânsito, mas você ainda precisa de autenticação forte, diretórios restritos, privilégios mínimos e registro.

Como funciona o SFTP

SFTP não é FTP com criptografia adicionada na parte superior. É um protocolo separado executado dentro de uma sessão SSH. O cliente se conecta ao servidor SSH, autentica com uma senha, chave, certificado ou outro método compatível com SSH e, em seguida, inicia o subsistema SFTP para listar diretórios, fazer upload de arquivos, baixar arquivos, renomear caminhos e gerenciar permissões.

Como o SFTP utiliza SSH, ele se beneficia da criptografia SSH, verificação de chave de host e controles de autenticação maduros. Para a maioria das implantações, a porta SFTP é, portanto, TCP 22. Algumas organizações movem SSH e SFTP para outra porta para reduzir o ruído de varredura de fundo, mas alterar a porta não substitui os controles de autenticação e autorização.

SFTP versus FTP, FTPS e SCP

O FTP clássico geralmente usa a porta 21 para comandos e portas de dados separadas para transferências. Isso torna o firewall e o NAT mais complexos, e o FTP simples envia credenciais e dados sem criptografia. FTPS adiciona TLS ao FTP, mas ainda mantém o modelo FTP com canais de comando e dados.

SFTP usa uma conexão SSH, que geralmente é mais fácil de permitir através de firewalls e mais fácil de auditar. O SCP também usa SSH, mas o SFTP oferece operações de gerenciamento de arquivos mais avançadas e é o melhor padrão para transferências interativas, descartes de parceiros e fluxos de trabalho automatizados de arquivos.

Quando você deve abrir o acesso SFTP

Abra o acesso SFTP quando um parceiro, trabalho de automação, processo de backup, pipeline de implantação ou equipe interna precisar trocar arquivos de forma segura com um servidor. Exemplos comuns incluem feeds de dados de fornecedores, exportações noturnas, coleta de registros, entrega segura de documentos e áreas de upload controladas para clientes ou dispositivos de campo.

Não exponha amplamente o SFTP só porque ele está criptografado. Um serviço SSH voltado para a Internet atrai ataques de credenciais e verificação automatizada. Se apenas um pequeno grupo precisar de acesso, restrinja os IPs de origem, publique SFTP atrás de uma VPN ou rede privada ou use um gateway de transferência gerenciado com controles de política mais fortes.

Antes de abrir a porta SFTP

Antes de abrir a porta 22 para SFTP, confirme se o servidor SSH está instalado, em execução e configurado para permitir o subsistema SFTP. Em seguida, decida quais usuários ou contas de serviço devem se conectar, quais diretórios eles podem ver, se a autenticação por senha é permitida e como os uploads e downloads serão registrados.

Separe a acessibilidade da rede da autorização da conta. Um verificador de porta pode mostrar se o TCP 22 pode ser acessado pela Internet, mas não pode provar que um usuário específico pode efetuar login ou que um diretório chroot está correto. Use um cliente SFTP ou testes de linha de comando ssh para verificar o comportamento no nível do aplicativo.

Como ativar o SFTP no Windows, Linux e macOS

No Windows Server, instale e habilite o OpenSSH Server, permita o TCP 22 de entrada no Firewall do Windows Defender e confirme se o serviço sshd está em execução. Se o servidor estiver em um ambiente de nuvem, permita também a porta 22 no firewall da nuvem ou no grupo de segurança. Use contas dedicadas em vez de amplo acesso de administrador.

No Linux, instale o OpenSSH Server, confirme se o sshd está escutando na porta 22 e certifique-se de que o subsistema SFTP esteja habilitado em sshd_config. Para contas de transferência de arquivos restritas, configure diretórios chroot, regras de propriedade e ForceCommand internal-sftp para que os usuários não possam obter um shell interativo.

No macOS, o SFTP está disponível por meio do serviço SSH integrado. É mais frequentemente usado para redes locais, máquinas de desenvolvimento ou ambientes de laboratório. Se você expô-lo além de uma rede confiável, aplique as mesmas regras de autenticação e firewall baseadas em chave que você usaria em um servidor.

  • Camada de serviço: OpenSSH Server ou outra implementação SSH deve estar em execução e deve ativar o subsistema SFTP.
  • Camada de rede: firewalls de host, grupos de segurança de nuvem, encaminhamento de roteador e políticas VPN devem permitir a porta TCP escolhida.
  • Camada de conta: os usuários devem ter permissões de privilégio mínimo, diretórios dedicados e nenhum acesso ao shell, a menos que seja necessário.
  • Camada de auditoria: registra transferências bem-sucedidas, logins com falha, alterações de chave, erros de permissão e redes de origem incomuns.

Como testar a conectividade SFTP

Comece com uma verificação de porta externa em relação ao nome do host público ou endereço IP e porta 22. Se a porta estiver aberta, o caminho TCP para o serviço SSH estará acessível. Em seguida, use um cliente SFTP ou execute sftp user@example.com para verificar a autenticação, a confiança da chave do host, o acesso ao diretório e as permissões de upload.

Se precisar de detalhes de nível inferior, teste o handshake SSH com ssh -vvv user@example.com ou verifique os ouvintes no servidor com ss -tlnp, netstat ou PowerShell. Para servidores em nuvem, compare as regras de firewall do host com grupos de segurança em nuvem porque ambas as camadas devem permitir a conexão.

Testar porta 22 para SFTP

Casos comuns de solução de problemas de SFTP

Se a porta SFTP estiver fechada, o sshd pode não estar em execução, pode estar escutando em uma porta diferente ou pode estar bloqueado pelo firewall do host. Se a verificação expirar, um grupo de segurança na nuvem, uma regra NAT do roteador, um filtro do ISP, uma política VPN ou uma lista de permissões de IP de origem poderão estar descartando pacotes antes que eles cheguem ao servidor.

Se a porta estiver aberta, mas o login do SFTP falhar, inspecione o nome de usuário, as permissões de chave, a política de senha, o requisito de MFA, os usuários permitidos, a propriedade do chroot, as regras do ForceCommand e os logs do servidor. Um erro comum é conceder permissões de gravação ao diretório chroot para o usuário; OpenSSH requer padrões específicos de propriedade e permissão para que o chroot funcione com segurança.

Lista de verificação de segurança para SFTP

Prefira chaves SSH ou autenticação baseada em certificado em vez de senhas. Desative o login root, limite quais usuários podem se conectar, alterne chaves, remova contas não utilizadas e proteja chaves privadas com senhas ou armazenamento baseado em hardware. Para acesso de parceiro, crie uma conta por parceiro para que a atividade possa ser atribuída e revogada de forma limpa.

Restrinja o acesso ao sistema de arquivos com chroot ou diretórios com escopo restrito, evite pastas graváveis ​​compartilhadas, a menos que sejam necessárias, e monitore logins com falha e volumes de transferência incomuns. Se o SFTP for voltado para a Internet, combine limitação de taxa, listas de permissões de origem, detecção de invasões e aplicação regular de patches no servidor SSH.

Perguntas frequentes

Qual porta o SFTP usa?

SFTP geralmente usa a porta TCP 22 porque é executado em SSH. Ele pode ser executado em uma porta diferente se o servidor SSH estiver configurado para escutar lá e o cliente especificar essa porta.

SFTP é o mesmo que FTPS?

Não. SFTP é um protocolo de transferência de arquivos executado dentro do SSH. FTPS é protegido por FTP com TLS. Eles são protocolos diferentes e não são intercambiáveis, a menos que cliente e servidor suportem o mesmo.

Posso usar SFTP sem abrir a porta 22 para a internet?

Sim. Você pode expor o SFTP somente por meio de VPN, rede privada, host bastião, camada de acesso de confiança zero ou lista de permissões de IP de origem. Isso geralmente é mais seguro do que publicar SSH para toda a Internet.

Por que a porta 22 está aberta, mas o SFTP ainda falha?

A porta TCP pode estar acessível durante a autenticação ou o subsistema SFTP está falhando. Verifique as permissões da conta, formato da chave, propriedade do chroot, configurações do ForceCommand, usuários permitidos, políticas MFA e logs do servidor SSH.