GNU/Linux >> Belajar Linux >  >> Cent OS

Cara menginstal vsftpd di RHEL 8 / CentOS 8

Tutorial ini memberikan petunjuk kepada pembaca tentang cara menginstal dan mengkonfigurasi server ftp VSFTPD pada server RHEL 8 / CentOS 8. Panduan ini pertama-tama akan dimulai dengan konfigurasi default dasar yang di atasnya kita akan menambahkan konfigurasi TLS aman, akses anonim, dan konfigurasi mode pasif.

Dalam tutorial ini Anda akan mempelajari:

  • Cara menginstal server ftp VSFTPD.
  • Cara membuka firewall untuk koneksi FTP yang masuk.
  • Cara mengamankan koneksi FTP dengan TLS.
  • Cara mengizinkan koneksi anonim.

Koneksi ftp VSFTPD pada RHEL 8 / CentOS 8 Server/Workstation.

Persyaratan dan Konvensi Perangkat Lunak yang Digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan
Sistem RHEL 8 / CentOS 8
Perangkat Lunak vsftpd:versi 3.0.3
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo perintah.
Konvensi # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa

Petunjuk langkah demi langkah konfigurasi VSFTPD dasar

Di bagian ini kita hanya akan menginstal server ftp VSFTPD, membuka port firewall dan menguji koneksi.

  1. Instal paket VSFTPD. vsftpd paket dapat diinstal dengan menggunakan manajer paket dnf:
    # dnf install vsftpd
    
  2. Buat salinan dan tinjau file konfigurasi VSFTPD default. Pertama buat salinan file konfigurasi asli:
    # mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_orig
    

    Mari kita mulai dengan file konfigurasi yang bersih:

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

    /etc/vsftpd/vsftpd.conf baru Anda konfigurasi akan terlihat seperti di bawah ini:

    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. Mulai daemon VSFTPD dan atur untuk memulai setelah reboot:
    # systemctl start vsftpd
    # systemctl enable vsftpd
    
  4. Buka firewall FTP port 21 koneksi masuk:
    # firewall-cmd --zone=public --permanent --add-service=ftp
    # firewall-cmd --reload
    
  5. Uji koneksi FTP dari host jarak jauh menggunakan ftp memerintah. Gunakan kredensial pengguna biasa Anda untuk masuk. Misalnya, buat koneksi FTP ke host 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. Ini menyimpulkan konfigurasi dan pengujian VSFTPD dasar. Di bagian selanjutnya kita akan menambahkan lapisan keamanan dengan mengkonfigurasi server ftp VSFTPD kita menggunakan TLS.

Mengamankan VSFTPD dengan koneksi TLS petunjuk langkah demi langkah

Di bagian ini kita hanya akan menginstal server ftp VSFTPD, membuka port firewall dan menguji koneksi.

  1. Instal OpenSSL. Paket ini mungkin sudah tersedia di sistem RHEL8 Anda. Untuk menginstal OpenSSL, jalankan:
    # dnf install openssl
    
  2. Buat sertifikat yang ditandatangani sendiri atau gunakan sertifikat yang ada. Dalam contoh ini kita akan membuat kunci privat vsftpd.key dan sertifikat yang ditandatangani vsftpd.crt . Anda akan diminta untuk menjawab beberapa pertanyaan. Jangan ragu untuk membiarkan sebagian besar dari mereka sebagai default kecuali 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. Konfigurasikan VSFTPD untuk koneksi terenkripsi TLS. Buka /etc/vsftpd/vsftpd.conf konfigurasi dan tambahkan konfigurasi berikut selain baris yang ada:
    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. Mulai ulang VSFTPD:
    # systemctl restart vsftpd
    
  5. Uji koneksi ftp TLS VSFTPD.
    CATATAN
    Harap dicatat bahwa kecuali Anda telah membuka port yang sesuai pada firewall server RHEL 8 Anda, Anda tidak akan dapat membuat koneksi ftp pasif dari host jarak jauh pada saat ini.

    Gunakan klien FTP yang mendukung koneksi TLS seperti misalnya FileZilla:

    Membuat koneksi TLS ke server VSFTPD ftp RHEL 8.

    Terhubung ke server VSFTPS RHEL 8 dengan koneksi TLS yang aman.

Semua tampaknya dalam rangka. Di bagian selanjutnya kita akan menambahkan fitur koneksi pasif ke server ftp VSFTPD kita.

Tambahkan mode pasif ke VSFTPD petunjuk langkah demi langkah

  1. Buka /etc/vsftpd/vsftpd.conf konfigurasi dan tambahkan konfigurasi berikut selain baris yang ada:

    pasv_enable=YES
    pasv_min_port=10000
    pasv_max_port=10100
    
  2. Mulai ulang VSFTPD:
    # systemctl restart vsftpd
    
  3. Buka rentang port firewall untuk mengakomodasi port pasif:
    # firewall-cmd --permanent --zone=public --add-port=10000-10100/tcp 
    # firewall-cmd --reload
    

Izinkan akses anonim VSFTPD petunjuk langkah demi langkah

  1. Buka /etc/vsftpd/vsftpd.conf konfigurasi dan ubah anonymous_enable dan allow_anon_ssl baris ke YES :

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

Lampiran

Untuk kenyamanan Anda, /etc/vsftpd/vsftpd.conf terakhir file konfigurasi ditunjukkan di bawah ini:

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. CentOS / RHEL 7 :Cara menginstal dan mengkonfigurasi server ftp (vsftpd)

  2. Cara Mengaktifkan FTP di CentOS/RHEL 5 dan 6

  3. CentOS / RHEL 4 :Cara menginstal dan mengkonfigurasi server FTP (vsftpd)

  1. Cara menginstal phpMyAdmin di RHEL 8 / CentOS 8

  2. Cara Menginstal P7Zip di RHEL 8 / CentOS 8

  3. Cara menginstal ntfs-3g di RHEL 8 / CentOS 8

  1. Cara Menginstal PHP-mbstring di RHEL 8 / CentOS 8

  2. Cara menginstal phantomjs di RHEL 8 / CentOS 8

  3. Cara menginstal Dropbox di RHEL 8 / CentOS 8