GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar PureFTPd y FileZilla para usar sesiones TLS en CentOS 7.2

Este artículo explica cómo configurar PureFTPd para aceptar sesiones TLS en un servidor CentOS 7.2. Plain FTP es un protocolo inseguro porque todas las contraseñas y los datos se transfieren en texto claro. Mediante el uso de TLS, toda la comunicación se puede cifrar, lo que hace que el FTP sea mucho más seguro.

1 nota preliminar

Debería tener una configuración de PureFTPd en funcionamiento en su servidor CentOS 7.2, p. como se muestra en este tutorial:servidor FTP con PureFTPd, MariaDB y usuarios virtuales (incluida la gestión de cuotas y ancho de banda) en CentOS 7.2

2 Instalación de OpenSSL

TLS necesita OpenSSL; para instalar OpenSSL, simplemente ejecutamos:

yum -y install openssl

3 Configuración de PureFTPd

Abra /etc/pure-ftpd/pure-ftpd.conf...

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

Si desea permitir FTP y Sesiones 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 (sin 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 las siguientes 2 líneas:

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

y guarde el archivo de configuración modificado.

4 Creando el Certificado SSL para TLS

Para usar TLS, debemos crear un certificado SSL. Lo creo en /etc/ssl/private/, por lo tanto, primero creo ese directorio:

mkdir -p /etc/ssl/private/

Posteriormente, podemos generar el 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 de su país (por ejemplo, "DE").
Nombre del estado o provincia (nombre completo) []:<-- Ingrese el nombre de su estado o provincia .
Nombre de la localidad (p. ej., ciudad) [Ciudad predeterminada]:<-- Ingrese su ciudad.
Nombre de la organización (p. ej., empresa) [Empresa predeterminada Ltd]:<-- Ingrese el nombre de su organización (p. ej., , el nombre de su empresa).
Nombre de la unidad organizativa (p. ej., sección) []:<-- Ingrese el nombre de su unidad organizativa (p. ej., "Departamento de TI").
Nombre común (p. ej., su nombre o el nombre de host de su servidor) []:<-- Ingrese el nombre de dominio completo del sistema (por ejemplo, "server1.example.com").
Dirección de correo electrónico []:<-- Ingrese su dirección de correo electrónico.

Cambiar los permisos del certificado SSL:

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

Finalmente, reinicie PureFTPd:

systemctl restart pure-ftpd.service

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

5 Configuración de FileZilla para TLS

Para usar FTP con TLS, necesita un cliente FTP que admita TLS, como FileZilla o el complemento Firefox FireFTP.

En FileZilla, abra el Administrador del sitio:

Seleccione el servidor que usa PureFTPd con TLS; en el menú desplegable Tipo de servidor, seleccione Requerir FTP explícito sobre TLS en lugar de FTP normal:

Ahora puede conectarse al servidor. Si hace esto por primera vez, debe aceptar el nuevo certificado SSL del servidor, ya que estamos usando un certificado SSL autofirmado aquí:

Si todo va bien, ahora debería iniciar sesión en el servidor:

6 Enlaces

  • FTP puro:http://www.pureftpd.org/
  • FileZilla:http://filezilla-project.org/
  • CentOS:http://www.centos.org/

Cent OS
  1. Cómo instalar y configurar Nginx en CentOS 7

  2. Cómo configurar PureFTPd para aceptar sesiones TLS en CentOS 6.2

  3. Cómo configurar PureFTPd para aceptar sesiones TLS en Fedora 14

  4. Cómo configurar PureFTPd para aceptar sesiones TLS en Fedora 18

  5. Cómo configurar vsftpd para usar SSL/TLS (FTPS) en CentOS/Ubuntu

Cómo instalar y configurar Zabbix en CentOS 7

Cómo configurar PureFTPd para usar sesiones TLS en CentOS 7

Cómo instalar y configurar GitLab CE en CentOS 8

Cómo instalar y configurar Nagios 4.0.7 en CentOS 7

Cómo instalar y configurar ISPConfig CP en CentOS 7

Cómo instalar y configurar ownCloud en CentOS 7