Servicios

Web hosting
Ver »
Páginas Web
Ver »
Soporte UNIX
Ver »
UNIX TIPS
Ver »

Enjaulado SFTP OpenSSH

El enjaulado ya sea para FTP o SFTP en Solaris proporciona un acceso limitado al Sistema de Archivos, normalmente en el home de cada usuario y el acceso se limita a esta.

La configuracion normal o por default permite a los usuarios navegar o moverse por todo el sistema de archivo o carpetas de usuarios arriesgando la confidencialidad del sistema con el simple hecho de ver.

Para evitarlo se tiene que configurar el enjaulado en su directorio home y no podra subir de este nivel.
Nota: El usuario no podra realizar conexiones del tipo SSH o nivel comandos, es requisito o restricción del ChrootDirectory de OpenSSH que los permisos del directorio Jaula y los directorios sobre este debe ser root. Por lo que la cuenta de usuario a enjaular su rol o uso debe ser unicamente de transferencia.


1. Permisos y propietario de la jaula

En este ejemplo se configura un usuario con acceso SFTP enjaulado; el propietario del directorio jaula y los directorios sobre este, debe ser root. Así para este ejemplo, las carpetas /export/home, /export/home/user01 deberán ser propiedad de root con los permisos 755.
Si se deja de esta forma la configuración anterior, el usuario no tendría privilegios de escritura sobre su directorio. Para solucionar este problema, se crea al usuario el directorio 'archivos', dentro de la jaula, que sea de su propiedad, y es allí donde él podrá tanto escribir como leer sus archivos. Quedando de esta forma /export/home/user01/archivos


2. Configuración del enjaulado SFTP

Para configurar un servidor SFTP restringido uno debería usar las directivas ForceCommand y ChrootDirectory en el archivo de configuración sshd_config, que se encuentra en /etc/ssh/sshd_config o en /usr/local/etc.
Primero hay que cambiar, la linea en /etc/ssh/sshd_config:

Comentar
# override default of no subsystems
Subsystem sftp /usr/local/libexec/sftp-server

Agregar en su lugar:
Subsystem sftp internal-sftp

Puede restringirse el servicio a usuarios, de modo que si se requiere aplicar enjaulado al user01 usamos la directiva Match como sigue

Match user user01
ChrootDirectory /export/home/user01
ForceCommand internal-sftp

Para el enjaulado de un grupo se hace de manera similar (de esta forma aparecerán en el directorio raíz todos los usuarios que hayamos creado):

Match group app_mx
ChrootDirectory /export/home/app_mx_downl
ForceCommand internal-sftp


3. Para que la configuración tome efecto, reiniciar el proceso o daemon de ssh

# svcadm refresh ssh

Regresar


Random TIPS

COPIA DE ARCHIVOS EN UNA UNIDAD DE CINTA REMOTA (tar y dd)

# tar cvf - * | rsh remote-host dd of=/dev/rmt/0 obs=126b

EXTRAER ARCHIVOS DE UN DISPOSITIVO DE CINTA REMOTO
Inserte la cinta en la unidad de cinta.
Cambie a un directorio temporal.
$ cd /var/tmp
Extraiga los archivos de un dispositivo de cinta remoto.
$ rsh remote-host dd if=/dev/rmt/n | tar xvBpf -

CÓMO COPIAR TODOS LOS ARCHIVOS DE UN DIRECTORIO EN UNA CINTA (cpio)

$ ls -l | cpio -oc > /dev/rmt/0n
Compruebe que los archivos se hayan copiado en la cinta.
$ cpio -civt < /dev/rmt/0n
Cmo recuperar todos los archivos de una cinta (cpio)
Cambie al directorio donde desea colocar los archivos.
Extraiga todos los archivos de la cinta.

$ cpio -icvd < /dev/rmt/0n

free counters