¿Cómo puedo hacer chroot en conexiones ssh?

¿Cómo puedo hacer chroot en conexiones ssh?

Me gustaría configurar una cárcel chroot para la mayoría (no todos) los usuarios que inician sesión a través de SSH. Escuché que es posible con las últimas versiones de openssh, pero no pude descubrir cómo hacerlo. Todos los procedimientos hablan de parchear una versión antigua, y el parche ya no está disponible.

Estoy ejecutando debian etch.

Respuesta1

Estoy usando rssh para este propósito.

Tienes razón, hay una nueva forma de hacerlo y es una característica incorporada en las versiones recientes de ssh.

Aquí hay un artículo sobreno mortal.

Respuesta2

Solo tuve que configurar un usuario que pudiera iniciar sesión a través de ssh y ssh en otro servidor (que no esté conectado directamente al mundo exterior). Los enlaces de cstamas y ericmayo fueron un buen comienzo.

Básicamente, agregué lo siguiente a /etc/ssh/sshd_config:

Coincidir usuario miusuario
  DirectorioChroot /chroot/miusuario

A partir de ahí, sólo tuve que crear el entorno chroot debajo de /chroot/myuser. Copié /bin/bash y /usr/bin/ssh y las bibliotecas compartidas que necesitaban (ldd las mostrará). Para un entorno más grande, probablemente tendría sentido compilar versiones vinculadas estáticamente de los ejecutables necesarios.

Bash funcionó de inmediato, para que ssh funcionara, también tuve que crear el directorio .ssh, copiar /etc/passwd, /etc/nsswitch.conf y /lib/libnss_* y crear /dev/null, /dev/tty y /dev/urandom vía mknod.

Respuesta3

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>/.

Tienes que editar el archivo /etc/sshd_config y agregar

ChrootDirectory /chroot/%h

Y reinicie el demonio sshd.

Dicho todo esto, honestamente creo que sftp es una mejor opción.

Además, encontré esta URL si es útil.

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

Respuesta4

Hasta donde yo sé, las nuevas versiones de OpenSSH solo permiten chroot para conexiones SFTP. Lo intenté y funciona. Pero para SSH la solución disponible es el parche chrootssh. Navego por el sitio SourceForge y no hay archivos, así que creo que está descontinuado.

Para Debian Etch hay algunos archivos aquí:http://debian.home-dn.net/etch/ssh/

Hay otras soluciones aquí:http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.html, incluido chrootssh .

información relacionada