Publicado en debian, FTP

FTP enjaular usuarios en una lista paso a paso

Vamos a aprender en Debian versión: 10.1.0 a enjaular usuarios en ftp en la ruta:

«etc/vsftpd.chroot_list»

Cuando se añadan los usuarios en esa dirección no podrán salir de su directorio «home».

 

Antes de hacer nada es aconsejable actualizar el sistema poniendo en la terminal.

sudo apt-get update   y     sudo apt-get upgrade

 

Para instalar ftp en debian con vsftpd hay que poner:

sudo apt-get install vsftpd

Screenshot_1

Para se supone que soy el administrador del sistema no es aconsejable hacerlo desde mi cuenta, por eso voy a crear 2 usuarios que se llamaran «uno» y «dos«.

Hay 2 formas de hacerlo:

1º forma:    para que el usuario pueda entrar (y no nos de error al intentar acceder) en ftp hay que quitarle permisos de escritura (w) (si le quitamos el permiso de escritura al administrador no podrá escribir, por eso es aconsejable a otras cuentas)

2º forma:   también se puede hacer cambiándole a cada usuario a un grupo

 

En este ejemplo voy a enseñar la 1º forma (si a alguien le interesa la 2º forma y no sabe  hacerlo por el motivo que sea, que lo diga y cuando vaya teniendo tiempo lo pondría).

 

Para comprobar si el vsftpd está funcionando correctamente hay que poner

systemctl status vsftpd

Screenshot_2

 

Voy a poner una ip de ejemplo para ello entramos en la parte superior derecha y le damos a «opciones» (IMPORTANTE: esto solo es para poner una ip nueva manualmente, también se puede pasar de este punto y seguir con el siguiente paso).

Screenshot_3

 

A continuación, vamos a «red» y le damos al signo «+«.

Screenshot_4

Elegimos la pestaña ipv4, elegimos «manual» y en direcciones añadimos la ip de «dirección, mascara de red, puerta de enlace» y le damos a añadir.

Screenshot_5

Como se puede comprobar sale la ip que teníamos anteriormente, para que se cambie a la ip que hemos cambiado manualmente solo hay que pulsar en el perfil 1 y se cambia.

Screenshot_16

Al pinchar en «perfil 1» se puede comprobar que está activado dicho perfil.

Screenshot_17

 

 

 

 

 

Ahora para comprobar la ip como el comando «ifconfig» ya no funciona en debian 9 y 10 ahora se usa el «iproute2» que es el sustituto de «ifconfig»

Con el comando ip «iproute2» hay varias formas de ver la ip, yo voy a usar «sudo ip a» para ver la ip que hemos puesto nosotros (hay que fijarse en lo que está en rojo que pone 10.15.20.25/24 y eso significa que ya tenemos la ip cambiada).

Screenshot_10

Ahora hay que quitarle permisos a un usuario para entrar por ftp, para ello en la consola ponemos «cd /home» para ir a donde están todos los usuarios creados.

Por la interfaz:

screenshot_12.png

Por comandos:

Screenshot_11

Ahora hay que mirar que permisos tienen las carpetas de home para ello vamos a usar el comando «ls -l» en la terminal.

Screenshot_13

Lo que nos interesa es la w (escritura) para ello se lo voy a quitar al usuario «uno» para que no tenga permisos de escritura poniendo «sudo chmod a-w uno«.

Screenshot_14

sudo= se pone para ser administrador en la terminal.

chmod = sirve para cambiar los permisos de rwx (leer, escribir, ejecutar).

a-w = con esto le estoy diciendo que le quite los permisos de escritura.

uno = el usuario al que le vamos a quitar los permisos de escritura.

Después de quitar los permisos de escritura poniendo otra vez «ls -l» se puede comprobar que se han quitado los permisos del usuario «uno«.

Screenshot_15.png

Ahora hay que entrar en /etc y buscar el documento «vsftpd.conf» que está en y para ello ponemos en la consola: sudo nano /etc/vsftpd.conf  para ir directamente a esa dirección y abrir el documento vsftpd.conf con el comando nano.

Screenshot_18.png

En la lista vemos:

«anonymous_enable=no» hay que dejarlo en «NO» porque no queremos entrar como usuarios anónimos

«Local_enable=YES» = Hay que dejarlo activado porque si lo dejamos en «NO», entonces desactiva los usuarios locales

Screenshot_19

