Difference between revisions of "Sftp con chroot"
(una froga) |
(No difference)
|
Revision as of 06:35, 7 November 2017
20/05/2011
Contents
sftp con chroot
Los accesos a los sistemas son siempre incómodos, pero las últimas versiones de ssh ayudan a solucionar éste problema.
Este artículo intenta ser una aproximación útil tanto en sistemas AIX como en Linux.
Requerimientos
Se requiere una versión de OpenSsh 4.9p1 o superior
Creando la estructura chroot
Para poder realizar ésta operativa, vamos a crear una nueva estructura, que será la que vean y a la que accedan los usuarios que deseen dejar o recoger datos.
En nuestros ejemplos vamos a permitir a los usuarios a acceder al directorio /var/log, para lo que vamos a crear una estructura de acceso en /srv/chroot.
- Creamos la estructura a utilizar
mkdir -p /srv/chroot/var/log
- El directorio a utilizar para el chroot tiene que tener como usuario y grupo a root.
chown root:root /srv/chroot
AIX
- Definimos el montaje "vinculado" de /srv/chroot/var/log, en el fichero /etc/filesystems
/srv/chroot/var/log: dev = /var/log vfs = namefs mount = true options = ro,nosuid
- Montamos
mount /srv/chroot/var/log
Linux
- Definimos el montaje "vinculado" de /srv/chroot/var/log, en el fichero /etc/fstab
/var/log /srv/chroot/var/log bind bind,ro,nosuid 1 2
- Montamos
mount /srv/chroot/var/log
Creación de usuario y grupo de acceso al chroot
- Añadir al /etc/passwd
sftp_chroot_user:!:13666:13666:Usuario acceso SFTP:/home/sftp_chroot_user:/bin/false
- Añadir al fichero /etc/group
sftp_chroot:!:13666:
Linux
- Añadir al fichero /etc/shadow
sftp_chroot_user:!!:14510:0:99999:7:::
Nota
Esto tarea también se puede realizar a base de useradd o similar.
Configuración de OpenSSH para que utilice el chroot
Aquí indicamos al ssh que todos los usuarios pernecientes al grupo sftp_chroot sean alojados en el chroot generado para tal fin. Ésto acción se puede realizar por usuario o grupo.
- Añadir a /etc/ssh/sshd_config
# Configuracion jaula Match group sftp_chroot ForceCommand internal-sftp ChrootDirectory /srv/chroot
Nota
El parámetro ChrootDirectory admite como parámetro los comodines %h para el HOME del usuario, o %u para el nombre de usuario.
Algunas consideraciones sobre contraseñas
El ejemplo descrito el home del usuario no está dentro del chroot. Ésto implica que si utilizamos un esquema de atenticación basados en parejas de claves (públicas/privadas), las claves van a estar fuera del alcance del usuario, por lo que no va a poder introducir las claves públicas necesarias para el acceso, recayendo la labor en el administrador de la máquina. Se pueden usar otras configuraciones para permitir al usuario modificar sus claves públicas, estando el chroot dentro del home del usuario.