Instalación ProFTPD · 5 min read · Dec 18, 2025

Cómo instalar ProFTPD con TLS en CentOS 7.2

Este tutorial describe la instalación y configuración de ProFTPD en un servidor CentOS 7.2. ProFTPD es un demonio FTP para sistemas operativos Unix y Linux y se distribuye bajo la Licencia Pública General de GNU (GPL).

1 Nota Preliminar

Este tutorial se basa en un servidor CentOS, por lo que debes configurar una instalación básica del servidor CentOS 7.2 antes de continuar con este tutorial. El sistema debe tener una dirección IP estática. Utilizo 192.168.1.100 como mi dirección IP en este tutorial y server1.example.com como el nombre de host.

2 Instalar y configurar ProFTPD

2.1 Instalación:

Necesitamos software del repositorio EPEL, habilítalo de la siguiente manera:

yum -y install epel-release

Luego importa la clave GPG de EPEL:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

y actualiza los paquetes:

yum -y update

Instalaremos ProFTPD y OpenSSL de la siguiente manera:

yum install -y proftpd openssl proftpd-utils

Necesitamos iniciar el servicio y habilitarlo para que se inicie automáticamente al arrancar.

systemctl start proftpd.service  
systemctl enable proftpd.service

Si tienes firewalld instalado, configura el Firewall con firewall-cmd para abrir el puerto FTP:

firewall-cmd --add-service=ftp --permanent  
firewall-cmd --reload

Podemos verificar la versión de ProFTPD de la siguiente manera:

proftpd -v

[root@server1 ~]# proftpd -v

ProFTPD Version 1.3.5b

[root@server1 ~]#

2.2 Creando Usuarios de ProFTPD

Crearé un grupo ftpgroup y un usuario tom para ProFTPD. Estableceré /ftpshare como directorio home para el usuario tom.

groupadd ftpgroup

A continuación, agregaré el usuario srijan al ftpgroup:

useradd  -G ftpgroup tom -s /sbin/nologin -d /ftpshare  
passwd tom
[root@server1 ~]# passwd tom  
Cambiando la contraseña para el usuario srijan.  
Nueva contraseña: <--ftppassword  
Vuelva a escribir la nueva contraseña: <--ftppassword  
passwd: todos los tokens de autenticación se actualizaron correctamente.  
[root@server1 ~]# 

Establecer los permisos para el directorio ftpshare:

chmod -R 1750 /ftpshare/

Ahora estamos listos para la conexión ProFTPD. Pero las conexiones aún no están encriptadas, resolveremos esto en el siguiente capítulo.

3 Habilitando TLS en ProFTPD

Para habilitar TLS en ProFTPD, abre /etc/proftpd/proftpd.conf. Antes de editar el archivo, es mejor hacer una copia de seguridad del archivo original y luego editar el archivo con nano.

cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak  
nano /etc/proftpd.conf  

Agrega y modifica las líneas como se muestra en rojo.

[...]  
DefaultRoot                     ~ !adm
PassivePorts    6000    6100  
[...]   
  
#
  TLSEngine                     on
  TLSRequired                   on
  TLSRSACertificateFile         /etc/pki/tls/certs/proftpd.pem
  TLSRSACertificateKeyFile      /etc/pki/tls/certs/proftpd.pem
  TLSCipherSuite                ALL:!ADH:!DES
  TLSOptions                    NoCertRequest
  TLSVerifyClient               off
  TLSRenegotiate                ctrl 3600 data 512000 required off timeout 300
  TLSLog                        /var/log/proftpd/tls.log
#  
#    TLSSessionCache            shm:/file=/var/run/proftpd/sesscache
#  
#  
[...] 

He agregado los puertos 6000 y 6100 para permitir el modo pasivo de ftp, de manera similar permitiré el modo pasivo a través del servicio firewalld de CentOS de la siguiente manera:

firewall-cmd --add-port=6000-6100/tcp --permanent  
firewall-cmd --reload

Podemos verificar el estado de los puertos de la siguiente manera:

firewall-cmd --list-ports
[root@server1 ~]# firewall-cmd --list-ports  
6000-6100/tcp  
[root@server1 ~]#

