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

FIND OPEN TCP PORTS AND PIDs

PCP script to find open TCP ports and PIDs in Solaris

PCP is a script that can help you quickly find Processes (PIDs)
having particular TCP Port(s) open, TCP ports open by specific PIDs
or even list all the TCP Ports open by all PIDs running on your system.

PIDs for TCP Port
Run PCP with "-p" option to show the PIDs of processes having a
TCP port (say Port 22)
Example:
test@mx3 # ksh "pcp.ksh" -p 22 PID Process Name and Port
_________________________________________________________
26308 sshd 22
sockname: AF_INET 10.0.0.7 port: 22
sockname: AF_INET 10.0.0.7 port: 22
sockname: AF_INET 10.0.0.7 port: 22
_________________________________________________________

TCP Ports open by PIDs
Run PCP with "-P" option to show the TCP ports open by specific PID

PIDs for all open TCP Ports
Use the "-a" option to list all TCP ports open with all the PIDs

Many thanks for this Script Sam Nelson and Daniel Trinkle trinkle

free counters