Instalación ProFTPD · 5 min read · Dec 17, 2025
Cómo instalar ProFTPD en CentOS 7.0
Este documento describe cómo instalar y configurar ProFTPD en el servidor CentOS 7.0. ProFTPD es un demonio FTP para sistemas operativos unix y similares a unix. ProFTPD se desarrolla, publica y distribuye bajo la Licencia Pública General de GNU (GPL), que básicamente lo establece como software libre, lo que significa que puede ser vendido, licenciado y manipulado de cualquier manera deseada siempre que el código fuente completo y completo acompañe a cualquier paquete de ProFTPD o esté disponible en todos los sitios que distribuyen binarios precompilados. El software puede ser modificado por cualquier persona en cualquier momento, siempre que todas las obras derivadas también estén licenciadas bajo la Licencia Pública General de GNU.
1 Nota Preliminar
Este tutorial se basa en el servidor CentOS 7.0, por lo que debe configurar una instalación básica del servidor CentOS 7.0 antes de continuar con este tutorial. El sistema debe tener una dirección IP estática. Uso 192.168.0.100 como mi dirección IP en este tutorial y server1.example.com como el nombre de host.
2 Instalar ProFTPD
2.1 Instalación:
Para esto habilite EPEL de la siguiente manera:
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpmPrimero instalaremos ProFTPD y OpenSSL de la siguiente manera:
yum install -y proftpd openssl proftpd-utilsNecesitamos iniciar los servicios
systemctl start proftpd.service
systemctl enable proftpd.serviceAdicionalmente en CentOS 7.0 necesitamos configurar Firewall-cmd para el servicio ftp de la siguiente manera:
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.5
[root@server1 ~]#
2.2 Creando Usuarios de ProFTPD
Para esto crearé un grupo ftpgroup y un usuario srijan para ProFTPD. Restringiré al usuario srijan con el directorio home como /ftpshare
groupadd ftpgroupA continuación, agregaré el usuario srijan al ftpgroup:
useradd -G ftpgroup srijan -s /sbin/nologin -d /ftpshare
passwd srijan[root@server1 ~]# passwd srijan
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 ~]# A continuación, necesitamos proteger el directorio de la eliminación y el cambio de nombre de su contenido por cualquier usuario, por lo que cambiaremos los permisos del directorio de la siguiente manera:
chmod -R 1777 /ftpshare/Ahora estamos listos para la conexión ProFTPD
Ahora podemos iniciar sesión con el usuario srijan y la contraseña en ftp://192.168.0.100
3 Habilitando TLS en ProFTPD
Para habilitar TLS en ProFTPD, abra /etc/proftpd/proftpd.conf antes de editar el archivo, es mejor hacer una copia de seguridad del archivo original y luego editar el archivo como se muestra a continuación:
cp /etc/proftpd.conf /etc/proftpd.conf.bak
nano /etc/proftpd.conf
Dé las entradas como se muestra
[...]
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á a punto de ser preguntado para ingresar información que se incorporará
en su solicitud de certificado.
Lo que está a punto de ingresar se llama Nombre Distinguido o DN.
Hay bastantes campos, pero puede dejar algunos en blanco
Para algunos campos habrá un valor predeterminado,
Si ingresa ‘.’, 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]:
<– ISPConfig
Nombre de la Unidad Organizativa (por ejemplo, sección) []:
<– Desarrollo
Nombre Común (por ejemplo, su nombre o el nombre de host de su servidor) []:
<–
server1.example.com
Dirección de Correo Electrónico []:
<– [email protected]
[root@server1 certs]#
Dé los valores anteriores en rojo según su 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, reinicie el servicio ProFTPD de la siguiente manera:
systemctl restart proftpd.servicePodemos conectarnos al servidor ProFTPD con el software Filezilla, debe tener Filezilla instalado en el cliente para conectarse al servidor. Abra Filezilla y dé los detalles de la siguiente manera:
Los detalles serán
Host = 192.168.0.100
Protocolo = FTP
Usuario = srijan
Puerto = puede estar en blanco si no lo ha personalizado a otro puerto que no sea el 21
Contraseña = ftppassword (justo creada arriba)
Nota: Dado que hemos cifrado nuestra conexión en el paso anterior, utilizaremos la Encriptación con Requerir FTP explícito sobre TLS
Si no ha configurado TLS, puede usar Usar FTP sin cifrado
Se le pedirá que confíe en los certificados, presione OK
Se conectará al directorio compartido FTP con conexión TLS.
4 Acceso ftp anónimo en ProFTPD
Podemos crear una cuenta ftp anónima en ProFTPD, solo agregue estas entradas en el archivo de configuración de ProFTPD:
nano /etc/proftpd.confY agregue estas entradas 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 los servicios:
systemctl restart proftpd.serviceAhora conéctese a través de Filezilla de la siguiente manera:

Nota: Dado que hemos cifrado nuestra conexión en el paso anterior, utilizaremos la Encriptación con Requerir FTP explícito sobre TLS
Si no ha configurado TLS, puede usar Usar FTP sin cifrado
Presione Conectar: 
Se le pedirá que confíe en los certificados, presione OK

Hemos conectado exitosamente al servidor con el usuario anónimo.
¡Felicidades! Ahora hemos configurado exitosamente el entorno del servidor ProFTPD en CentOS 7.0 :)
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.