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


Como convertir id_rsa keys OpenSSH a Putty .ppk sin passphrase.

La llave publica y privada id_rsa fue generada en SO UNIX/Linux, sin una passphrase.

Para poder usarla con Putty en Windows es necesario importar la llave privada con PuttyGen y guardarla como .ppk.

En putty:
Click en Conversions => Import Key Click en Save Private Key y Yes para salvar sin una passphrase.
Resguardar la nueva key.ppk en una directorio seguro para evitar que sea eliminada.
Ir a Putty en Connection => SSH => Auth y agregar en Private Key file for authentication.

Validar conectividad con llave privada.

login as: connect01
This computing system is a company owned asset and provided for the exclusive use of authorized 
personnel for business purposes. All information and data created, accessed, processed, or stored
using this system (including personal information) are subject to monitoring, auditing, or review to
the extent permitted by applicable law. Unauthorized use or abuse of this system may lead to
corrective action including termination of employment, civil and/or criminal penalties. Authenticating with public key "imported-openssh-key"

free counters