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

Cómo instalar vsftpd en RHEL 8 / CentOS 8

Este tutorial brinda a los lectores instrucciones sobre cómo instalar y configurar un servidor ftp VSFTPD en un servidor RHEL 8 / CentOS 8. Esta guía comenzará primero con una configuración básica predeterminada además de la cual agregaremos la configuración segura de TLS, el acceso anónimo y la configuración del modo pasivo.

En este tutorial aprenderás:

  • Cómo instalar el servidor ftp VSFTPD.
  • Cómo abrir un cortafuegos para conexiones FTP entrantes.
  • Cómo proteger la conexión FTP con TLS.
  • Cómo permitir conexiones anónimas.

Conexión ftp VSFTPD en RHEL 8 / CentOS 8 Server/Workstation.

Requisitos de software y convenciones utilizadas

Instrucciones paso a paso para la configuración básica de VSFTPD

En esta sección simplemente instalaremos el servidor ftp VSFTPD, abriremos los puertos del firewall y probaremos las conexiones.

  1. Instale el paquete VSFTPD. vsftpd El paquete se puede instalar usando el administrador de paquetes dnf:
    # dnf install vsftpd
    
  2. Haga una copia y revise el archivo de configuración predeterminado de VSFTPD. Primero haga una copia del archivo de configuración original:
    # mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_orig
    

    Comencemos con un archivo de configuración limpio:

    # grep -v ^# /etc/vsftpd/vsftpd.conf_orig > /etc/vsftpd/vsftpd.conf
    

    Tu nuevo /etc/vsftpd/vsftpd.conf la configuración debe ser similar a la siguiente:

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    listen=NO
    listen_ipv6=YES
    
    pam_service_name=vsftpd
    userlist_enable=YES
    
  3. Inicie el demonio VSFTPD y configúrelo para que se inicie después de reiniciar:
    # systemctl start vsftpd
    # systemctl enable vsftpd
    
  4. Abra las conexiones entrantes del puerto FTP 21 del firewall:
    # firewall-cmd --zone=public --permanent --add-service=ftp
    # firewall-cmd --reload
    
  5. Pruebe la conexión FTP desde el host remoto utilizando ftp dominio. Utilice sus credenciales de usuario habituales para iniciar sesión. Por ejemplo, cree una conexión FTP para alojar rhel8-ftp.linuxconfig.org :
    # ftp rhel8-ftp.linuxconfig.org
    Connected to rhel8-ftp.linuxconfig.org.
    220 (vsFTPd 3.0.3)
    Name (rhel8-ftp.linuxconfig.org:lubos): linuxconfig
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> 
    
  6. Esto concluye la configuración y las pruebas básicas de VSFTPD. En la siguiente sección agregaremos una capa de seguridad configurando nuestro servidor ftp VSFTPD usando TLS.

Instrucciones paso a paso para asegurar VSFTPD con conexión TLS

