Cómo instalar ProFTPD con TLS en Ubuntu 18.04 LTS

Cliente FTP de FileZilla

ProFTPD es un servidor FTP gratuito, de código abierto y el más popular para sistemas operativos similares a Unix. ProFTPD le permite crear una conexión FTP entre su computadora local y el servidor remoto. Es un servidor FTP versátil que admite TLS (SSL) para conexiones seguras.

Características

  • Soporta IPv4 e IPv6.
  • Admite .ftpaccess para asegurar por directorio.
  • Permitirnos configurar múltiples servidores FTP virtuales y servicios FTP anónimos.
  • Proporcione soporte para contraseña oculta, utmp/wtmp, cifrado SSL/TLS y RADIUS.
  • Puede ejecutarse como un servidor independiente o desde inetd/xinetd.

En este tutorial, aprenderemos cómo instalar ProFTPD y asegurarlo con TLS en el servidor Ubuntu 18.04

Requisitos

  • Un servidor con Ubuntu 18.04.
  • Se configura una dirección IP estática 192.168.0.101 en el servidor.
  • Una contraseña de root está configurada en su servidor.

Empezando

Antes de comenzar, deberá actualizar su sistema con la última versión. Puede hacer esto ejecutando el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez que su servidor esté actualizado, reinícielo para aplicar los cambios.

Instalar ProFTPD

De forma predeterminada, ProFTPD está disponible en el repositorio predeterminado de Ubuntu 18.04. Puede instalarlo simplemente ejecutando el siguiente comando:

apt-get install proftpd -y

Después de instalar ProFTPD, inicie el servicio ProFTPD y habilítelo para que se inicie en el momento del arranque con el siguiente comando:

systemctl start proftpd
systemctl enable proftpd

Puede verificar el estado del servicio ProFTPD con el siguiente comando:

systemctl status proftpd

Debería ver el siguiente resultado:

? proftpd.service - LSB: Starts ProFTPD daemon
   Loaded: loaded (/etc/init.d/proftpd; generated)
   Active: active (running) since Sat 2019-05-25 09:18:19 UTC; 31s ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 1 (limit: 1114)
   CGroup: /system.slice/proftpd.service
           ??1927 proftpd: (accepting connections)

May 25 09:18:19 ubuntu1804 systemd[1]: Starting LSB: Starts ProFTPD daemon...
May 25 09:18:19 ubuntu1804 proftpd[1906]:  * Starting ftp server proftpd
May 25 09:18:19 ubuntu1804 proftpd[1906]:    ...done.
May 25 09:18:19 ubuntu1804 systemd[1]: Started LSB: Starts ProFTPD daemon.

Los archivos de configuración predeterminados de ProFTPD se encuentran en /etc/proftpd/proftpd.conf. Puedes verlo con el siguiente comando:

cat /etc/proftpd/proftpd.conf

Debería ver el siguiente resultado:

#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes, reload proftpd after modifications, if
# it runs in daemon mode. It is not required in inetd/xinetd mode.
# 

# Includes DSO modules

Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6                         on
# If set on you can experience a longer connection delay in many cases.
IdentLookups                    off

ServerName                      "Debian"
# Set to inetd only if you would run proftpd by inetd/xinetd.
# Read README.Debian for more information on proper configuration.
ServerType                              standalone
DeferWelcome                    off

MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayChdir                    .message true
ListOptions                     "-l"

DenyFilter                      \*.*/

# Use this to jail all users in their homes 
# DefaultRoot                   ~
# Port 21 is the standard FTP port.
Port                            21
MaxInstances                    30
# Set the user and group that the server normally runs at.
User                            proftpd
Group                           nogroup
# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask                           022  022
# Normally, we want files to be overwriteable.
AllowOverwrite                  on
TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

Puede cambiar la configuración anterior según sus requisitos, como se muestra a continuación:

  • Nombre del servidor: Puede cambiarlo como su nombre de servidor predeterminado.
  • UsarIPV6: Puede deshabilitarlo cambiándolo a apagado.
  • Raíz predeterminada: Puede descomentar esta línea para restringir a los usuarios con sus carpetas de inicio.
  • Puerto: Puede definir su propio puerto cambiándolo.
  • Registro del sistema: La ubicación predeterminada del archivo de registro. Puede cambiarlo según sus requisitos.

