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. Configurando PureFTPd
  4. Crear certificado SSL para TLS
  5. Configurar FileZilla para TLS
  6. Enlaces

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

1 nota preliminar

Debería tener una instalación de PureFTPd funcional 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), configure 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), configure 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 poder utilizar TLS, debemos crear un certificado SSL. Lo creo en /etc/ssl/private/, así que 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]: <- Ingrese el nombre del país (por ejemplo, ?RU?). Nombre de la región o 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]: <- Ingrese 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

: <- Introduzca el nombre de dominio completo del sistema (por ejemplo, ?servidor1.ejemplo.com?). Dirección de correo electrónico: <- Ingrese la unidad organizativa, 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:

puroFTPd

Y finalmente reiniciar

:

Eso es todo. Ahora puedes intentar conectarte usando un cliente FTP. Sin embargo, debe configurar su cliente FTP para usar TLS; consulte el siguiente capítulo para saber cómo hacer esto 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 utilice PureFTPd con TLS. En el menú desplegable Tipo de servidor, seleccione: requerir explícitamente FTP sobre TLS en lugar de FTP normal:
  • Ahora puede conectarse al servidor. Si es la primera vez que haces esto, debes aceptar el nuevo certificado SSL del servidor:
  • Si todo va bien, ya deberías haber iniciado sesión en el servidor:

6 referencias