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-releaseLuego importa la clave GPG de EPEL:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7y actualiza los paquetes:
yum -y updateInstalaremos ProFTPD y OpenSSL de la siguiente manera:
yum install -y proftpd openssl proftpd-utilsNecesitamos iniciar el servicio y habilitarlo para que se inicie automáticamente al arrancar.
systemctl start proftpd.service
systemctl enable proftpd.serviceSi tienes firewalld instalado, configura el Firewall con firewall-cmd para abrir el puerto FTP:
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reloadPodemos 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 ftpgroupA 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 --reloadPodemos 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=1Para 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.pemFinalmente, reinicia el servicio ProFTPD de la siguiente manera:
systemctl restart proftpd.servicePodemos 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:
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
Te pedirá que confíes en el certificado, presiona OK
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.confY 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.serviceAhora conéctate a través de Filezilla a la cuenta anónima de la siguiente manera:

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.

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
- CentOS : http://www.centos.org/
- ProFTPD : http://www.proftpd.org/
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.