
FTP, kependekan dari File Transfer Protocol, adalah protokol populer untuk mentransfer file ke dan dari server FTP. Namun, itu penuh dengan risiko keamanan karena mengirimkan data dan informasi sensitif seperti nama pengguna dan kata sandi dalam teks biasa. VSFTPD ( Very Secure FTP Daemon ) adalah server FTP yang cepat, aman, dan stabil yang menggunakan enkripsi untuk mengamankan pertukaran data dengan server.
Dalam tutorial ini, kita mempelajari cara menginstal server FTP vsftpd di Debian 11 .
Langkah 1:Instal vsftpd di Debian 11
Pertama, buka terminal dan perbarui daftar paket di server Debian Anda.
$ sudo apt update
Paket vsftpd di-host di repositori resmi Debian. Oleh karena itu, gunakan pengelola paket APT seperti yang ditunjukkan.
$ sudo apt install vsftpd
Perintah menginstal vsftpd, bersama dependensi lainnya. Setelah diinstal, vsftpd dimulai secara otomatis. Anda dapat mengonfirmasi ini dengan menjalankan perintah:
$ sudo systemctl status vsftpd
Dari output, Anda dapat melihat bahwa vsftpd berjalan seperti yang diharapkan.

Jika layanan vsftpd tidak berjalan dalam kasus Anda, Anda dapat memulainya seperti yang ditunjukkan.
$ sudo systemctl start vsftpd
Kemudian aktifkan layanan untuk memulai saat boot.
$ sudo systemctl enable vsftpd
Langkah 2:Buat pengguna FTP unik
Selanjutnya, kita akan membuat akun pengguna FTP unik yang akan kita gunakan untuk masuk ke server FTP. Cukup gunakan adduser
perintah diikuti dengan nama pengguna dan menanggapi perintah yang sesuai.
$ sudo adduser ftpuser

Langkah 3:Tambahkan pengguna FTP ke daftar pengguna login yang diizinkan
Selanjutnya kita akan menambahkan pengguna FTP ke vsftpd.userlist
mengajukan. Pengguna lokal yang ditentukan dalam file ini diberikan izin untuk mengakses server FTP.
Jadi, jalankan perintah:
$ echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist

Sempurna. Sekarang mari kita lanjutkan dan konfigurasikan vsftpd.
Langkah 4:Buat direktori pengguna FTP
Selanjutnya, buat direktori FTP untuk pengguna FTP dan tetapkan hak akses dan kepemilikan direktori yang sesuai.
$ sudo mkdir -p /home/ftpuser/ftp_dir
$ sudo chmod -R 750 /home/ftpuser/ftp_dir
$ sudo chown -R ftpuser: /home/ftpuser/ftp_dir
Langkah 5:Konfigurasikan vsftpd
Beberapa langkah tambahan diperlukan sebelum kita dapat masuk dan mulai berinteraksi dengan server. Lanjutkan dan edit file konfigurasi utama - /etc/vsftpd.conf
.
$ sudo vim /etc/vsftpd.conf
Ada beberapa setelan yang perlu Anda pastikan telah disetel.
Mari kita mulai dengan akses FTP . Secara default, pengguna anonim diberikan akses. Tapi ini bukan yang kami inginkan karena alasan keamanan. Oleh karena itu, kami akan menonaktifkan login oleh pengguna anonim dan hanya memberikan akses ke pengguna lokal.
anonymous_enable=NO
local_enable=YES
Selanjutnya, Anda perlu mengizinkan pengguna lokal untuk mengunggah file dan mendapatkan akses ke direktori home mereka serta membuat perubahan pada file seperti yang ditunjukkan.
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
Selain itu, Anda dapat membatasi pengguna lokal yang dapat mengakses dan mengunggah file dengan menentukan hanya pengguna yang terdapat dalam vsftpd.userlist
berkas.
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO
Untuk menyediakan koneksi FTP yang aman ke server, kita perlu mengenkripsi server menggunakan sertifikat SSL. Kami akan membuat sertifikat SSL yang ditandatangani sendiri untuk mengenkripsi server. Untuk melakukannya, jalankan perintah.
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
Kembali ke file konfigurasi default lagi, dan tempel baris ini untuk menentukan jalur sertifikat SSL yang dihasilkan dan aktifkan SSL.
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
Singkatnya, file konfigurasi Anda harus berisi baris berikut:
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO
Agar perubahan diterapkan, mulai ulang server.
$ sudo systemctl restart vsftpd
Hanya untuk memastikan semuanya baik-baik saja, Anda dapat memverifikasi status berjalannya.
$ sudo systemctl status vsftpd
Langkah 5:Akses server vsftpd
Kita sekarang selesai dengan konfigurasi. Bagian terakhir adalah masuk. Jika Anda mengaktifkan firewall, izinkan port 20 dan 21.
$ sudo ufw allow 20/tcp
$ sudo ufw allow 21/tcp
Kemudian muat ulang firewall agar perubahan diterapkan.
$ sudo ufw reload
Terakhir, ambil klien FTP Anda seperti FileZilla, dan isi detailnya sebagai berikut:
Tuan Rumah :sftp://server-IP
Nama pengguna: ftpuser
Sandi :Kata sandi ftpuser
Setelah Anda mengisi detailnya, klik tombol 'QuickConnect'.

Setelah daftar direktori berhasil, Anda sekarang dapat mulai mentransfer file dengan aman melalui SSL.

Pada baris perintah, cukup jalankan perintah:
$ sftp ftpuser@server-IP
Ketik 'ya' saat diminta untuk melanjutkan dan berikan kata sandi kepada pengguna FTP untuk masuk.

Kesimpulan
Ini adalah tutorial yang kami pelajari cara menginstal server FTP vsftpd di Debian 11. Kami melanjutkan dan membuat pengguna, mengonfigurasi Server, dan masuk dari klien FTP dan pada baris perintah.