Inicio Linux & Systems Networks & Infrastructure Cybersecurity Cloud & DevOps SIEM & Monitoring DFIR & Threat Intel Development & Other Todas las categorias Herramientas

Instalar servidor SFTP enjaulado GNU/Linux

Instalar servidor SFTP enjaulado GNU/Linux

Tabla de contenidos

SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo del nivel de aplicación que proporciona la funcionalidad necesaria para la transferencia y manipulación de archivos sobre un flujo de datos fiable. Se utiliza comúnmente con SSH para proporcionar la seguridad a los datos, aunque permite ser usado con otros protocolos de seguridad. Por lo tanto, la seguridad no la provee directamente el protocolo SFTP, sino SSH o el protocolo que sea utilizado en su caso para este cometido.

Instalamos openssh

bash
root@red-orbita:~# apt-get install openssh-server openssh-client

Creamos los directorios y asignamos los permisos donde van acceder los usuarios los cuales tengan permiso.

bash
root@red-orbita:~# mkdir /home/sftp

root@red-orbita:~# mkdir /home/sftp/redorbita

root@red-orbita:~# chmod 755 /home/sftp

root@red-orbita:~# chmod 755 /home/sftp/redorbita

Creamos el grupo (sftp) y usuario (redorbita)

bash
root@red-orbita:~# groupadd sftp

root@red-orbita:~# useradd -g sftp -s /bin/false -d /home/sftp/redorbia redorbita

root@red-orbita:~# passwd redorbita

Introduzca la nueva contraseña de UNIX:

Vuelva a escribir la nueva contraseña de UNIX:

passwd: contraseña actualizada correctamente

Configurar Enjaulado SFTP.

accedemos al archivo de configuración

bash
root@red-orbita:~# vi /etc/ssh/sshd_config

Buscamos la siguiente linea y la comentamos (Ponemos delante #), de la siguiente forma:

text
#Subsystem sftp /usr/lib/openssh/sftp-server

Nos damos al final del documento ( Para ir al final con vi :$ ) y añadimos lo siguiente:

text
Subsystem sftp internal-sftp

Si queremos enjaular al grupo el cual pertenece nuestros usuarios (En mi opinión la mejor forma) enjaulariamos el raíz que creamos anteriormente.
Quedaría de la siguiente forma:

text
Match group sftp

ChrootDirectory /home/sftp

ForceCommand internal-sftp

En cambio si queremos enjaular a un usuario en concreto añadiríamos lo siguiente:

text
UsePAM yes

Match user redorbita

ChrootDirectory /home/sftp/redorbita

ForceCommand internal-sftp

Reiniciamos ssh

bash
root@redorbita:~# /etc/init.d/ssh start

Starting OpenBSD Secure Shell server: sshd.

Ahora toca acceder con nuestro cliente ftp favorito…

Pantallazo1

Aceptamos la clave.

Pantallazo 11

Listo, ya lo tenemos

Pantallazo 21

Un saludo, rokitoh!

Comentarios