Cómo instalar ProFTPD con TLS en Ubuntu 20.04 LTS

La transferencia de archivos a través de FTP (Protocolo de transferencia de archivos) es probablemente una de las formas más populares de cargar archivos en un servidor. ProFTPD es un servidor FTP popular y versátil que está disponible como software de código abierto y es compatible con TLS (SSL) para conexiones seguras.

De forma predeterminada, FTP es un protocolo inseguro ya que las contraseñas y los datos se transfieren en texto sin cifrar. Al usar TLS, como lo hacemos en esta guía, todas las comunicaciones se pueden cifrar, lo que hace que FTP sea más seguro.

Este artículo describe cómo configurar proftpd con TLS en el servidor Ubuntu 20.04 LTS.

Prerrequisitos

  1. Ubuntu Server 20.04 de 64 bits
  2. sudo/ privilegios de root

Que haremos en este tutorial

  1. Instale ProFTPD y TLS.
  2. Configure ProFTPD.
  3. Agregue un usuario de FTP.
  4. Configure TLS en ProFTPD.
  5. Pruebas.

Instale Proftpd y OpenSSL

Proftpd y OpenSSL están disponibles en el repositorio de Ubuntu, por lo que podemos instalarlos con el comando apt:

sudo apt-get install -y proftpd openssl

ProFTPD se instala como se muestra a continuación. El proceso de instalación no solicitará ninguna entrada.

Ahora verificaremos que proFTPD se haya instalado e iniciado. Ejecute este comando:

sudo proftpd –versión

para comprobar la versión de ProFTPD instalada. A continuación, comprobaremos el estado del servicio, lo consultaremos con el comando systemctl:

sudo systemctl status proftpd

Estado del servicio ProFTPD

Configurar ProFTPD

Una vez que ProFTPD esté instalado, deberá ajustar la configuración para que sea un servidor completamente funcional y seguro. El archivo de configuración de ProFTPD se encuentra en el directorio / etc / proftpd /; edite el archivo proftpd.conf.

sudo nano /etc/proftpd/proftpd.conf

En la línea Nombre del servidor, reemplace el valor con su nombre de host o dominio:

ServerName “Mi servidor FTP”

Descomente la línea DefaultRoot para habilitar la cárcel para todos los usuarios:

DefaultRoot ~

y reinicie ProFTPD a través del comando systemctl de la siguiente manera.

sudo systemctl reiniciar proftpd

Agregar un usuario de FTP

Hay dos tipos de usuarios de FTP disponibles, el usuario de FTP anónimo y los usuarios de FTP “normales”:

  1. FTP anónimo: El servidor FTP proporciona acceso a cualquier persona sin tener que tener una cuenta de usuario y una contraseña. Esto no debe usarse en un servidor disponible públicamente, pero podría ser una opción para un servidor doméstico o una LAN de empresa.
  2. Usuario FTP: Solo aquellos que tienen una cuenta de usuario y contraseña pueden acceder al servidor FTP.

Antes de crear un usuario para el servidor FTP, agregue / bin / false a su archivo / etc / shells.

sudo echo “/ bin / false” >> / etc / shells

Y ahora, cree un usuario con un directorio de inicio específico, deshabilite el acceso al shell y luego concédalo al servidor FTP.

sudo useradd -m -s / bin / false tom
sudo tom passwd

El comando anterior creará un nuevo usuario llamado tom con el directorio de inicio / home / tom / y sin acceso al shell / bin / false.

Agregar un usuario de FTP

Ahora, configure ProFTPD para permitir el acceso del usuario al servidor FTP.

sudo nano /etc/proftpd/conf.d/tom.conf

Agregue este archivo de configuración para permitir que el usuario tom inicie sesión y cargue / descargue el archivo hacia / desde el servidor:

Umask 022022 AllowOverwrite off AllowUser tom DenyALL Order Allow, Deny AllowUser tom Deny ALL AllowUser tom Deny ALL

El archivo se verá así:

ProFTPD por archivo de configuración de usuario

Save el archivo y salga de nano. Luego reinicie ProFTPD.

sudo systemctl reiniciar proftpd

Ya puede usar FTP en esta etapa, pero lo haremos más seguro usando TLS en el siguiente paso.

Configurar TLS con proftpd

Para usar TLS, debe crear un certificado SSL. Genere certificado SSL con el comando OpenSSL:

sudo openssl req -x509 -newkey rsa: 2048 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365

El comando anterior generará un archivo de certificado proftpd.crt en el directorio / etc / ssl / certs / y el archivo de clave de certificado proftpd.key en el directorio / etc / ssl / private /.

Generar certificado SSL

A continuación, cambie el permiso del archivo de certificado a 600:

sudo chmod 600 /etc/ssl/certs/proftpd.crt
sudo chmod 600 /etc/ssl/private/proftpd.key

Ahora, regrese al directorio / etc / proftpd y configure ProFTPD para usar el certificado SSL que generó.

nano /etc/proftpd/proftpd.conf

Descomente la línea TLS:

Incluya /etc/proftpd/tls.conf

Save tls.conf y salga.

A continuación, edite el archivo de configuración de TLS para habilitar la autenticación segura:

nano /etc/proftpd/tls.conf

Descomente todas estas líneas:

TLSEngine en TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSOptions NoCertRequestes de TLSRSACertificateFile

Save y salir. El último paso es reiniciar el servidor ProFTPD:

sudo systemctl reiniciar proftpd

Probar ProFTPD

Para probar la configuración, intente conectarse a su servidor FTP con un software como FileZilla (estoy usando FileZilla aquí), y complete la IP del servidor, el nombre de usuario, la contraseña y el puerto:

IP del servidor: 192.168.0.100 nombre de usuario: tom Contraseña ****** Puerto: 21

Y luego haga clic en Conexión rápida.

Conexión rápida FileZilla

Haga clic en ‘Aceptar’ para confirmar nuestro certificado SSL autofirmado.

Acepte el certificado SSL autofirmado

Verá que ha iniciado sesión en el servidor FTP con certificado TLS / SSL.

Enlaces

  • El proyecto de software ProFTPD. Enlace