Configuración de un servidor FTP seguro usando SSL/TLS en Ubuntu

Configuración de un servidor FTP seguro usando SSL/TLS en Ubuntu

En este tutorial, describiremos cómo proteger un servidor FTP. ( VSFTPD. significa “ Demonio FTP muy seguro. ) usando SSL/TLS. en Ubuntu 16.04/16.10.

Si está buscando configurar un servidor FTP seguro para distribuciones basadas en CentOS, puede leer-Seguro un servidor FTP que utiliza SSL/TLS en CentOS

Después de seguir los distintos pasos de esta guía, habremos aprendido los fundamentos de la habilitación de servicios de cifrado en un servidor FTP para transferencias de datos seguras que es crucial.

Requisitos

  1. Debe instalar y configurar un servidor FTP en Ubuntu

Antes de continuar, asegúrese de que todos los comandos de este artículo se ejecutarán como cuenta privilegiada root o sudo .

Paso 1: Generación de certificado SSL/TLS para FTP en Ubuntu

1.. Comenzaremos creando un subdirectorio en: /etc/ssl/ para almacenar el certificado SSL/TLS. y los archivos de claves si no existe:

$ sudo mkdir/etc/ssl/private freestar.config.enabled_slots.push

2 .. Ahora generemos el certificado y la clave en un solo archivo, ejecutando el siguiente comando.

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

El comando anterior le pedirá que responda las preguntas a continuación, no olvide ingresar los valores que correspondan a su escenario.

País Nombre (código de 2 letras) [XX]: IN. Nombre del estado o provincia (nombre completo) []: Par inferior. Nombre de la localidad (p. Ej., Ciudad) [Ciudad predeterminada]: Mumbai. Nombre de la organización (p. ej., empresa) [Empresa predeterminada Ltd]: TecMint.com. Nombre de la unidad organizativa (p. ej., sección) []: Linux y código abierto. Nombre común (por ejemplo, su nombre o el nombre de host de su servidor) []: tecmint. Dirección de correo electrónico []: [email protected].

Paso 2: Configurar VSFTPD para usar SSL/TLS en Ubuntu

3.. Antes de realizar cualquier VSFTPD. para aquellos que tienen un firewall UFW habilitado, deben abrir los puertos 990. y 40000-50000. para permitir las conexiones TLS y el rango de puertos de puertos pasivos para establecido en el archivo de configuración de VSFTPD respectivamente:

$ sudo ufw allow 990/tcp $ sudo ufw allow 40000: 50000/tcp $ sudo ufw status

4.. Ahora, abra la configuración de VSFTPD y defina los detalles de SSL en él:

$ sudo vi/etc/vsftpd/vsftpd.conf O $ sudo nano/etc/vsftpd/vsftpd.conf

Luego, agregue o ubique la opción ssl_enable y establezca su valor a YES. para activar el uso de SSL, nuevamente, debido a que TLS es más seguro que SSL, restringiremos VSFTPD para usar TLS en su lugar, habilitando la opción ssl_tlsv1:

ssl_enable = YES ssl_tlsv1 = SÍ ssl_sslv2 = NO ssl_sslv3 = NO

5.. Nex t, comente las líneas de abajo usando el carácter # de la siguiente manera:

# rsa_cert_file =/etc/ssl/private/ssl-cert-snakeoil.pem # rsa_private_key_file =/etc/ssl/private/ssl-cert-snakeoil .key

Luego, agregue las líneas siguientes para definir la ubicación del certificado SSL y el archivo de clave:

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

6.. Ahora, también tenemos que evitar que los usuarios anónimos usen SSL, luego obligar a todos los inicios de sesión no anónimos a usar una conexión SSL segura para la transferencia de datos y enviar la contraseña durante el inicio de sesión:

allow_anon_ssl = NO force_local_data_ssl = YES force_local_logins_ssl = YES

7.. Además, podemos usar las siguientes opciones para agregar más funciones de seguridad en el servidor FTP. Con la opción require_ssl_reuse = YES, se requieren todas las conexiones de datos SSL para exhibir la reutilización de la sesión SSL; demostrando que conocen el mismo secreto maestro que el canal de control. Por lo tanto, deberíamos deshabilitarlo.

require_ssl_reuse = NO

Además, podemos establecer qué cifrados SSL permitirá VSFTPD para conexiones SSL cifradas con la opción ssl_ciphers. Esto ayudará a frustrar cualquier esfuerzo de los atacantes que intenten forzar un cifrado específico en el que posiblemente hayan descubierto vulnerabilidades:

ssl_ciphers = HIGH

8.. Luego, definamos el rango de puertos (mín. y puerto máximo) de puertos pasivos.

