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
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.
- Instal paket VSFTPD.
vsftpd
paket dapat diinstal dengan menggunakan manajer paket dnf:# dnf install vsftpd
- 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
- Mulai daemon VSFTPD dan atur untuk memulai setelah reboot:
# systemctl start vsftpd # systemctl enable vsftpd
- Buka firewall FTP port 21 koneksi masuk:
# firewall-cmd --zone=public --permanent --add-service=ftp # firewall-cmd --reload
- Uji koneksi FTP dari host jarak jauh menggunakan
ftp
memerintah. Gunakan kredensial pengguna biasa Anda untuk masuk. Misalnya, buat koneksi FTP ke hostrhel8-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>
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.
- Instal OpenSSL. Paket ini mungkin sudah tersedia di sistem RHEL8 Anda. Untuk menginstal OpenSSL, jalankan:
# dnf install openssl
- Buat sertifikat yang ditandatangani sendiri atau gunakan sertifikat yang ada. Dalam contoh ini kita akan membuat kunci privat
vsftpd.key
dan sertifikat yang ditandatanganivsftpd.crt
. Anda akan diminta untuk menjawab beberapa pertanyaan. Jangan ragu untuk membiarkan sebagian besar dari mereka sebagai default kecualiCommon 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 []: #
- 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
- Mulai ulang VSFTPD:
# systemctl restart vsftpd
- 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
- 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
- Mulai ulang VSFTPD:
# systemctl restart vsftpd
- 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
- Buka
/etc/vsftpd/vsftpd.conf
konfigurasi dan ubahanonymous_enable
danallow_anon_ssl
baris keYES
:anonymous_enable=YES allow_anon_ssl=YES
- 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