Cómo configurar un Servidor FTP con ProFTPd en Ubuntu 18.04 LTS

ProFTPd es un potente servidor FTP . Es muy fácil de configurar. En este artículo, vamos a mostrarte cómo configurar un servidor FTP con ProFTPd en Ubuntu 18.04 LTS y sistemas derivados del mismo. Empecemos!.

Instalación De Servidor ProFTPd:

Los paquetes del servidor FTP ProFTPD están disponibles en los repositorios oficiales de Ubuntu. De esta manera los podremos descargar e instalar fácilmente utilizando el gestor de paquetes APT.

En primer lugar, actualizaremos la cache de repositorios APT con el siguiente comando:

$ sudo apt update
Age of Magic

A continuación, instalaremos ProFTPd con el siguiente comando:

$ sudo apt instalar proftpd-basic
instalar ftp

Y ahora, presionamos «S» / «Y» y me damos permisos para descargar los archivos necesarios para la instalación, Enter.

ftp pro

Si todo ha marchado bien ProFTPD debe haberse instalado sin ningún inconveniente.

ProFPTD Instalado

Antes de configurar nada debemos saber que Los archivos de configuración de ProFTPd se guardan en el directorio /etc/proftpd. Y su archivo de configuración principal es proftpd.conf.

config ProFTPD

Cada ves que realicemos algún cambio en el archivo proftpd.conf debemos reiniciar el servicio para que estos surtan efecto.

Podremos reiniciar el servicio de proftpd con el siguiente comando:

$ sudo systemctl restart proftpd

También podemos comprobar que el servicio FTP se está ejecutando correctamente, escribiendo en el terminal el siguiente comando:

$ sudo systemctl status proftpd

Como podemos observar en la siguiente imagen el servicio esta funcionando correctamente.Si todo ha ido bien debe de apareceros a ustedes lo mismo.

Proftpd status

Pruebas en nuestro servidor ProFTPD


La configuración que por defecto trae tras las instalación en Ubuntu ProFTPd es bastante aceptable, prácticamente no hay que realizar cambios. Podemos iniciar sesión en el servidor FTP con los usuarios existentes sin más.

Para probar si funciona, voy a tratar de iniciar sesión en el servidor FTP con la cuenta predeterminada utilizando el cliente FTP FileZilla.

En primer lugar, necesito averiguar la dirección IP del servidor utilizando alguno de los siguientes comandos:

Como se puede ver, la dirección IP de mi máquina de Ubuntu es 192.168.21.189. Va a ser diferente para usted. Por lo tanto, asegúrese de reemplazarlo con el tuyo a partir de ahora.

$ ip a | egrep "inet"
$ ifconfig
ip ip a

Una vez que hemos averiguado la ip del servidor con nuestro programa ProFPTD instalado. Utilizaremos el cliente FTP FileZilla para iniciar sesion en el y comprobar que todo funciona correctamente.

filezilla

Como podemos ver, estoy conectado a mi servidor FTP. Y ahora puedo acceder a mi directorio home sin problemas.

filezilla conectado

Como crear nuevos usuarios FTP en ProFTPd


Como ProFTPd permite que los usuarios existentes de nuestro Ubuntu pueden iniciar sesión en el servidor FTP, para que podamos agregar nuevos usuarios FTP al servidor , todo lo que tenemos que hacer es añadir nuevos usuarios en nuestra máquina con Ubuntu.

Podemos crear un nuevo usuario llamado ftp2 en Ubuntu con el siguiente comando:

$ sudo useradd -m ftp2
user ftp

Ahora, deberemos establecer una contraseña para el usuario que acabamos de crear ftp2 con el siguiente comando:

$ sudo passwd ftp2

Escribimos la contraseña que deseamos y pulsamos Enter.

pass ftp2

Escribimos nuevamente la contraseña y pulsamos de nuevo Enter.

pass ftp2 2

Ahora se deberá haber realizado el proceso sin mayor problema.

pass echo

Ahora ya podremos iniciar sesión con nuestro nuevo usuario ftp2 en nuestro servidor FTP sin mayos dificultad, por lo que el usuario que hemos creado funciona a la perfección.

ftp2 inicio

Deshabilitar el Acceso SSH a los Usuarios FTP


Puede que por alguna razón, no desee que los usuarios FTP accedan al servidor a través de SSH.

De forma predeterminada, todos los usuarios que se crean en el servidor se les permite tener acceso SSH como podéis ver en la siguiente captura de pantalla. Para la comprobación en el comando utilizare el usuario ftp2 (sustituir por el usuario que habéis creado ustedes).

$ ssh ftp2@192.168.21.189
servidor ssh

Para poder deshabilitar el acceso SSH, tenemos que cambiar la configuración predeterminada de inicio de sesióndel servidor desde la shell para /bin/false.

