Como proteger um sftp 'público'?

1

Eu tenho um servidor que permite que alguns usuários de meus serviços façam upload de arquivos usando o SFTP. Quando falo sobre usuários, não posso ter certeza de quem eles são nem quantos têm acesso.

Eu configurei o acesso da seguinte forma:

  • Acesso SFTP (SSH) com nome de usuário e senha: PasswordAuthentication yes .
  • Os usuários pertencem ao grupo sftp , que é forçado a usar internal-sftp .
  • O login está em modo de sandbox para ChrootDirectory %h , que é /srv/sftp/incoming .
  • O shell de login é /bin/false .

Há mais alguma coisa que eu possa fazer para proteger um acesso SFTP para uma variedade de usuários?

A máquina executa o ArchLinux. O servidor Web é nginx , mas os arquivos em /srv/sftp/incoming não são atendidos pelo servidor da web. É apenas para uso interno.

    
por Afri 16.04.2016 / 15:08

1 resposta

3

Você pode configurar as chaves SSH para todos os usuários, portanto, eles precisam usar a chave privada para obter acesso ao servidor SFTP. Permita que os clientes gerem chaves privadas e públicas sozinhos e permitam que eles enviem a chave pública para você, para que você possa adicioná-la ao arquivo ~/.ssh/authorized_keys .

Você pode gerar a chave privada e pública de curso por si mesmo, mas isso significa que você precisa enviar a chave privada para o cliente de alguma forma, o que o torna inseguro.

ssh-keygen -t rsa

Quando as chaves são configuradas, você pode desabilitar o login de senha em /etc/ssh/sshd_config , para que eles tenham que usar a chave privada para obter acesso ao servidor.

PasswordAuthentication no
    
por 16.04.2016 / 18:37