SFTP (SSH File Transfer Protocol atauĀ Secure File Transfer Protocol) adalah salah satu bentuk FTP yang paling aman karena dienkripsi menggunakan SSH. Beda SFTP dengan FTP biasa terletak pada sisi keamanan jaringan. Traffic pada SFTP diencrypt dengan menggunakan SSL/TLS, sedangkan FTP tidak diencrypt sehingga rentan akan serangan.
Disini saya menggunakan Linux Fedora Workstation 24 dan sebenarnya tidak ada perbedaan pada cara konfigurasi, hanya saja Fedora menggunakan dnf sebagai package manager. Jika anda menggunakan Debian/Ubuntu, silahkan menggunakan apt-get. Jika anda menggunakan CentOS/RedHat, silahkan menggunakan yum.
Tahap pertama adalah installasi dari OpenSSH dan VSFTPD. OpenSSH diperlukan karena bertindak sebagai SSH Server, dan VSFTPD adalah core dari SFTP yang akan kita buat. VSFTPD adalah singkatan dari Very Secure File Transfer Protocol Daemon. Masukkan command berikut untuk menginstall openssh dan vsftpd.
su -c ‘dnf install openssh-server vsftpd’
Setelah melakukan installasi, kita harusĀ membuat user untuk login ke dalam FTP kita. Perlu diperhatikan bahwa password yang dibuat harus memenuhi password standard untuk alasan keamanan sistem dan harus di-update dalam kurun waktu tertentu. Berikut cara untuk membuat user dengan command line. Pada contoh ini, saya membuat user dengan nama ‘mahasiswa’
su -c ‘useradd mahasiswa’
su -c ‘passwd mahasiswa’
Sekarang, kita dapat mengubah konfigurasi pada file vsftpd.conf yang terletak di /etc/vsftpd/vsftpd.conf. Anda dapat menggunakan nano atau vi untuk meng-edit konfigurasi ini. Disini saya mengasumsikan anda menggunakan vi untuk mengedit file tersebut.
su -c ‘vi /etc/vsftpd/vsftpd.conf’
Ganti value pada anonymous_enable=YES menjadi anonymous_enable=NO. Simpan hasil konfigurasi anda dengan menekan tombol ‘Esc’ pada keyboard dan ketikkan ‘:wq’. Sampai disini anda telah berhasil melakukan konfigurasi SFTP server, namun belum mengamankan traffice dengan memblok FTP dan service dari FTP belum dijalankan. Untuk memblock akses ke FTP, anda dapat menjalankan command iptable berikut.
su -c ‘iptables -A INPUT -p tcp –destination-port 21 -j DROP’
Sekarang akses ke FTP sudah diblock dan untuk menjalankan service anda dapat menggunakan command.
su -c ‘service sshd start’
su -c ‘service vsftpd start’
Untuk mengakses SFTP server anda, anda dapat menggunakan filezilla atau gunakan command berikut untuk mengakses SFTP anda lewat command line. Pada contoh, saya menggunakan user mahasiswa yang telah saya buat sebelumnya dan menggunakan alamat localhost karena ingin mencoba konfigurasi sudah benar atau tidak.
sftp mahasiswa@localhost