Por que o chroot_local_user do vsftpd é inseguro?

18

Estou configurando meu VPS a vsftpd, e não quero que os usuários tenham permissão para sair do diretório home ftp. Estou usando local_user ftp, não anônimo, então acrescentei:

chroot_local_user=YES

Eu li em muitos posts no fórum, que isso não é seguro.

  1. Por que isso é inseguro?
  2. Se isso não é seguro por causa do uso do ssh para se juntar ao meu VPS também, então eu poderia simplesmente bloquear esses usuários do sshd, certo?
  3. Existe outra opção para obter esse comportamento do vsftpd? (Eu não quero remover permissões de leitura em todas as pastas / arquivos para "mundo" no meu sistema)
por p1100i 22.02.2012 / 13:35

2 respostas

20

Verifique aqui as FAQ do VSFTPD para obter a resposta que você está procurando. Abaixo está o trecho importante que eu acho que vai responder sua pergunta.

Q) Help! What are the security implications referred to in the "chroot_local_user" option?

A) Firstly note that other ftp daemons have the same implications. It is a generic problem. The problem isn't too severe, but it is this: Some people have FTP user accounts which are not trusted to have full shell access. If these accounts can also upload files, there is a small risk. A bad user now has control of the filesystem root, which is their home directory. The ftp daemon might cause some config file to be read - e.g. /etc/some_file. With chroot(), this file is now under the control of the user. vsftpd is careful in this area. But, the system's libc might want to open locale config files or other settings...

    
por 22.02.2012 / 20:00
4

O problema é que você não pode usar contas locais e também desabilitar essas contas do login do shell. Se você definir seu shell de login como / bin / nologin, ele não permitirá que você efetue login com o vsftpd.

Um daemon FTP melhor e mais seguro seria o Pure-ftpd. Pesquise, está disponível no repositório EPEL e permite criar usuários virtuais. O servidor usa um usuário / grupo comum para definir todas as permissões para as pastas iniciais dos usuários e "mapeia" os usuários virtuais para esse usuário quando ele efetua login para lidar com as permissões. Isso é mais seguro e você não precisa lidar com a segurança de login do openssh.

O Pure-ftpd também suporta muitos recursos, como cotas, taxas e outros. Muito melhor que o vsftpd.

Aqui está um tutorial simples sobre como instalá-lo e configurar um usuário virtual básico:

Se você ler o documento completo (o que você deve saber), você saberá que a opção -d ao criar o usuário virtual é um auto-chroot para esse diretório para esse usuário.

    
por 22.02.2012 / 14:37