Servidor SFTP: melhor usar o subsistema sftp interno SSH ou o plugin ProFTPD?

11

Fui encarregado de instalar um novo servidor SFTP. Por si só, essa é uma operação muito simples: basta usar o internal-sftppapel do serviço SSH onipresente (com chrooting) é suficiente para ter um servidor SFTP confiável.

No entanto, é da minha natureza sempre tentar pelo menos duas abordagens diferentes para o mesmo problema, e percebi que posso usar ProFTPDcom um plug-in sftp para fazer a mesma coisa, com o benefício adicional de mais opções granulares relacionadas a transferência de arquivos (por exemplo, otimização da largura de banda ) Por outro lado, esse plug-in não é compilado (e incluído) por padrão, e eu gostaria de evitar (talvez) a solução "menos testada".

No momento, o único serviço necessário é o SFTP; no entanto, estou jogando com antecedência e gostaria de implementar uma solução que não só funcione com SFTP, mas também com FTP / S.

Considerando que vou chroot os usuários dentro de suas casas, o que você acha que é uma solução melhor?

  1. use SSH internal-sftpe um servidor FTP independente ( vsftpdou proftpd) para serviços FTP / S
  2. use apenas o serviço ProFTPD com o plug-in relevante
shodanshok
fonte
1
isso provavelmente é baseado em opiniões. Se você não usar internal-sftpde sshd, você provavelmente terá que usar SFTP on diferente da porta deffault (se você ainda quer sshd), que é certamente questão de usabilidade.
Jakuje
Olá, obrigado pela sua contribuição. Não estou em busca de opiniões, mas de um conselho de práticas recomendadas de alguém que já avaliou as duas opções descritas. Você indica que a porta TCP de escuta está correta, mas nesta configuração, usando uma porta diferente para SSH, não é um problema.
shodanshok
1
Não tenho certeza de que "não testado" seja um julgamento justo do mod_sftpmódulo do ProFTPD ; existem muitos sites que de fato o usam diariamente.
Castaglia
Obrigado pelo comentário. Então, é mod_sftpmais comumente usado do que eu? Ótimo. Enfim, eu não julgaria não mod_sftptestado, foi por esse motivo que usei as aspas. Vou reformular essa parte da pergunta.
shodanshok

Respostas:

4

O servidor sftp do SSH tem alguns requisitos adicionais para diretórios chroot, ie. O usuário não pode ter acesso de gravação ao chroot dir em alguns ambientes, isso pode ser um problema.

Se você também precisar de ftp / ftps, sugiro dar uma chance ao mod_sftp. Estamos usando-o na produção em cerca de 20 servidores com mais de 10 mil contas com quase nenhum problema (sftp é o protocolo menos usado). A desvantagem é que ele não suporta o método de autenticação por senha, mas suporta chave rsa e teclado interativo, portanto, isso é apenas um problema para clientes muito antigos.

Lazy404
fonte
20 servers with over 10k accounts- muito obrigado pelo seu relatório, é muito apreciado. Sobre a diferença de permissão de escrita de casa, eu já trabalhei em torno dele;)
shodanshok
3

Este é um tópico mais antigo, mas gostaria de acrescentar aos futuros leitores que estamos configurando servidores para usar o proftpd com mod_sftp há anos sem problemas. Gosto muito que a separação de serviços ofereça controle refinado sobre segurança, o próprio serviço e gerenciamento de usuários.

Você pode configurar o proftpd para suportar uma ou ambas as senhas / chaves com mod_sftp se também incluir o módulo sftp_pam. Aqui está um exemplo de configuração que permite os dois:

# Include all available modules
Include /etc/proftpd/modules.conf

<Global>
  <IfModule mod_sftp.c>
    <IfModule mod_sftp_pam.c>
      SFTPPAMEngine on
      SFTPPAMServiceName sftp
    </IfModule>

    SFTPEngine on
    SFTPLog /var/log/proftpd/sftp.log

    # Configure both the host keys
    SFTPHostKey /etc/ssh/ssh_host_rsa_key
    SFTPHostKey /etc/ssh/ssh_host_dsa_key

    SFTPAuthMethods publickey password keyboard-interactive
    SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u

    # Enable compression
    SFTPCompression delayed
  </IfModule>
</Global>
Diogenes deLight
fonte