Búsqueda de sitios web

Configurar la transferencia segura de archivos FTP usando SSL/TLS en RHEL 8


En nuestro último artículo, describimos en detalle cómo instalar y configurar un servidor FTP en RHEL 8 Linux. En este artículo, explicaremos cómo proteger un servidor FTP usando SSL/TLS para habilitar servicios de cifrado de datos para la transferencia segura de archivos entre sistemas.

Esperamos que ya tengas un servidor FTP instalado y funcionando correctamente. De lo contrario, utilice la siguiente guía para instalarlo en su sistema.

  1. Cómo instalar, configurar y proteger el servidor FTP en RHEL 8

Paso 1. Generar certificado SSL/TLS y clave privada

1. Cree el siguiente directorio para almacenar el certificado SSL/TLS y los archivos de clave.

mkdir -p /etc/ssl/vsftpd

2. A continuación, genere un certificado SSL/TLS autofirmado y una clave privada mediante el siguiente comando.

openssl req -x509 -nodes -keyout /etc/ssl/vsftpd/vsftpd.pem -out /etc/ssl/vsftpd/vsftpd.pem -days 365 -newkey rsa:2048

A continuación se muestra la explicación de cada indicador utilizado en el comando anterior.

  1. req: es un comando para la gestión de la solicitud de firma de certificado (CSR) X.509.
  2. x509: significa gestión de datos del certificado X.509.
  3. días: define el número de días durante los cuales el certificado es válido.
  4. newkey: especifica el procesador de claves de certificado.
  5. rsa:2048: procesador de claves RSA, generará una clave privada de 2048 bits.
  6. keyout: establece el archivo de almacenamiento de claves.
  7. out: establece el archivo de almacenamiento del certificado; tenga en cuenta que tanto el certificado como la clave se almacenan en el mismo archivo: /etc/ssl/vsftpd/vsftpd.pem.

El comando anterior le pedirá que responda las preguntas siguientes; recuerde utilizar los valores que se apliquen a su escenario.

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

Paso 2. Configurar VSFTPD para usar SSL/TLS

3. Abra el archivo de configuración VSFTPD para editarlo usando su editor de línea de comandos favorito.

vi /etc/vsftpd/vsftpd.conf

Agregue los siguientes parámetros de configuración para habilitar SSL, luego seleccione la versión de SSL y TLS que desea usar al final del archivo.

ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO

4. A continuación, agregue las opciones rsa_cert_file y rsa_private_key_file para especificar la ubicación del certificado SSL y el archivo de clave respectivamente.

rsa_cert_file=/etc/ssl/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/ssl/vsftpd/vsftpd.pem

5. Ahora agregue estos parámetros para desactivar el uso de SSL en conexiones anónimas y forzar todas las conexiones no anónimas a través de SSL.

allow_anon_ssl=NO			# disable anonymous users from using SSL
force_local_data_ssl=YES		# force all non-anonymous logins to use a secure SSL connection for data transfer
force_local_logins_ssl=YES		# force all non-anonymous logins  to send the password over SSL

6. A continuación, agregue estas opciones para deshabilitar toda reutilización de conexiones de datos SSL y configure los cifrados SSL ALTO para permitir conexiones SSL cifradas.

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. También debe especificar el rango de puertos (puerto mínimo y máximo) de los puertos pasivos que utilizará vsftpd para conexiones seguras, utilizando pasv_min_port y pasv_max_port. parámetros respectivamente. Además, opcionalmente puede habilitar la depuración SSL para solucionar problemas utilizando la opción debug_ssl.

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. Finalmente, guarde el archivo y reinicie el servicio vsftpd para que los cambios anteriores surtan efecto.

systemctl restart vsftpd

9. Una tarea más crítica que debe realizar antes de poder acceder de forma segura al servidor FTP es abrir los puertos 990 y 40000-50000 en el sistema. cortafuegos. Esto permitirá conexiones TLS al servicio vsftpd y abrirá el rango de puertos pasivos definidos en el archivo de configuración VSFTPD respectivamente, de la siguiente manera.

firewall-cmd --zone=public --permanent –add-port=990/tcp
firewall-cmd --zone=public --permanent –add-port=40000-50000/tcp
firewall-cmd --reload

Paso 3: instale FileZilla para conectarse de forma segura al servidor FTP

10. Para conectarse de forma segura al servidor FTP, necesita un cliente FTP que admita conexiones SSL/TLS como FileZilla; es un código abierto. , cliente FTP, SFTP y FTPS multiplataforma, ampliamente utilizado, que admite conexiones SSL/TLS de forma predeterminada.

Instale FileZilla en Linux usando su administrador de paquetes predeterminado de la siguiente manera:

sudo apt-get install filezilla   		#Debian/Ubuntu
yum install epel-release filezilla		#On CentOS/RHEL
dnf install filezilla			        #Fedora 22+
sudo zypper install filezilla			#openSUSE

11. Después de instalar el paquete Filezilla, búsquelo en el menú del sistema y ábralo. Para conectarse rápidamente al servidor FTP remoto, desde la interfaz principal, proporcione la dirección IP del host, el nombre de usuario y la contraseña del usuario. Luego haga clic en Conexión rápida.

12. Luego, la aplicación le pedirá que permita una conexión segura utilizando el certificado autofirmado desconocido. Haga clic en Aceptar para continuar.

Si la configuración en el servidor está bien, la conexión debería ser exitosa como se muestra en la siguiente captura de pantalla.

13. Finalmente, pruebe el estado de la conexión segura FTP intentando cargar archivos desde su máquina al servidor como se muestra en la siguiente captura de pantalla.

¡Eso es todo! En este artículo, mostramos cómo proteger un servidor FTP usando SSL/TLS para la transferencia segura de archivos en RHEL 8. Esta es la segunda parte de nuestra guía completa para instalar, configurar y proteger un servidor FTP en RHEL 8. Para compartir cualquier consulta o idea, utilice el formulario de comentarios a continuación.