pasv_min_port = 40000 pasv_max_port = 50000

9.. Para habilitar la depuración SSL, lo que significa que los diagnósticos de conexión openSSL se registran en el archivo de registro VSFTPD, podemos usar la opción debug_ssl:

debug_ssl = YES

Finalmente guarde el archivo y ciérrelo. Luego reinicie el servicio VSFTPD:

$ systemctl restart vsftpd

Paso 3: Verifique las conexiones FTP con SSL/TLS en Ubuntu

10.. Después de realizar todas las configuraciones anteriores, pruebe si VSFTPD está ahora usando conexiones SSL/TLS al intentar usar FTP desde la línea de comando como se muestra a continuación.

En el resultado a continuación, hay un mensaje de error que nos dice que VSFTPD solo puede permitir que los usuarios (no anónimos) inicien sesión clientes seguros que admiten servicios de cifrado.

$ ftp 192.168.56.10. Conectado a 192.168.56.10 (192.168.56.10). 220 Bienvenido al servicio FTP de TecMint.com. Nombre (192.168.56.10:root): ravi 530 Las sesiones no anónimas deben usar cifrado. Error de inicio de sesion. 421 El servicio no está disponible, el servidor remoto ha cerrado la conexión ftp>

La línea de comandos no admite servicios de cifrado, lo que genera el error anterior. Por lo tanto, para conectarse de forma segura a un servidor FTP con los servicios de cifrado habilitados, necesitamos un cliente FTP que admita conexiones SSL/TLS de forma predeterminada, como FileZilla.

Paso 4: Instalar FileZilla On Clients para conectarse FTP de forma segura

FileZilla. es un cliente FTP multiplataforma potente y ampliamente utilizado que admite FTP sobre SSL/TLS y más. Para instalar FileZilla en una máquina cliente Linux, use el siguiente comando.

———En Debian/Ubuntu——— $ sudo apt-obtener la instalación de filezilla ———En CentOS/RHEL/Fedora——— # yum instalar epel-release filezilla ———En Fedora 22+——— $ sudo dnf install filezilla

12.. Una vez que se complete la instalación, ábralo y vaya a Archivo => Administrador de sitios. o (presione Ctrl + S. para obtener la interfaz del Administrador de sitios. a continuación.

 Filezilla Site Manager FilezillaAdministrador del sitio Administrador del sitio de Filezilla

13.. Ahora, defina el nombre del host/sitio, agregue la dirección IP, defina el protocolo a usar, cifrado y tipo de inicio de sesión como en la captura de pantalla a continuación (use valores que se apliquen a su escenario):

Haga clic en el botón Nuevo sitio. para configurar un nuevo sitio/conexión de host.

Host: 192.168.56.10. Protocolo: FTP-Protocolo de transferencia de archivos. Cifrado: Requiere FTP explícito sobre. # tipo de inicio de sesión recomendado: Preguntar para contraseña. # usuario recomendado: nombre de usuario.  Configurar nuevo sitio FTP en Filezilla  Configurar nuevo sitio FTP en Filezilla Configurar un nuevo sitio FTP en Filezilla

14.. Luego, haga clic en Conectar. desde la interfaz de arriba para ingresar la contraseña, y luego verifique que el certificado sea utilizado para la conexión SSL/TLS. y haga clic en Aceptar. una vez más para conectarse al servidor FTP:

 Verificar certificado FTP SSL Verificar certificado FTP SSL Verificar certificado FTP SSL

15 .. Ahora, debería haber iniciado sesión correctamente en el servidor FTP a través de una conexión TLS, consulte la sección de estado de la conexión para obtener más información de la interfaz a continuación.

 Conectado al servidor FTP de Ubuntu Conectado a Ubuntu Servidor FTP Conectado a Ubuntu FTP Ser ver

16.. Por último, transfieramos archivos desde la máquina local al servidor FTP en la carpeta de archivos, eche un vistazo al extremo inferior de la interfaz de FileZilla para ver informes sobre transferencias de archivos.

 Transferencia segura de archivos FTP usando Filezilla  Transferencia segura de archivos FTP usando Filezilla Transferencia segura de archivos FTP usando Filezilla

¡Eso es todo! Recuerde siempre que instalar un servidor FTP sin habilitar los servicios de cifrado tiene ciertas implicaciones de seguridad. Como explicamos en este tutorial, puede configurar un servidor FTP para usar conexiones SSL/TLS para implementar la seguridad en Ubuntu 16.04/16.10.

Si tiene algún problema al configurar SSL/TLS en el servidor FTP, utilice el formulario de comentarios a continuación para compartir sus problemas o pensamientos sobre este tutorial/tema.

Leave a comment

Your email address will not be published. Required fields are marked *