Además, necesitamos decirle a SELINUX que permita la lectura/escritura de los archivos.

setsebool -P allow_ftpd_full_access=1

Para usar TLS, debemos crear un certificado SSL. Lo crearé en /etc/pki/tls/certs, podemos generar el certificado SSL de la siguiente manera:

openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

[root@server1 certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

Generando una clave privada RSA de 1024 bits

……………………………..++++++

………++++++

escribiendo nueva clave privada en ‘/etc/pki/tls/certs/proftpd.pem’


Estás a punto de ser preguntado para ingresar información que se incorporará

en tu solicitud de certificado.

Lo que estás a punto de ingresar es lo que se llama un Nombre Distinguido o DN.

Hay bastantes campos, pero puedes dejar algunos en blanco

Para algunos campos habrá un valor predeterminado,

Si ingresas ‘.’, el campo quedará en blanco.


Nombre del País (código de 2 letras) [XX]:

<–DE

Nombre del Estado o Provincia (nombre completo) []:

<– Hamburgo

Nombre de la Localidad (por ejemplo, ciudad) [Ciudad Predeterminada]:

<– Luneberg

Nombre de la Organización (por ejemplo, empresa) [Compañía Predeterminada Ltd]:

<–Howtoforge

Nombre de la Unidad Organizativa (por ejemplo, sección) []:

<– Desarrollo

Nombre Común (por ejemplo, tu nombre o el nombre de host de tu servidor) []:

<–

server1.example.com

Dirección de Correo Electrónico []:

<– [email protected]

[root@server1 certs]#

Proporciona los valores anteriores en rojo según tu elección, solo he dado un ejemplo.

Ahora, por motivos de seguridad, haré que los certificados sean solo legibles de la siguiente manera:

chmod 0440 /etc/pki/tls/certs/proftpd.pem

Finalmente, reinicia el servicio ProFTPD de la siguiente manera:

systemctl restart proftpd.service

Podemos conectarnos al servidor ProFTPD con el software Filezilla, debes tener Filezilla instalado en la computadora cliente para conectarte al servidor. Abre Filezilla y proporciona los detalles de la siguiente manera:
Ingresa los detalles de la cuenta en FileZilla.

Los detalles serán:

Host = 192.168.1.100
Protocolo = FTP
Usuario = tom
Puerto = puede estar en blanco si no lo has personalizado a otro puerto que no sea el 21
Contraseña = ftppassword (creada anteriormente)

Nota: Dado que hemos encriptado nuestra conexión en el paso anterior, utilizaremos la Encriptación con Requerir FTP explícito sobre TLS

Si no has configurado TLS, puedes usar Usar FTP sin cifrado

Aceptar el certificado SSL

Te pedirá que confíes en el certificado, presiona OK

FileZilla Conectado a ProFTPd.

Se conectará al directorio compartido por FTP con conexión TLS.

4 Acceso FTP anónimo en ProFTPD

Podemos crear una cuenta FTP anónima en ProFTPD, solo agrega estas líneas en el archivo de configuración de ProFTPD:

nano /etc/proftpd.conf

Y agrega estas líneas al final del archivo.

[...]  
###Compartir anónima#####

  User ftp
  Group ftp

UserAlias anonymous ftp
DirFakeUser       on ftp 
DirFakeGroup on ftp
MaxClients 10

        
     
DenyAll   
 
    

Ahora necesitamos reiniciar el servicio FTP:

systemctl restart proftpd.service

Ahora conéctate a través de Filezilla a la cuenta anónima de la siguiente manera:

Inicio de sesión anónima

Nota: Dado que hemos encriptado nuestra conexión en el paso anterior, utilizaremos la Encriptación con Requerir FTP explícito sobre TLS

Si no has configurado TLS, puedes usar Usar FTP sin cifrado

Presiona Conectar.

Inicio de sesión FTP anónima exitosa.

Estamos conectados exitosamente al servidor con un usuario anónimo.

¡Felicidades! Ahora hemos configurado con éxito el entorno del servidor ProFTPD en CentOS 7.2 :)

5 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.