LINUXSEC

Konfigurasi FTP Menggunakan VSFTPD di Ubuntu

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.

Komentar

    Tinggalkan Komentar

    Silahkan tinggalkan komentar jika ada masukan, pertanyaan, kritik ataupun dukungan. Namun pastikan untuk berkomentar secara sopan.