Particularmente, lo que necesitaba era Enjaular usuarios para que pudieran hacer lo que quieran a partir de un lugar determinado del árbol de directorio para abajo.
El problema que plantea linux es que si bien, uno no otorga permisos estos usuarios pueden subir en el árbol del servidor y navegar por él con restricciones.
Enjaular un usuario es mucho mejor, más seguro y evitamos que el mismo pueda subir por arriba del árbol de directorios configurado.
Una forma de Enjaular usuarios CHROOT y permitirle usar SSH, SFTP y SCP en forma efectiva es usar JAULKIT.
Con JAULKIT podemos es construirle al usuario enjaulado un entorno de comandos básicos (ls, cp, find, etc.).
Primero descargamos de la web el script desde:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
rpm -Uhv rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
yum install jailkit
Ahora definiremos la JAULA que en mi ejemplo será /var/www/jaula y luego copiaremos el Shell básico.
Atención: Si la carpeta existe, mejor renombrarla y dejar que JAULKIT cree para otorgarle permisos y grupos adecuados podemos agregarle otros servicios atras de jk_lsh como ssh sftp scp, nosotros agregamos solo sftp.
jk_init -v -j /var/www/jaula jk_lsh sftp
jk_cp -v -f /var/www/jaula /bin/bash
Listamos para ver como quedo organizado y nos da algo parecido a:
ls -l /var/www/jaula/
devolverá:
drwxr-xr-x 2 root root 4096 jul 5 16:52 bin
drwxr-xr-x 2 root root 4096 jul 5 16:49 dev
drwxr-xr-x 3 root root 4096 jul 5 16:52 etc
drwxr-xr-x 2 root root 4096 jul 5 16:49 lib
drwxr-xr-x 2 root root 4096 jul 5 16:52 lib64 (depende el Sistema Operativo a veces no existe esta carpeta)
drwxr-xr-x 6 root root 4096 jul 5 16:49 usr
Añadimos el usuario usdjaula y le damos una clave:
useradd usdjaula
passwd usdjaula (nos pide clave y confirmación)
Ahora vemos si existe una línea similar a esta
cat /etc/passwd ; grep usdjaula
usdjaula: x:501:501::/home/usdjaula:/bin/bash
cat /etc/passwd ; grep usdjaula >> /var/www/jaula/etc/passwd
Ahora enjaulamos el usuario.
jk_jailuser -m -j /var/www/jaula usdjaula
cat /etc/passwd ; grep usdjaula
usdjaula: x:500:500::/var/www/jaula/./home/usdjaula:/usr/sbin/jk_chrootsh
Editamos el archivo jk_lsh.ini y le agregamos las líneas de abajo luego grabamos con [ ESC]:wq!
vi /var/www/jaula/etc/jailkit/jk_lsh.ini
[ usdjaula]
paths= /usr/bin, /usr/lib/
executables= /usr/bin/scp, /usr/libexec/openssh/sftp-server
Copiamos los archivos que faltan.
jk_cp -v -f /var/www/jaula /bin/ls /usr/bin/groups /bin/sh /usr/bin/id
Solo resta crear la conexión FTP desde el cliente que prefieras y listo. El usuario ha quedado enjaulado.
viernes, 10 de enero de 2014
Enjaular usuarios en Linux
1/10/2014
No comments
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario