Cara Memasang, Mengonfigurasi, dan Mengamankan Server FTP di RHEL 8


FTP (singkatan dari “File Transfer Protocol ”) adalah protokol jaringan standar dan lama yang digunakan untuk transfer file antara klien dan server di jaringan komputer. Itu dibangun di atas arsitektur model klien-server, yang menawarkan akses ke file dan direktori melalui klien FTP, untuk mengunggah file ke server serta mengunduh file darinya.

Pada artikel kami sebelumnya telah dijelaskan cara menginstal, mengkonfigurasi dan mengamankan FTP Server di CentOS/RHEL 7 untuk transfer file komputer antara client dan server di jaringan komputer.

Pada artikel ini, kami akan menjelaskan cara memasang, mengonfigurasi, dan mengamankan server FTP di RHEL 8 untuk berbagi file dasar antar komputer.

Instal Server FTP di RHEL 8

1. Untuk menginstal paket FTP aman, gunakan perintah dnf berikut.

dnf install vsftpd

2. Ketika instalasi selesai, Anda perlu memulai layanan vsftpd untuk sementara, mengaktifkannya untuk memulai secara otomatis saat boot sistem dan kemudian memverifikasi status menggunakan perintah systemctl berikut.

systemctl start vsftpd
systemctl enable vsftpd
systemctl status vsftpd

3. Selanjutnya, Anda perlu membuka port FTP 21 pada firewall sistem untuk mengizinkan akses ke layanan FTP dari sistem eksternal.

firewall-cmd --zone=public --permanent --add-port=21/tcp
firewall-cmd --zone=public --permanent --add-port=45073/tcp
firewall-cmd --reload

Konfigurasikan Server FTP di RHEL 8

4. Untuk mengkonfigurasi server FTP, Anda perlu membuat cadangan file konfigurasi FTP utama /etc/vsftpd/vsftpd.conf menggunakan perintah salin berikut.

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

5. Kemudian buka file konfigurasi menggunakan editor baris perintah favorit Anda.

vi /etc/vsftpd/vsftpd.conf

Tetapkan parameter berikut dengan nilai yang sesuai (lihat man vsftpd.conf untuk mengetahui arti parameter konfigurasi):

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        

6. Selanjutnya, Anda perlu mengonfigurasi FTP untuk mengizinkan/menolak akses pengguna ke layanan FTP berdasarkan file daftar pengguna /etc/vsftpd.userlist.

Secara default, pengguna yang tercantum dalam file /etc/vsftpd.userlist ditolak aksesnya dengan opsi userlist_deny disetel ke YES, jika userlist_enable =YA, ini memungkinkan akses.

Namun, menyetel parameter userlist_deny=NO akan mengubah setelan, artinya hanya pengguna yang secara eksplisit terdaftar di userlist_file=/etc/vsftpd.userlist yang akan diizinkan untuk masuk.

Oleh karena itu, tambahkan baris berikut dalam file konfigurasi vsftpd.conf Anda (atau jika sudah ada, batalkan komentar dan tetapkan nilainya seperti yang ditunjukkan):

userlist_enable=YES                   # allow access to list of usernames from the userlist_file
userlist_file=/etc/vsftpd.userlist    # stores usernames.
userlist_deny=NO   

7. Sekarang tambahkan baris berikut di file konfigurasi vsftpd.conf Anda untuk membatasi pengguna FTP ke direktori Home mereka.

chroot_local_user=YES		#means local users will be placed in a chroot jail, their home directory after login by default settings.
user_sub_token=$USER         	
local_root=/home/$USER/ftp   	

Simpan perubahan pada file dan tutup.

8. Tetapkan aturan boolean SELinux berikut untuk mengaktifkan FTP membaca/menulis file direktori home pengguna.

semanage boolean -m ftpd_full_access --on

9. Terakhir restart layanan vsftpd untuk mempengaruhi semua perubahan yang kita buat sejauh ini di atas:

systemctl restart vsftpd

Menguji Server FTP di RHEL 8

10. Untuk menguji apakah pengaturan FTP di atas berjalan dengan baik, mulailah dengan membuat pengguna FTP dengan perintah useradd dan buat kata sandi untuk pengguna tersebut.

useradd -m -c "Tecmint HowTos" -s /bin/bash tecmint
passwd tecmint

11. Kemudian tambahkan user tecmint pada file /etc/vsftpd.userlist dengan menggunakan perintah echo seperti berikut.

echo "tecmint" | tee -a /etc/vsftpd.userlist
cat /etc/vsftpd.userlist

12. Kemudian buat direktori root lokal alternatif untuk pengguna (tecmint, milik Anda mungkin berbeda) dan atur izin yang sesuai pada direktori ini.

mkdir -p /home/tecmint/ftp
chown nobody:nobody /home/tecmint/ftp
chmod a-w /home/tecmint/ftp

13. Selanjutnya, buat direktori di dalam lokasi root lokal, tempat pengguna akan menyimpan filenya.

mkdir /home/tecmint/ftp/files
chown tecmint:tecmint /home/tecmint/ftp/files
chmod 0700 /home/tecmint/ftp/files/

14. Sekarang sambungkan ke server FTP menggunakan klien FTP apa pun sebagai berikut.

ftp [email 
Contoh Keluaran
Connected to 192.168.56.100
220 Welcome to TecMint.com FTP service.
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls

Itu dia! Dalam artikel ini, kami menjelaskan cara memasang, mengonfigurasi, serta mengamankan server FTP di RHEL 8. Pada artikel berikutnya, kami akan menunjukkan cara mengamankan server FTP menggunakan koneksi SSL/TLS. Sampai saat itu tiba, tetaplah bersama kami.