Artículo traducido de: http://www.debian-administration.org/articles/590
A partir de la nueva versión de OpenSSh, la 4.8p1 para el port GNU/Linux, disponemos de una nueva opción de configuración: ChrootDirectory. Esto ha sido posible gracias al nuevo subsistema SFTP linkado estaticamente con sshd.
Esto hace posible reemplazar facilmente el servicio FTP básico sin el problema de tener que configurar la encriptación y/o la preocupación del modo activo y pasivo del FTP cuando se trabaja detrás de un router NAT. Es mucho más simple que paquetes como rssh, scponly o otros parches ya que no requiere instalación ni mantenimiento (p.e actualizaciones de seguridad) del entorno chroot.
Para habilitarlo obviamente necesitamos la version 4.8p1 o superior. Yo personalmente uso la versión del cvs y el directorio debian/ del paquete de sid para construir un paquete Debian 4.8p1~cvs-1.
En /etc/ssh/sshd_config :
Subsystem sftp internal-sftp
Ahora configuramos una regla de chroot:
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
El directorio chroot debe pertenecer al usuario root. Después de la llamada a chroot(), sshd cambia el directorio a la home relativa al nuevo directorio raiz. Esto es por lo que uso / como directorio home.
# chown root.root /home/user # usermod -d / user # adduser user sftponly
Y se comporta como esperabamos:
$ sftp user@host Connecting to host... user@host's password: sftp> ls build cowbuildinall incoming johnbuilderclean sftp> pwd Remote working directory: / sftp> cd .. sftp> ls build cowbuildinall incoming johnbuilderclean
La única cosa que echo de menos es el logeo de transferencias, pero todavía no he investigado sobre ello. Escribiré mas sobre esto cuando encuentre tiempo para ello.
Enlaces:










![Validate my RSS feed [Valid RSS]](http://validator.w3.org/feed/images/valid-rss.png)
1 Respuestas a “OpenSSH SFTP chroot() con ChrootDirectory”
Añade un Comentario