En esta sección simplemente instalaremos el servidor ftp VSFTPD, abriremos los puertos del firewall y probaremos las conexiones.

  1. Instala OpenSSL. Es posible que este paquete ya esté disponible en su sistema RHEL8. Para instalar OpenSSL ejecute:
    # dnf install openssl
    
  2. Genera un certificado autofirmado o usa tu certificado existente. En este ejemplo generaremos la clave privada vsftpd.key y el certificado firmado vsftpd.crt . Se le pedirá que responda algunas preguntas. Siéntase libre de dejar la mayoría de ellos como predeterminados excepto Common Name :
    # openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/vsftpd.key -x509 -days 365 -out /etc/pki/tls/certs/vsftpd.crt
    Generating a RSA private key
    ..................+++++
    ....+++++
    writing new private key to '/etc/pki/tls/private/vsftpd.key'
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [XX]:
    State or Province Name (full name) []:
    Locality Name (eg, city) [Default City]:
    Organization Name (eg, company) [Default Company Ltd]:
    Organizational Unit Name (eg, section) []:
    Common Name (eg, your name or your server's hostname) []:rhel8-ftp.linuxconfig.org
    Email Address []:
    #
    
  3. Configure VSFTPD para la conexión cifrada TLS. Abra su VSFTPD existente /etc/vsftpd/vsftpd.conf configuración y agregue la siguiente configuración además de las líneas existentes:
    rsa_cert_file=/etc/pki/tls/certs/vsftpd.crt
    rsa_private_key_file=/etc/pki/tls/private/vsftpd.key
    ssl_enable=YES
    allow_anon_ssl=NO
    force_local_data_ssl=YES
    force_local_logins_ssl=YES
    ssl_tlsv1=YES
    ssl_sslv2=NO
    ssl_sslv3=NO
    require_ssl_reuse=NO
    ssl_ciphers=HIGH
    
  4. Reiniciar VSFTPD:
    # systemctl restart vsftpd
    
  5. Pruebe la conexión ftp TLS VSFTPD.
    NOTA
    Tenga en cuenta que, a menos que haya abierto los puertos apropiados en el firewall de su servidor RHEL 8, no podrá realizar una conexión ftp pasiva desde un host remoto en este momento.

    Utilice un cliente FTP que admita conexiones TLS como, por ejemplo, FileZilla:

    Establecimiento de conexión TLS al servidor VSFTPD ftp RHEL 8.

    Conectado al servidor VSFTPS RHEL 8 con conexión TLS segura.

Todo parece estar en orden. En la siguiente sección agregaremos una función de conexión pasiva a nuestro servidor ftp VSFTPD.

Instrucciones paso a paso para agregar el modo pasivo a VSFTPD

  1. Abra su VSFTPD existente /etc/vsftpd/vsftpd.conf configuración y agregue la siguiente configuración además de las líneas existentes:

    pasv_enable=YES
    pasv_min_port=10000
    pasv_max_port=10100
    
  2. Reiniciar VSFTPD:
    # systemctl restart vsftpd
    
  3. Abra el intervalo de puertos del cortafuegos para admitir puertos pasivos:
    # firewall-cmd --permanent --zone=public --add-port=10000-10100/tcp 
    # firewall-cmd --reload
    

Permitir acceso anónimo a VSFTPD instrucciones paso a paso

  1. Abra su VSFTPD existente /etc/vsftpd/vsftpd.conf configuración y cambie el anonymous_enable y allow_anon_ssl líneas a YES :

    anonymous_enable=YES
    allow_anon_ssl=YES
    
  2. Reiniciar VSFTPD:
    # systemctl restart vsftpd
    

Apéndice

Para su comodidad, el /etc/vsftpd/vsftpd.conf final el archivo de configuración se muestra a continuación:

anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES

rsa_cert_file=/etc/pki/tls/certs/vsftpd.crt
rsa_private_key_file=/etc/pki/tls/private/vsftpd.key
ssl_enable=YES
allow_anon_ssl=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10100

Cent OS
  1. Cómo instalar phpMyAdmin en RHEL 8 / CentOS 8

  2. Cómo instalar P7Zip en RHEL 8 / CentOS 8

  3. CentOS / RHEL 7:Cómo instalar y configurar el servidor ftp (vsftpd)

  4. Cómo habilitar FTP en CentOS/RHEL 5 y 6

  5. CentOS / RHEL 4:Cómo instalar y configurar el servidor FTP (vsftpd)

Cómo instalar maven en RHEL 8 / CentOS 8

Cómo instalar cpan en RHEL 8 / CentOS 8

Cómo instalar ruby ​​en RHEL 8 / CentOS 8

Cómo instalar Docker CE en RHEL 8 / CentOS 8

Cómo instalar vsftpd (servidor ftp) en CentOS 8 / RHEL 8

Cómo instalar VSFTPD en CentOS 7

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema RHEL 8 / CentOS 8
    Software vsftpd:versión 3.0.3
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios