FTP dan FTPs Server Menggunakan ProFTPD


FTP merupakan kependekan dari File Transfer Protocol yang berguna sebagai jembatan dalam pertukaran informasi di dalam suatu jaringan. FTP menggunakan koneksi TCP (Transmission Control Protocol) yang mengandalkan IP address dalam melakukan pertukaran data. Seperti ketika kita mengunduh file, entah itu aplikasi, video, foto, atau dokumen lainnya, aktivitas tersebut dilakukan dengan bantuan FTP.

Terdapat dua macam FTP, yaitu FTP Server dan FTP Client. FTP Server berfungsi untuk melayani pertukaran informasi atau data yang dilakukan oleh klien. Sedangkan FTP Client merupakan pihak yang melakukan aktvitas pertukaran tersebut. Seperti namanya, FTP Server bekerja pada sisi server, dan FTP Client bekerja pada sisi pengguna.

FTP Server menangani dua tugas yang dilakukan oleh klien atau pengguna. Yang pertama yaitu, menempatkan file ketika pengguna mengunggah file ke dalam server FTP. Yang kedua yaitu, mengambil file dan meneruskannya ke komputer milik pengguna ketika pengguna mengunduh.

ProFTPD

Salah satu aplikasi yang banyak digunakan sebagai FTP server adalah ProFTPD. Aplikasi FTP server ini memiliki banyak pilihan konfigurasi dan relatif lebih mudah untuk digunakan. ProFTPD merupakan aplikasi yang berada di server dan dapat diakses menggunakan FTP Client pada komputer desktop. Beberapa konfigurasi yang dapat dilakukan ketika menggunakan ProFTPD, diantaranya:

  • Login AnonymousProFTPD dapat dikonfigurasi agar semua orang dapat melakukan akses tanpa dimintai autentikasi user dan password. Ketika pengguna melakukan akses melalui komputer, mereka tidak dimintai user dan password. Konfigurasi ini bisa dilakukan untuk melakukan pertukaran data pada jaringan lokal tertutup atau sistem yang tidak memuat data-data krusial.
  • Limitasi Ukuran FilePembatasan ukuran maksimal ketika mengunggah maupun mengunduh file dari server FTP dapat dikonfigurasi ketika menggunakan ProFTPD. Hal ini berguna ketika server FTP memiliki penyimpanan yang terbatas ataupun pengguna yang banyak.
  • Limitasi Jenis FilePembatasan jenis file juga dapat dilakukan ketika menggunakan ProFTPD. Hal ini berguna untuk mengatur format file apa saja yang boleh diunggah ke dalam server.
  • EnkripsiProFTPD mendukung enkripsi menggunakan SSL/TLS yang mudah untuk dilakukan. Istilah untuk FTP yang menggunakan SSL/TLS adalah FTPs atau FTP secure. Dengan menggunakan SSL/TLS, pertukaran data menjadi lebih aman dengan enkripsi.

Untuk menggunakan ProFTPD dibutuhkan satu server Linux dan satu komputer desktop untuk pengujian. Pada artikel ini, kita akan menggunakan Ubuntu 20.04 Live Server sebagai server yang menampung ProFTPD.

Instalasi dan Konfigurasi ProFTPD Server

Sebelum melakukan instalasi, jalankan perintah untuk memperbarui paket-paket instalasi:

apt update

Setelah itu, lakukan instalasi ProFTPD:

apt install proftpd

Setelah ProFTPD berhasil diinstal, buka file konfigurasi utama ProFTPD:

vim /etc/proftpd/proftpd.conf

Matikan konfigurasi dukungan IPv6 dan ubah ServerName dengan nama domain atau IP server FTP:

