Cómo configurar PureFTPd usando una sesión TLS en CentOS 7

En esta página

  1. Observación preliminar
  2. Instalación de OpenSSL
  3. Configuración de PureFTPd
  4. Crear certificado SSL para TLS
  5. Configuración de FileZilla para TLS
  6. Enlaces

Este artículo describe cómo configurar PureFTPd usando una sesión TLS en un servidor CentOS 7. Simple FTP es un protocolo inseguro, ya que todas las contraseñas y todos los datos se transfieren sin cifrar. Con TLS, todas las comunicaciones se pueden cifrar, lo que hace que el FTP sea mucho más seguro.

1 nota preliminar

Debería tener una instalación de PureFTPd en funcionamiento en su servidor CentOS 7.

2 Instalación de OpenSSL

Se requiere OpenSSL para TLS, para instalar OpenSSL, simplemente ejecutamos:

yum install openssl

3 Configuración de PureFTPd

Abra /etc/pure-ftpd/pure-ftpd.conf... (Consulte la guía sobre cómo instalar nano en Linux)

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

Si desea permitir FTPySesiones TLS, establezca TLS en 1:

[...]
# 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
[...]

Si desea aceptar solo sesiones TLS (no FTP), establezca TLS en 2:

[...]
# 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                      2
[...]

Para no permitir TLS en absoluto (solo FTP), establezca TLS en 0:

[...]
# 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                      0
[...]

Luego elimine el # delante de la siguiente segunda línea:

TLSCipherSuite           HIGH
CertFile                 /etc/ssl/private/pure-ftpd.pem

y guarde el archivo de configuración modificado.

4 Crear certificado SSL para TLS

Para usar TLS, debemos crear un certificado SSL. Lo creo en /etc/ssl/private/, entonces primero creo el directorio usando el comandomkdir:

mkdir -p /etc/ssl/private/

Después de eso, podemos generar un certificado SSL de la siguiente manera:

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

Nombre del país (código de 2 letras) [XX]: <- Introduzca el nombre del país (p. ej., “RU”). Región o nombre del estado (nombre completo)

:. <- Ingrese el estado o área Nombre del área (por ejemplo, ciudad) [Ciudad predeterminada]: <- Ingrese la ciudad. Nombre de la organización (por ejemplo, empresa) [ по умолчанию Company Ltd]: <- Introduzca el nombre de la organización (por ejemplo, el nombre de su empresa). Nombre de la unidad organizativa (por ejemplo, sección)

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

: <- Ingrese el nombre de dominio completo del sistema (por ejemplo, "servidor1.ejemplo.com"). Dirección de correo electrónico: <- Introduzca la unidad organizativa, el nombre (por ejemplo, "Departamento de TI"). Nombre común (como su nombre o el nombre de host de su servidor): <- Introduzca su dirección de correo electrónico.

systemctl restart pure-ftpd.service

Cambiar los permisos del certificado SSL:

PureFTPd

Y finalmente reiniciar

:

Eso es todo. Ahora puede intentar conectarse usando un cliente FTP. Sin embargo, debe configurar su cliente FTP para usar TLS; consulte el siguiente capítulo para saber cómo hacerlo con FileZilla.

Server details in FileZilla

5 Configuración de FileZilla para TLS

SSL certificate warning in FileZilla

Para usar FTP con TLS, necesita un cliente FTP (consulte la guía sobre los 6 mejores clientes FTP) que admita TLS, como FileZilla o el complemento FireFTP en Firefox.

FileZilla login successful

  • Seleccione un servidor que use PureFTPd con TLS. En el menú desplegable Tipo de servidor, seleccione: solicitar explícitamente FTP sobre TLS en lugar de FTP normal:
  • Ahora puede conectarse al servidor. Si es la primera vez que hace esto, debe aceptar el nuevo certificado SSL del servidor:
  • Si todo va bien, ahora debería iniciar sesión en el servidor:

6 Referencias