En primer lugar, abriremos /etc/shells el archivo de configuración de su servidor con el siguiente comando:

$sudo nano /etc/shells
shell

Ahora, agregaremos /bin/false al final de el archivo y guardaremos el archivo pulsando Ctrl + x y despues pulsamos «Y» para guardar los cambios .

shell 2

Ahora, podremos cambiar el shell del usuario (por ejemplo , ftp2) a /bin/false en el terminal con el siguiente comando:

$ sudo usermod -s /bin/falso ftp2
false ftp2

Como podemos ver en la siguiente imagen, el usuario ftp2 no puede iniciar sesión a través de SSH. Pero, sigue teniendo acceso FTP.

false ftp2 2

Chroot los Usuarios en el Directorios Raíz


De forma predeterminada, los usuarios de FTP puede navegar hasta el directorio raíz. Incluso aunque no puedan hacer cambios en los archivos y directorios que estén en ese directorio y no tengan permisos . Pero, aún así es una mala idea dejar que exploren el directorio raíz libremente. Aquí es donde chroot jail entra en acción.

Para habilitar la cárcel chroot, en primer lugar, abra el archivo de configuración de ProFTPd que se encuentra en /etc/proftpd/proftpd.conf con el siguiente comando:

$ sudo nano /etc/proftpd/proftpd.conf
nano Proftpd

Para poder realizar esta operación debemos de buscar la siguiente linea de codigo que muestro en la imagen.

defaul root

Ahora, quitaremos el comentario de la línea marcada en la imagen eliminado el símbolo # (corchete). La configuración del archivo debe quedar de la siguiente manera. y posteriormente guardaremos presionando el Ctrl + x seguido por «Y» .

defaul root 2

Reiniciemos el servicio para que los cambios se apliquen correctamente

$ sudo systemctl restart proftpd
restaurar proftpd

De esta forma ahora, los usuarios de FTP sólo serán capaces de explorar sus propios directorios Raíz. Y no tendrán acceso a la raíz principal del servidor.

Asegurar ProFTPD con TLS:


ProFTPd puede ser configurado con TLS para mayor seguridad en las conexiones FTP.

En primer lugar, asegúrese de que usted tiene en su equipo el paquete openssl instalado en tu sistema Ubuntu o derivado. Deberías de tenerlo instalado de forma predeterminada. Pero en caso de que no lo tenga instalado, puede instalarlo con el siguiente comando:

$ sudo apt install openssl -y

Ahora generaremos certificados SSL para nuestro servidor ProFTPD desde el terminal con el siguiente comando:

$ sudo openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/privado/proftpd.key
-out /etc/ssl/certs/proftpd.crt -nodes -days 365
SSL

OpenSSL nos lanzara algunas preguntas. Sólo tienes que escribir las respuestas y pulsar Enter .

ssl preguntas

Terminado todo el proceso de certificado openssl nos genera en nuestro equipo dos archivos.

El primero /etc/ssl/private/proftpd.clave y el segundo /etc/ssl/certs/proftpd.crt.

ssl preguntas2

En este punto debemos saber que sólo el propietario de los archivos debe de tener permiso de lectura y escritura. Para ellos realizaremos el siguiente paso en el terminal.

$ sudo chmod 600 /etc/ssl/privado/proftpd.clave
$ sudo chmod 600 /etc/ssl/los certs/proftpd.crt
chmod 1

Ahora, abrimos el archivo de configuración de ProFTPd que se encuentra en /etc/proftpd/proftpd.conf como hemos comentado con anterioridad:

$ sudo nano /etc/proftpd/proftpd.conf
config proftpd

Buscamos en el archivo la siguiente linea que muestro en la captura de pantalla, y quitamos como antes el símbolo de # . Seguidamente guardamos los cambios que hemos realizado en el archivo config.

config ssl

Una vez guardado el archivo vamos a realizar cambios en el archivo /etc/proftpd/tls.conf :

$ sudo nano /etc/proftpd/tls.conf
tls

Quite el comentario (quitando el símbolo #) de las líneas marcadas en la imagen que te muestro abajo.

tls2
tls3
tls4

Cuando este todo listo como muestro, guardamos el archivo de configuración y reiniciamos el servicio de proftpd con el comando:

$ sudo systemctl restart proftpd

Si intentamos conectarnos al servidor FTP, nos aparecerá el siguiente mensaje. Tendremos que aceptar el certificado para poder conectarnos al servidor.

conectar tsl

Conclusión Final

Como podéis ver después de esta mini guia tener un servicio FTP no será un obstaculo para nadie en Ubuntu o derivados . Como siempre Free y con la mayor seguridad. Ayuda a crecer y comparte en redes sociales y si te parece bien o lo necesitas, escríbenos un comentario. Como siempre estaremos encantados de contestarte lo antes posible. Alohaaa!!

Deja un comentario

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