Hay que centrarse en estas directivas y hay que desactivarlas (menos la de «default follows).

Screenshot_20.png

Para desactivar las directivas es tan simple como quitarle la «#» y lo dejamos como en la imagen de abajo:

chroot_local_user=NO  = Si está activada, a los usuarios locales se les cambia el directorio raíz a su directorio home.

chroot_list_enable=YES = indica que los usuarios locales pueden conectarse al servidor estando en «YES». (los que no estén en la lista «etc/vsftpd.chroot_list» se pueden mover libremente).

Pulsamos «control + o» para guardar lo que hemos modificado y «control +x» para salir de /etc/vsftpd.conf  (antes de hacer cambios aconsejo hacer una copia del archivo «vsftpd.conf» por si se modifica algo sin querer para poder restaurarlo).

Screenshot_21

Todo lo anterior no tendría sentido si no reiniciamos el vsftpd, para ello en la terminal hay que poner:

systemctl restart vsftpd

Screenshot_22

En el caso de que quisiera entrar ahora con el usuario «dos» me saldría el error «500»

Screenshot_24.png

 

No me dejaría entrar y para ello le tengo que quitar al usuario «dos» los permisos de escritura (Si alguien se confunde y quiere dejar los permisos como estaban antes hay que poner «chmod 755 dos«)

sudo chmod a-w dos

Screenshot_25

Vamos a proceder a enjaular al usuario «uno» y ver que el usuario «dos» se puede mover por todo el sistema.

En la imagen de abajo como hemos visto antes pone:                                                 «chroot_list_file=/etc/vsftpd.chroot_list» se refiere que en esa ruta van a estar los usuarios enjaulados.

Screenshot_21

 

Como podemos comprobar en la imagen de abajo solo se visualiza en /etc el archivo «vsftpd.conf» y como no está creada la crearemos nosotros.

Screenshot_26

Para crear un documento en gnu/Linux lo más fácil es ir al directorio y luego crear el documento, para ello vamos a poner en la terminal:

cd /etc y vamos directamente al directorio /etc

Ahora en la terminal hay que poner: sudo touch vsftpd.chroot_list para crear un documento que tenga ese nombre.

Screenshot_27

En la terminal ahora ponemos el comando «ls» y saldrá con el archivo que hemos creado en /etc.

Screenshot_28.png

Ahora entramos en el documento creado poniendo:

sudo nano vsftpd.chroot_list

Y añadimos al usuario que queremos que esté enjaulado, en este caso es al usuario «uno«.

Para guardar y salir pulsamos «control + o » y «control + x«.

 

Screenshot_29.png

 

Vamos a entrar por ftp con el usuario «dos» para ver que se puede mover por todo el sistema y luego con el usuario «uno» para ver que esta enjaulado.

 

Con el usuario «dos».

Estoy dentro del usuario «dos».

Screenshot_30

Como se puede comprobar en la imagen de abajo he puesto:

El comando «pwd» que sirve para saber donde estoy y me dice que estoy en «/home/dos» (mi directorio)

El comando «cd ..» que sirver para moverse atrás en las carpetas, después he puesto pwd y me die que estoy en /home (ya me ha dejado salir de mi directorio).

He puesto otra vez el comando «cd ..» para moverme atrás y he puesto «pwd» y me dice que estoy en la raíz de gnu/Linux (en «/»)

Como se puede comprobar me ha dejado moverme entre las carpetas

Screenshot_31

 

Con el usuario «uno».

Estoy dentro del usuario «uno»

Screenshot_32

Como se puede comprobar he puesto el comando para saber dónde estoy «pwd» y solamente se ve la raíz «/» , al usar el comando «cd ..» también sale «/» y como se puede comprobar no me deja salir de mi directorio home.

Screenshot_33

Gracias por mirarlo y si te ha gustado sígueme para animarme a poner más a menudo.

Pd: en el caso de que alguien este aprendiendo y me haya saltado algun paso y no sea capaz hacerlo que lo diga y con mucho gusto le ayudaré donde se haya trabado,  y si alguien ve que me he saltado algún paso y faltan cosas por poner, que lo diga y con mucho gusto también lo modificaré.

 

 

2 comentarios sobre “FTP enjaular usuarios en una lista paso a paso

  1. I just couldn’t leave your site before suggesting that I really loved
    the usual information a person supply to your visitors?
    Is gonna be again ceaselessly to check out new posts

    Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.