Como posso fazer chroot em conexões ssh?

Como posso fazer chroot em conexões ssh?

Eu gostaria de configurar uma prisão chroot para a maioria (não todos) dos usuários que fazem login por meio de SSH. Ouvi dizer que é possível com as versões mais recentes do openssh, mas não consegui descobrir como fazer isso. Todos os How To falam em corrigir uma versão antiga, e o patch não está mais disponível.

Estou executando o debian etch.

Responder1

Estou usando o rssh para essa finalidade.

Você está certo, existe uma nova maneira de fazer isso e é um recurso integrado das versões ssh recentes.

Aqui está um artigo sobreMorto-vivo.

Responder2

Eu só tive que configurar um usuário que pudesse fazer login via ssh e ssh em outro servidor (que não esteja diretamente conectado ao mundo externo). Os links de cstamas e ericmayo foram um bom começo.

Basicamente, adicionei o seguinte ao /etc/ssh/sshd_config:

Corresponder usuário meu usuário
  ChrootDirectory /chroot/meuuser

A partir daí, só tive que criar o ambiente chroot abaixo de /chroot/myuser. Copiei /bin/bash e /usr/bin/ssh e as bibliotecas compartilhadas que eles precisavam (ldd mostrará isso). Para um ambiente maior, provavelmente faria sentido compilar versões vinculadas estaticamente dos executáveis ​​necessários.

Bash funcionou imediatamente, para o ssh funcionar, eu também tive que criar o diretório .ssh, copiar /etc/passwd, /etc/nsswitch.conf e /lib/libnss_* e criar /dev/null, /dev/tty e /dev/urandom via mknod.

Responder3

mkdir /chroot
mkdir -p /chroot/home/<user_name>

mkdir /chroot/home/<user-name>/bin  
cp -pr /bin/bash /chroot/home/<user_name>/bin/.  
cp -pr /bin/ls /chroot/home/<user_name>/bin/.  
cp -pr /lib64 /chroot/home/<user_name>/.

Você tem que editar o arquivo /etc/sshd_config e addd

ChrootDirectory /chroot/%h

E reinicie o daemon sshd.

Dito isso, honestamente acho que o sftp é a melhor opção.

Além disso, encontrei este URL se for útil.

http://www.techrepublic.com/blog/opensource/chroot-users-with-openssh-an-easier-way-to-confine-users-to-their-home-directories/229

Responder4

Pelo que eu sei, as novas versões do OpenSSH permitem apenas chroot para conexões SFTP. Eu tentei e funciona. Mas para SSH a solução disponível é o patch chrootssh. Eu navego no site SourceForge e não há arquivos, então acho que foi descontinuado.

Para o Debian Etch existem alguns arquivos aqui:http://debian.home-dn.net/etch/ssh/

Existem outras soluções aqui:http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.en.html, incluindo chrootssh .

informação relacionada