Instalar PureFTP

instalar-pureftp

PureFTP puede instalarse con lo siguiente:

yum -y install pure-ftpd

Luego se deben agregar los enlaces para el arranque del sistema e iniciar PureFTP:

systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service

Ahora debemos configurarlo para que acepte sesiones FTP y TLS. FTP es un protocolo muy inseguro porque sus usuarios y contraseñas se transmiten en texto plano. Al usar TLS la comunicación completa es cifrada haciéndolo más seguro.

OpenSSL se requiere para que funcione TLS por lo que para instalarlo ejecutamos:

yum install openssl

Ahora debemos activar TLS en PureFTP, para ello editamos su configuración y lo colocamos en 1:

nano /etc/pure-ftpd/pure-ftpd.conf

y nos aseguramos que TSL este en 1 de la siguiente forma:

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      1
[...]

Para poder usar TLS debemos crear un certificado SSL con lo cual primero creamos el directorio:

mkdir /etc/ssl/private/

Ahora podemos crear el certificado SSL ejecutando:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Esto preguntará algunos parámetros a los cuales debemos responder lo siguiente:

 Country Name (2 letter code) [XX]: SIGLAS DEL PAIS
 State or Province Name (full name) []: NOMBRE DEL ESTADO
 Locality Name (eg, city) [Default City]: NOMBRE DE LA CIUDAD
 Organization Name (eg, company) [Default Company Ltd]: NOMBRE DE LA EMPRESA
 Organizational Unit Name (eg, section) []: NOMBRE DEL DEPARTAMENTO
 Common Name (eg, your name or your servers hostname) []: desarrollo1
 Email Address []: EMAIL DEL RESPONSABLE DEL SERVIDOR

Ahora debemos cambiar los permisos al certificado con:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Y finalmente debemos reiniciar el PureFTP:

systemctl restart pure-ftpd.service

Eso es todo. Ahora puede intentar conectarse usando su cliente FTP; Sin embargo, debe configurar su cliente de FTP para que utilice TLS.