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

List all tasks currently running on the system, use the following command: vxtask list

Example: # vxresize -g rootdg jetform +4g disk01 disk02

# vxtask list
TASKID PTID TYPE/STATE PCT PROGRESS
168 RDWRBACK/R 94.46% 18874368/27262976/26798080 RESYNC jetform
#

free counters