O que o FTP Jailing significa e quais recursos um sistema operacional de servidor requer para ativá-lo?

6

Eu tenho uma noção difusa do que o termo "ftp jailing" significa, mas quando se trata de permissões e segurança, o fuzzy é imprudente. O que é isso? Como isso é implementado? É principalmente uma capacidade do servidor ftp, ou surge de como o sistema operacional subjacente tem permissões?

    
por Thomas L Holaday 12.06.2009 / 14:08

7 respostas

4

"Jailing" no ftp significa bloquear a sessão ftp para um subconjunto particular do sistema de arquivos. Geralmente, ele é configurado para que, se um usuário específico efetuar login, possa fazer o ftp apenas para seu próprio espaço de diretório.

O servidor ftp geralmente tem uma opção que, quando um usuário está conectado, faz o usuário chroot, o que significa que, no que diz respeito a esse usuário, a raiz do universo é uma parte específica do sistema de arquivos total disponível. / p>

'vsftp' tem uma explicação muito clara e como fazer em vsftpd .

Alguns outros exemplos incluem proftp e ftp no hp / ux .

    
por 12.06.2009 / 14:19
7

Veja como faço isso em um ambiente Windows IIS . A figura vai ajudar alguém no futuro.

  1. set up the local user accounts on the computer for each "user/client"
  2. In explorer setup the NTFS structure so that you have a "root" folder and inside that folder you have folders for each client/etc.
  3. Set up the NTFS rights, so that each user (you can use a group called FTP users, and add them all to that group) has "List" rights to the root folder. Then give them specific rights to each of their "home" folders (read/write/whatever).
  4. In IIS for the FTP site, create virtual directories named EXACTLY the same as the user accounts you created, and point each one to the right home folder. ie. virtual directory of BOBJONES points to d:\ftpsite\BOBJONES
  5. go back into explorer and create a new folder in the same folder as the ROOT folder and call it DEADEND
  6. give the FTP users list/read permissions to the DEADEND folder
  7. Back in IIS set the "root folder" for the FTP site to the DEADEND folder

That's it.

now when BOBJONES logs into the FTP site he is in the BOBJONES directory. If he gets wily and tries to do a cd .. to go up to the parent/root he'll get knocked into the DEADEND folder and won't see the list of everyone else's home folders, etc. (NOTE: he can get back to his home folder by typing cd BOBJONES still)

ONE FINAL NOTE: anybody that has a user ID but no virtual directory named the same will get defaulted to the root directory which has been changed to DEADEND.

    
por 12.06.2009 / 14:46
6

FTP jailing significa que o logg no usuário vê seu diretório raiz como um que você define. Ele não pode subir mais alto na árvore, pois o cliente FTP vê seu diretório como raiz.

Digamos que você tenha o seguinte:

/home/ben_linus/
/home/ben_linus/data
/home/ben_linus/progs

Você define a raiz como / home / ben_linus /

Ele verá

/
/data
/progs
    
por 12.06.2009 / 14:23
2

Não vejo uma razão pela qual deva ser dependente do SO. Nada impede que você codifique um servidor FTP que retornará / para algum diretório aleatório depois de usar cd .. com freqüência suficiente sem realmente estar no Unix ou na unidade de nível superior no Windows.

Em relação às permissões, depende muito de como configurar seus servidores FTP, alguns servidores FTP podem mapear de / para qualquer usuário, o que significa que você pode configurar um servidor FTP que precisa de autenticação "normal", mas ao gravar o sistema operacional nas permissões do host será mapeado para um determinado usuário que você configurou.

Algumas discussões sobre o chroot (assim como um link de acompanhamento) podem ser encontradas no FAQ do ProFTPd .

    
por 12.06.2009 / 14:25
1

É um recurso do servidor ftp (para a maioria deles), por exemplo, com vsftpd você pode "prender" os usuários no seu homedir usando a configuração

chroot_local_user=YES

O servidor ftp não permitirá que o usuário fique abaixo desse diretório.

User homedir: /home/ftp
User can access: /home/ftp, /home/ftp/pub
User can not access: /home, /etc, /, /root etc..
    
por 12.06.2009 / 14:19
1

Isso pode significar duas coisas:

  • um (ou todos) usuário / login é restrito ao seu "diretório pessoal" em vez de ter uma visão completa da hierarquia FTP. Isso geralmente é implementado em software no aplicativo nível (por exemplo, servidor FTP).
  • os processos FTP são presos em um tipo de configuração chroot, como uma medida de segurança. Isso é bastante comum para servidores que permitem acesso anônimo. Antigamente, isso era feito através do syscall chroot, embora eu tenha a sensação de que talvez haja maneiras mais modernas de fazer isso agora em alguns sistemas operacionais. De qualquer forma, esse tipo de configuração é um pouco mais complicado e depende muito mais do sistema operacional (mesmo que seja simplesmente usando o chroot).
por 12.06.2009 / 14:21
1

Antigamente, em sistemas UNIX, prender usuários a um determinado diretório era trabalhoso, propenso a erros e poderia causar problemas. Você tinha que compilar binários vinculados estáticos especiais para coisas como ls e cd e movê-los para a cadeia, por exemplo. Se o seu SO / software está exigindo isso - note que é problemático. Eu prefiro muito mais novos servidores FTP que não exigem essa abordagem.

No IIS, acho difícil fazer o FTP preso - embora haja uma descrição para algo próximo acima, não é exatamente tão fácil. Parabéns por isso, eu tentei muitas vezes encontrar algo assim. Eu uso o Filezilla no Windows, ele tem uma solução bastante elegante para o problema das jaulas que funciona como esperado. Não há ramificações de segurança que eu saiba, o Filezilla parece corrigir vulnerabilidades rapidamente.

As implementações modernas de FTP do UNIX parecem tornar o encarceramento muito mais fácil e provavelmente muito mais seguro. A maioria das preocupações de segurança restantes; uma vez que você assume que está OK para conceder ao seu usuário acesso a qualquer coisa abaixo do ponto de detenção, está a questão de "o fornecedor de software do meu fornecedor / FOSS está fornecendo correções em tempo hábil?"

    
por 12.06.2009 / 17:27

Tags