Una vez que lo haya hecho, puede continuar con el siguiente paso.

ProFTPD seguro con TLS

ProFTPD ya está instalado. Ahora, deberá configurar ProFTPD con TLS para conexiones FTP seguras.

Antes de comenzar, deberá instalar OpenSSL en su servidor. Puede instalarlo simplemente ejecutando el siguiente comando:

apt-get install openssl -y

Una vez completada la instalación, genere certificados SSL para ProFTPd con el siguiente comando:

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

Responda todas las preguntas como se muestra a continuación:

Generating a 1024 bit RSA private key
.++++++
.......................++++++
writing new private key to '/etc/ssl/private/proftpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IN
State or Province Name (full name) [Some-State]:GUJ
Locality Name (eg, city) []:Junagadh
Organization Name (eg, company) [Internet Widgits Pty Ltd]:IT
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:HITESH
Email Address []:[email protected]

El comando anterior generará dos archivos /etc/ssl/private/proftpd.key y /etc/ssl/certs/proftpd.crt.

A continuación, proporcione los permisos adecuados a los archivos generados con el siguiente comando:

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

Una vez que lo haya hecho, puede continuar con el siguiente paso.

Configurar ProFTPD para usar SSL

A continuación, deberá configurar ProFTPD para usar certificados SSL. Puede hacerlo editando el archivo /etc/proftpd/proftpd.conf:

nano /etc/proftpd/proftpd.conf

Descomente la siguiente línea:

Include /etc/proftpd/tls.conf

Guarde y cierre el archivo cuando haya terminado. Luego, abra el archivo /etc/proftpd/tls.conf:

nano /etc/proftpd/tls.conf

Cambia las siguientes líneas:

TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSRequired on
TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired
TLSVerifyClient off

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio ProFTPD con el siguiente comando:

systemctl restart proftpd

Una vez que lo haya hecho, puede continuar con el siguiente paso.

Crear usuario para ProFTPD

A continuación, deberá crear un usuario ProFTPD para acceder al servidor. Puedes hacerlo con el siguiente comando:

adduser ftp1

Responda todas las preguntas como se muestra a continuación:

Adding user `ftp1' ...
Adding new group `ftp1' (1006) ...
Adding new user `ftp1' (1002) with group `ftp1' ...
Creating home directory `/home/ftp1' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for ftp1
Enter the new value, or press ENTER for the default
	Full Name []: 
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [Y/n] Y

Una vez que lo haya hecho, puede continuar con el siguiente paso.

Acceda al servidor ProFTPD usando FileZilla

ProFTPD ahora está instalado y configurado, es hora de acceder a ProFTPD a través de FileZilla desde el sistema del Cliente.

Primero, deberá instalar FileZilla en su sistema Cliente. Puede instalarlo simplemente ejecutando el siguiente comando:

apt-get install filezilla -y

Una vez que se haya completado la instalación, puede abrir FileZilla desde Unity dash como se muestra a continuación:

Cliente FTP de FileZilla

Ahora, haga clic en el Administrador del sitio en el panel lateral izquierdo y cree un nuevo sitio. Deberías ver la siguiente página:

Conexión FTP segura sobre TLSAnuncio publicitario

Ahora, proporcione la dirección IP de su servidor FTP, seleccione el protocolo, seleccione Cifrado, seleccione el tipo de inicio de sesión, proporcione el nombre de usuario y la contraseña. Luego, haga clic en el Conectar botón. Deberías ver la siguiente página:

Aceptar certificado SSL del servidor

Ahora, acepte el certificado, marque la casilla «Confiar siempre en el certificado en sesiones futuras» y haga clic en el OK botón. Después de iniciar sesión correctamente, debería ver la siguiente página:

Inicio de sesión FTP exitoso

Ahora puede transferir archivos de forma segura a través de SSL/TLS.

¡Felicidades! Ha instalado y configurado correctamente el servidor ProFTPD y lo ha protegido con encriptación SSL/TLS. Ahora puede transferir su archivo desde su computadora local al servidor FTP fácilmente con cifrado seguro. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *