Konfigurasi FTP Menggunakan VSFTPD di Ubuntu

Senin, 07 Desember 2015

Oke ini adalah tutorial konfigurasi server FTP menggunakan sistem operasi Ubuntu. Mungkin ada yang bertanya bagaimana cara setting ftp server di Ubuntu, ikuti saja tutorialnya sampai akhir.
Pertama, install fsftpd
sudo apt update && sudo apt install vsftpd -y
Konfigurasi VSFTPD
Selanjutya jika ingin mengatur konfigurasi server FTP, atur di file /etc/vsftpd.conf
sudo nano /etc/vsftpd.conf
Mungkin ingin di enable anonymous login nya, dll.
Beberapa konfigurasi yang mungkin perlu diubah.
Hapus comment di baris write_enable=YES untuk mengaktifkan kemampuan upload bagi user ftp.
Hapus comment di baris chroot_local_user=YES agar user FTP tidak bisa mengakses file diluar direktori home nya.
Setelah chroot diaktifkan, maka kemampuan writable user menjadi tidak bisa digunakan. Solusinya adalah dengan menambahkan baris berikut untuk mengijinkan user mengupload di direktori home nya.
allow_writeable_chroot=YES

Selanjutnya adalah membatasi akses user FTP. Tambahkan baris berikut di paling bawah.

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO 

Mengaktifkan SSL/TLS Transmission
Untuk mengamankan koneksi FTP, kita juga bisa mengaktifkan fitur SSL/TLS transmission. Dan in sangat dianjurkan. Jika kalian menggunakan domain untuk server FTP, kalian bisa gunakan SSL dari Let's Encrypt. Namun jika menggunakan IP, kalian bisa gunakan self sign certificate. Disini saya akan contohkan cara membuat private key dan juga certificate nya menggunakan openssl.
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
Selanjutnya, edit lagi file /etc/vsftpd.conf dan cari baris rsa_cert_file sampai tiga baris kebawah. Ubah valuenya menjadi:
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
Oke sekarang kita restart service VSFTPD.
sudo systemctl restart vsftpd
Membuat User FTP
Selanjutnya kita buat user baru untuk FTP.
sudo adduser ftp-user
Masukkan ftp-user ke daftar user yang diijinkan menggunakan FTP.
echo "ftp-user" | sudo tee -a /etc/vsftpd.userlist
Membatasi Shell User FTP
Secara default, user FTP yang kita buat juga memiliki shell yang bisa digunakan untuk login ke SSH mengeksekusi perintah lain. Nah untuk itu, kita bisa membuat jail shell khusus untuk user ftp.
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a  /bin/ftponlyshell
sudo chmod a+x /bin/ftponlyshell

Lalu tambahkan jail shell FTP yang kita buat diatas ke list valid shell.

echo "/bin/ftponlyshell" | sudo tee -a /etc/shells 

Selanjutnya, ubah shell milik ftp-user yang kita tambahkan sebelumnya.
sudo usermod ftp-user -s /bin/ftponlyshell
Restart vsftpd dengan perintah
sudo service vsftpd restart
Selesai. Sekarang coba login dengan user yang baru saja dibuat.

Sekian tutor kali ini semoga bermanfaat.

Artikel Terkait Linux ,Server ,Ubuntu