GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare vsftpd su RHEL 8 / CentOS 8

Questo tutorial fornisce ai lettori le istruzioni su come installare e configurare un server ftp VSFTPD su un server RHEL 8 / CentOS 8. Questa guida inizierà innanzitutto con una configurazione predefinita di base alla quale aggiungeremo la configurazione TLS sicura, l'accesso anonimo e la configurazione in modalità passiva.

In questo tutorial imparerai:

  • Come installare il server ftp VSFTPD.
  • Come aprire il firewall per le connessioni FTP in entrata.
  • Come proteggere la connessione FTP con TLS.
  • Come consentire connessioni anonime.

Connessione FTP VSFTPD su server/workstation RHEL 8 / CentOS 8.

Requisiti e convenzioni software utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema RHEL 8 / CentOS 8
Software vsftpd:versione 3.0.3
Altro Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Istruzioni passo passo per la configurazione di base di VSFTPD

In questa sezione installeremo semplicemente il server ftp VSFTPD, apriremo le porte del firewall e testeremo le connessioni.

  1. Installa il pacchetto VSFTPD. vsftpd il pacchetto può essere installato utilizzando il gestore di pacchetti dnf:
    # dnf install vsftpd
    
  2. Fai una copia e rivedi il file di configurazione VSFTPD predefinito. Per prima cosa fai una copia del file di configurazione originale:
    # mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_orig
    

    Iniziamo con un file di configurazione pulito:

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

    Il tuo nuovo /etc/vsftpd/vsftpd.conf la configurazione dovrebbe essere simile a quella seguente:

    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. Avvia il demone VSFTPD e impostalo per l'avvio dopo il riavvio:
    # systemctl start vsftpd
    # systemctl enable vsftpd
    
  4. Apri le connessioni in entrata della porta FTP 21 del firewall:
    # firewall-cmd --zone=public --permanent --add-service=ftp
    # firewall-cmd --reload
    
  5. Testare la connessione FTP dall'host remoto utilizzando il ftp comando. Usa le tue credenziali utente regolari per accedere. Ad esempio, crea una connessione FTP per ospitare 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. Questo conclude la configurazione e il test di base di VSFTPD. Nella prossima sezione aggiungeremo un livello di sicurezza configurando il nostro server ftp VSFTPD utilizzando TLS.

Protezione di VSFTPD con la connessione TLS istruzioni dettagliate

In questa sezione installeremo semplicemente il server ftp VSFTPD, apriremo le porte del firewall e testeremo le connessioni.

  1. Installa OpenSSL. Questo pacchetto potrebbe essere già disponibile sul tuo sistema RHEL8. Per installare OpenSSL esegui:
    # dnf install openssl
    
  2. Genera un certificato autofirmato o utilizza il tuo certificato esistente. In questo esempio genereremo la chiave privata vsftpd.key e il certificato firmato vsftpd.crt . Ti verrà chiesto di rispondere ad alcune domande. Sentiti libero di lasciare la maggior parte di essi come predefiniti tranne 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. Configura VSFTPD per la connessione crittografata TLS. Apri il tuo /etc/vsftpd/vsftpd.conf configurazione e aggiungere la seguente configurazione in aggiunta alle righe esistenti:
    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. Riavvia VSFTPD:
    # systemctl restart vsftpd
    
  5. Testare la connessione FTP TLS VSFTPD.
    NOTA
    Tieni presente che, a meno che tu non abbia aperto le porte appropriate sul firewall del tuo server RHEL 8, non sarai in grado di effettuare una connessione ftp passiva da un host remoto a questo punto.

    Utilizzare un client FTP che supporti le connessioni TLS come ad esempio FileZilla:

    Stabilire una connessione TLS al server VSFTPD ftp RHEL 8.

    Connesso al server VSFTPS RHEL 8 con connessione TLS sicura.

Tutto sembra essere in ordine. Nella prossima sezione aggiungeremo una funzionalità di connessione passiva al nostro server ftp VSFTPD.

Aggiungi la modalità passiva alle istruzioni passo passo di VSFTPD

  1. Apri il tuo /etc/vsftpd/vsftpd.conf configurazione e aggiungere la seguente configurazione oltre alle righe esistenti:

    pasv_enable=YES
    pasv_min_port=10000
    pasv_max_port=10100
    
  2. Riavvia VSFTPD:
    # systemctl restart vsftpd
    
  3. Apri l'intervallo di porte del firewall per ospitare le porte passive:
    # firewall-cmd --permanent --zone=public --add-port=10000-10100/tcp 
    # firewall-cmd --reload
    

Consenti l'accesso anonimo a VSFTPD istruzioni dettagliate

  1. Apri il tuo /etc/vsftpd/vsftpd.conf configurazione e modifica anonymous_enable e allow_anon_ssl righe a YES :

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

Appendice

Per tua comodità, il /etc/vsftpd/vsftpd.conf finale il file di configurazione è mostrato di seguito:

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. Come installare phpMyAdmin su RHEL 8 / CentOS 8

  2. Come installare P7Zip su RHEL 8 / CentOS 8

  3. CentOS / RHEL 7:come installare e configurare il server ftp (vsftpd)

  4. Come abilitare FTP in CentOS/RHEL 5 e 6

  5. CentOS / RHEL 4:come installare e configurare il server FTP (vsftpd)

Come installare Maven su RHEL 8 / CentOS 8

Come installare cpan su RHEL 8 / CentOS 8

Come installare Ruby su RHEL 8 / CentOS 8

Come installare Docker CE su RHEL 8 / CentOS 8

Come installare vsftpd (server ftp) su CentOS 8 / RHEL 8

Come installare VSFTPD su CentOS 7