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
- Admite IPv4 e IPv6.
- Admite .ftpaccess para asegurar por directorio.
- Permítanos configurar varios servidores FTP virtuales y servicios FTP anónimos.
- Proporcione soporte para contraseña oculta, utmp/wtmp, cifrado SSL/TLS y RADIUS.
- Puede ejecutarse como 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.
- Se configura una contraseña raíz en su servidor.
Cómo empezar
Antes de comenzar, deberá actualizar su sistema con la última versión. Puede hacerlo 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 haya terminado, 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 haya terminado, 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
Cambie 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 haya terminado, 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 haya terminado, 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:
Ahora, haz clic en el Administrador del sitio en el panel lateral izquierdo y cree un nuevo sitio. Debería ver la siguiente página:
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 Conectar botón. Debería ver la siguiente página:
Ahora, acepte el certificado, marque la casilla "Confiar siempre en el certificado en futuras sesiones" y haga clic en Aceptar. botón. Después de iniciar sesión correctamente, debería ver la siguiente página:
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 cifrado SSL/TLS. Ahora puede transferir su archivo desde su computadora local al servidor FTP fácilmente con cifrado seguro. Siéntase libre de preguntarme si tiene alguna pregunta.