Breve descripción

El FTP generalmente no es seguro, ya que revela contraseñas, nombres de usuario y archivos de texto sin cifrar a los piratas informáticos. El demonio FTP muy seguro (VSFTPD) se utiliza para asegurar estas transferencias con SSL-TLS al servidor FTP de Centos 7.

Este breve tutorial es muy importante para los administradores de sistemas avanzados y los usuarios que normalmente transfieren datos altamente confidenciales (documentos, imágenes, etc.) desde PC con Windows con FileZilla a los servidores FTP de su empresa u organización.

Nota especial: visite la página de los mejores servicios de alojamiento de Linux de Hosting mas Baratopara encontrar los mejores servidores web en esta categoría, incluidas las calificaciones de expertos y usuarios.

instalación

Instale los paquetes vsftpd y openssl en el servidor Linux Centos 7

$ sudo yum install vsftpd openssl mod_ss

Cambie al usuario root e ingrese la contraseña de root

Los datos FTP suelen ser inseguros porque la información (nombres de usuario, contraseñas, comandos, datos) se transmite sin cifrar en texto sin cifrar. Por tanto, es muy IMPORTANTE cifrar la conexión FTP con SSL / TLS.

Genere un certificado autofirmado para proteger las conexiones del servidor FTP.

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

construcción

Edita el archivo de configuración /etc/vsftpd/vsftpd.conf

$ sudo vim /etc/vsftpd/vsftpd.conf

Asegúrese de las configuraciones como se muestra a continuación:

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).

anonymous_enable=NO

#Path to share and send files from

local_root=/srv/ftp

#Enable SSL

ssl_enable=YES

#DO NOT allow anonymous users to use SSL

allow_anon_ssl=NO

#Force local users to use SSL

force_local_data_ssl=YES

force_local_logins_ssl=YES

#Enable latest SSL and TLS version 1 and disable old versions

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=NO

#Path to certificate file

rsa_cert_file=/etc/vsftpd/vsftpd.pem

rsa_private_key_file=/etc/vsftpd/vsftpd.key

# Uncomment this to allow local users to log in.

# When SELinux is enforcing check for SE bool ftp_home_dir

local_enable=YES

#

# Uncomment this to enable any form of FTP write command.

write_enable=YES

Configurar el cortafuegos

Habilitar conexiones vsftpd a través de firewall cmd

$ sudo firewall-cmd --permanent --add-service=ftp

O

$ sudo firewall-cmd --permanent --add-port=21/ftp
$ sudo firewall-cmd –reload

Nota especial: Vsftpd también usa el puerto SSH, es decir, 22, así que asegúrese de que el cmd del firewall permita conexiones SSH

Agregar usuario de FTP

Cree el directorio raíz de FTP

$ sudo mkdir –p /srv/ftp

Cambie al usuario root e ingrese la contraseña de root

$ su –

Cree un usuario como root al que se le permita iniciar sesión en el directorio FTP

# useradd –d /srv/ftp/ ftpuser

-d Establece / srv / ftp como directorio de inicio para ftpuser

Establecer la contraseña para ftpuser

# passwd ftpuser

Hacer que el directorio raíz de FTP sea propiedad de ftpuser

# chown –R ftpuser /srv/ftp

Cambiar desde el usuario root

# su - linuxuser

Inicie el servicio VSFTPD

$ sudo systemctl start vsftpd

Confirme que el servicio VSFTPD se está ejecutando

$ sudo systemctl status

Realice la prueba de inicio de sesión de FTP

Inicie sesión desde una computadora cliente de Windows con FileZilla

Si intenta iniciar sesión sin SSL de forma predeterminada, el inicio de sesión fallará y producirá un error como se muestra a continuación:

Ahora intente acceder a través de SSL como se muestra a continuación:

Vaya a Archivo> Administrador del sitio

Haga clic en “Nuevo sitio” y asígnele el nombre “FTP muy seguro”.

En la pestaña General:

Host: ingrese la dirección IP pública o el nombre de dominio o nombre de host

Protocolo: seleccione “SFTP – Protocolo de transferencia de archivos Secure Shell”

Tipo de inicio de sesión: seleccione “Solicitar contraseña”

Introduzca el nombre de usuario y la contraseña del usuario de FTP.

Finalmente haga clic en “Conectar”

Ingrese la contraseña cuando se le solicite:

Tenga en cuenta la conexión exitosa.

Nota especial: tenga en cuenta que esto SOLO funciona si se realiza una de las siguientes acciones:

  1. La autenticación de contraseña está habilitada en / etc / ssh / sshd_config /.

  2. Si la autenticación de contraseña está deshabilitada y solo la autenticación de clave privada SSH está habilitada, debe configurar la autenticación de clave SSH privada de Filezilla con el servidor Linux. ilezilla-Editar-Ir a Editar> Preferencias

Elija SFTP> Agregar archivo de clave.

Luego, seleccione la clave privada que utilizó para autenticarse con la clave pública en el servidor Linux.

Consulte los 3 principales servicios de alojamiento de Linux