Hilangkan komentar atau tanda pagar (#) pada konfigurasi DefaultRoot agar user hanya bisa melakukan akses pada direktorinya masing-masing:

Untuk melakukan konfigurasi port yang digunakan oleh FTP dapat diatur di bawah ini:

Secara default, FTP bekerja pada port 21, kita dapat mengubahnya jika ingin FTP server bekerja pada port lain. Kemudian buka file konfigurasi user FTP:

vim /etc/ftpusers

Daftar yang berada di dalam file konfigurasi tersebut merupakan user yang tidak diizinkan untuk digunakan ketika mengakses menggunakan FTP Client. Jika konfigurasi telah selesai dilakukan, muat ulang service ProFTPD dan lihat statusnya:

systemctl restart proftpd.service
systemctl status proftpd.service

Akses FTP Server Menggunakan File Zilla

Terdapat banyak aplikasi FTP client yang dapat digunakan untuk terhubung dengan server FTP dan mengambil file yang berada di dalam server, maupun mengunggah file ke dalam server. FileZilla merupakan salah satu aplikasi FTP client yang dapat digunakan pada sistem operasi Windows. Untuk menggunakannya dapat diunduh melalui https://filezilla-project.org/download.php?type=client. Setelah berhasil diinstal di komputer klien, buka aplikasi tersebut:

Untuk menghubungkan dengan FTP server ProFTPD yang telah dikonfigurasi sebelumnya, masukkan beberapa field, diantaranya:

  • Host: isi dengan IP server FTP
  • Username: isi dengan user sistem yang ada pada server FTP
  • Password: isi password user tersebut
  • Port: isi dengan 21 jika default

Setelah diisi semua, klik Quickconnect. Maka akan muncul pop up yang memberikan opsi untuk menyimpan password:

Pilih untuk menyimpan atau tidak menyimpan password sesuai keinginan. Kemudian setelah klik OK akan muncul pop up lagi yang memberi informasi bahwa FTP tidak berjalan menggunakan enkripsi TLS. Klik OK saja:

Maka ketika sudah terhubung, kita dapat mengunggah file dengan menarik file yang dinginkan ke jendela sisi server yang berada di sebelah kanan, atau sebaliknya mengunduh file dengan menarik file dari jendela server ke jendela klien:

Ketika file sudah diunggah, maka kita juga bisa melihatnya di CLI server ProFTPD:

Coba untuk membuat file dari server ProFTPD:

vim /home/amar/logserver.txt

Kita juga dapat memindahkan file yang berada di server ke dalam komputer desktop pengguna (download) dengan mudah.

Akses FTP Server Menggunakan WinSCP

Selain FileZilla, terdapat aplikasi serupa yang bernama WinSCP. Sedikit berbeda dengan FIleZilla, WinSCP ini memiliki fitur yang lebih kompleks dibandingkan dengan FileZilla. Untuk menggunakannya dapat diunduh melalui https://winscp.net/eng/download.php. Setelah diunduh dan dipasang pada komputer desktop pengguna, buka aplikasi tersebut:

Setelah terbuka, maka akan ada pop up untuk melakukan koneksi. isi field kosong yang ada seperti ketika menggunakan FileZilla. Setelah berhasil terhubung, maka akan muncul tampilan seperti di bawah ini:

Seperti yang dijelaskan sebelumnya, WinSCP memiliki fitur yang lebih banyak, salah satunya yaitu text editor yang terinstal bersama dengan WinSCP:

Coba buat file baru:

Setelah dibuat, tarik file ke sisi server yang berada di sebelah kanan:

Ketika muncul pop up konfirmasi, klik OK. Kemudian setelah berhasil memindahkan file, maka dapat dilihat pada sisi server sebelah kanan:

FTP Secure (FTPs)

FTPs merupakan istilah dari FTP secure yang lebih aman karena menggunakan enkripsi SSL/TLS. Secara default, ProFTPD belum memiliki enkripsi yang terpasang. Untuk itu, perlu dibuat enkripsi menggunakan SSL/TLS pada server ProFTPD.

Langkah 1. Pembuatan Sertifikat SSL/TLS

Pertama-tama buat permintaan sertifikat SSL ProFTPD:

openssl req -x509 -nodes -newkey rsa:2048 -keyout proftpd.pem -out proftpd.pem -days 365

Pada isian yang diminta dapat dikosongi, kecuali Common Name.Pada isian Common Name dapat diisi dengan domain jika server FTP menggunakan DNS atau isikan IP address server FTP tersebut. Kemudian setelah berhasil dibuat, ubah izin aksesnya hanya dimiliki oleh user root:

Langkah 2. Konfigurasi Pemasangan SSL/TLS

Setelah selesai membuat sertifikat enkripsi, buka file konfigurasi TLS:

vim /etc/proftpd/tls.conf

Hilangkan komentar atau tanda pagar (#) pada konfigurasi di bawah ini:

Perlu diperhatikan pada TLSProtocol secara default menggunakan SSLv23 yang artinya server FTP dapat diakses menggunakan SSLv2 ataupun SSLv3. Pada parameter tersebut dapat diganti dengan TLSv1.2 yang memiliki peningkatan keamanan. Kemudian hilangkan komentar juga pada parameter yang mendeklarasikan letak sertifikat enkripsi:

Untuk meningkatkan skalabilitas agar server ProFTPD dapat diakses menggunakan berbagai aplikasi FTP Client, hidupkan konfigurasi TLSOptions di bawah ini:

Setelah itu, buka file konfigurasi utama ProFTPD:

vim /etc/proftpd/proftpd.conf

Untuk mengaktifkan konfigurasi enkripsi atau koneksi melalui FTPs, buka konfigurasi di bawah ini:

Setelah selesai melakukan konfigurasi, muat ulang layanan ProFTPD dan periksa status layanannya:

systemctl restart proftpd.service
systemctl status proftpd.service

Langkah 3. Pengujian

Untuk melakukan koneksi FTP menggunakan SSL/TLS, buka FileZilla kemudian klik menu File dan pilih opsi Site Manager:

Kemudian akan muncul pop up seperti di bawah ini:

Terdapat beberapa field yang harus dpilih ataupun diatur, diantaranya:

  • Protocol: pilih FTP
  • Host: isi dengan IP server FTP
  • Port: isi dengan port yang dikonfigurasi pada FTP server
  • Encryption: pilih Require explicit FTP over TLS untuk mengatur koneksi melalui enkripsi SSL/TLS
  • Logon Type: pilih Ask for password agar dapat memasukkan password setiap memulai koneksi
  • User: isi dengan user yang digunakan untuk mengakses FTP Server

Kemudian klik OK, maka akan muncul pop up yang meminta password user. Masukkan password user yang digunakan:

Setelah berhasil terhubung dengan FTP server, maka akan ada pop up yang menunjukkan sertifikat SSL/TLS yang telah dibuat sebelumnya:

Klik OK saja. Kemudian bisa dilihat pada log status FileZilla, maka akan ada keterangan yang menunjukkan bahwa koneksi berhasil dilakukan dengan TLS:

Kesimpulan

ProFTPD merupakan salah satu aplikasi atau perangkat lunak yang dapat digunakan untuk membuat FTP server. FTP serversendiri berguna untuk menjadi pusat dalam berbagi file atau data. Dengan FTP server, kita dapat berbagi file dengan mengunggahnya ke dalam server. Atau, kita dapat mengambil file dengan mengunduhnya dari dalam server. Banyak aplikasi FTP client yang dapat digunakan untuk mengakses ProFTPD, ketika digunakan sebagai server FTP. Selain itu, ProFTPD bisa dikonfigurasi agar klien atau pengguna menggunakan enkripsi SSL/TLS ketika melakukan akses. Dengan enkripsi tersebut, pertukaran file atau data menjadi lebih aman.

Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti, klik disini untuk info lengkapnya.

Penulis : Bazigan Tsamara Sukamto