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.rpm

Primero instalaremos ProFTPD y OpenSSL de la siguiente manera:

yum install -y proftpd openssl proftpd-utils

Necesitamos iniciar los servicios

systemctl start proftpd.service  
systemctl enable proftpd.service

Adicionalmente en CentOS 7.0 necesitamos configurar Firewall-cmd para el servicio ftp de la siguiente manera:

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.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 ftpgroup

A 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 --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á 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.pem

Finalmente, reinicie el servicio ProFTPD de la siguiente manera:

systemctl restart proftpd.service

Podemos 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.conf

Y 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.service

Ahora 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

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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