FTP SERVER
A. Pengertian FTP
File Transfer Protokol atau yang lebih dikenal dengan istilah FTP merupakan protokol yang saat ini cukup popular dalam hal transfer data di dunia maya, baik itu upload ataupun download. Selain dapat diakses oleh berbagai mesin dengan platform berbeda-beda, FTP juga mendukung mode autentikasi dan publikasi data dengan beberapa access policy yang dapat dikustomisasi.
FTP bekerja menggunakan salah satu protokol yang dapat diandalkan untuk urusan komunikasi data antara client dan server, yaitu protokol TCP (yang menggunakan port nomor 21). Port 21 secara khusus menangani komunikasi dan sesi transfer data command anatara client dan server, sehingga port 21 disebut juga sebagai command port. Terdapat beberapa persyaratan untuk menggunakan FTP, diantaranya:
1. Tersedianya sambungan jaringan yang berkualitas bagus, baik skala jaringan lokal hingga internet.
2. Konfigurasi firewall disisi client dan server yang memungkinkan terjadinya komunikasi dan sesi transfer data.
3. Aplikasi FTP server telah di-set dan bekerja dengan baik sesuai dengan kebutuhan komputer server.
4. Tersedianya aplikasi FTP client yang dapat digunakan untuk mengakses, mengelola dan melakukan transfer data di FTP Server, seperti aplikasi FileZilla, Core FTP, Cyberduck (untuk Mac OS), CuteFTP, dan lainnya. Meski demikian FTP Server juga dapat diakses menggunakan web browser, windows explorer, dll
5. Pengaksesan layanna FTP server selalu diawali dengan pemanggilan protokolnya yaitu ftp://ftp.namadomain.com atau ftp.namadomain.com
6. Username dan password, beberapa FTP Server memang membiarkan para client mengakses data secara anonym, namun beberapa memerlukan input-an username dan password yang harus diketahui oleh client.
B. Perbedaan FTP Client dan FTP Server
FTP Server merupakan server yang bertugas memberikan layanan pengiriman/tukar menukar data kepada FTP client dengan syarat FTP client harus meminta (request) terlebih dahulu pada FTP Server.
Sebuah FTP Server dapat bekerja dengan koneksi aktif maupun pasif. Pada koneksi aktif jika client membuka sebuah port, maka server secara otomatis terkoneksi secara aktif. Jika kamu terhubung dengan FTP server secara aktif, maka kamu perlu mengatur firewall untuk menerima koneksi ke sebuah port yang akan dibuka oleh FTP client. FTP server aktif biasanya menggunakan 20 port sebagai port datanya.
Sedangkan FTP client merupakan komputer/perangkat yang meminta layanan tukar menukar data kepada FTP server. Setelah terkoneksi dengan FTP server, ftp client dapat melakukan proses download, upload dan lain sebagainya sesuai dengan ijin yang telah diberikan oleh FTP server sebelumnya. Kebanyakan FTP client memilih untuk menggunakan koneksi pasif secara default, karena admin server mengganggap hal tersebut lebih aman. Dengan menggunakan koneksi pasif, maka semua koneksi yang dimulai dari luar akan langsung terkena blok. Dengan mode pasif, FTP client lah yang meminta server untuk membuat koneksi. Beberapa contoh aplikasi FTP client diantaranya: aplikasi FileZilla, Core FTP, Cyberduck (untuk Mac OS), dan CuteFTP.
C. Prinsip dan Cara Kerja FTP
FTP pada proses kerjanya dalam melakukan komunikasi data berjalan ada port 21 dan menggunakan protokol TCP (Transmission Control Protokol). Ada dua metode yang dapat diterapkan untuk FTP server, yaitu User Authentication Login dan Anonymous Login.
a. User Authentication Login adalah metode yang membuat seseorang pengguna yang ingin mengakses sebuah FTP Server harus memiliki username dan password. Dengan metode ini seorang pengguna yang tidak memiliki username dan password tidak dapat mengakses atau membuka FTP server.
b. Sedangkan metode Anonymous Login adalah sebuah metode yang memungkinkan orang-orang dapat mengakses FTP Server tersebut secara anonym tanpa harus memiliki username dan password.
Pada FTP Server, kamu juga dapat memberikan hak akses tertentu pada user-user tertentu, seperti halnya user tertentu yang memiliki hak akses untuk membuka, mengubah, dan menghapus file-file atau folder tertentu. Sedangkan penguna lain hanya dapat melihat tanpa bisa melakukan perubahan.
Cara kerja FTP yaitu :
1. Sesi komunikasi dimulai ketika FTP client meminta layanan pada FTP server pada port tertentu (secara default port 21).
2. Selanjutnya FTP server akan meresponnya dengan mengirimkan data melalui port 20 menuju client dengan port tertentu (biasanya di atas port 1024), jenis koneksi ini disebut mode aktif.
3. Sementara itu, koneksi mode pasif adalah jenis koneksi yang memanfaatkan high port sebagai saluran transmisi data. Ketika sesi komunikasi anatara client dan server telah terbentuk, maka client akan memulai mengirimkan intruksi atau command melalui port acak (high port) menuju port 21 FTP server. Sebagai contoh, client mengirimkan perintah DIR untuk menampilkan informasi isi sebuah direktori. Server akan meresponnya dengan mengirimkan data yang diminta melalui high port menuju high port client.
D. Fungsi FTP
FTP memiliki banyak fungsi atau manfat yang menguntungkan bagi penggunannya, misalnya diantaranya yaitu:
1. Kita dapat melakukan pertukaran file antar komputer dengan mudah, walaupun file tersebut memiliki ukuran yang besar
2. Bagi pemilik website, dengan adanya FTP mereka dapat melakukan backup website mereka dengan mudah.
3. Dapat melakukan indirect maupun implicit remote computer.
4. FTP menyediakan transfer data yang reliable dan efisien, Karen asetiap pengguna tidak memerlukan tahapan-tahapan yang rumit untuk memperoleh suatu file atau mentransfer suatu file.
5. FTP memfasilitasi tiap pengguna untuk melakukan transfer data secara dua arah. Artinya jika FTP digunakan dalam sebuah perusahaan, maka setiap pemimpin perusahan mampu mengirimkan file kepada karyawannya dan sebaliknya, dengan menggunakan server yang sama.
6. Progress perpindahan data tidak akan hilang walaupun sambuangan terputus.
7. Transfer data/file dapat dilakukan dengan mudah dan terorganisir.
E. Kekurangan FTP
Selain mempunyai manfaat yang besar, FTP juga memiliki beberapa kekurangan diantaranya:
Sambungan yang tidak dienkripsi cukup rentan dilakukan sniffing data dana kun sehingga banyak sekali kasus haking pada layanan berbasis FTP server. Oleh karena itu, muncul metode SFTP yang mengombinasikan SSL sebagai mode enkripsi data sambungan.
Jika pengguna tidak begitu paham menganai FTP, sangat mudah untuk menghapus keseluruhan data dengan sekali klik.
Tidak dapat mengubah kepemilikan dari suatu file
Jika ingin memiliki FTP server sendiri, maka harus memiliki komputer server sendiri atau menyewa server dengan biaya yang tidak murah.
F. Jenis FTP Server: ProFTPd, VSFTPD, dan PureFTPd.
Beberapa aplikasi yang digunakan untuk FTP Server diantaranya: ProFTPd, VSFTPD dan PureFTPd. Namun yang terkenal dan didukung sebagian besar control panel seperti cPanel dan DirectAdmin adalah ProFTPd. ProFTPd ini mempunyai fitur beserta dukungan module dan plugin yang mirip dengan arsitektur Apache cukup memudahkan untuk dilakukan konfigurasi. Selain bersifat free license di bawah GPL, kelebihan lainnya adalah dapat diinstal dan dijalankan pada berbagai platform mesin dan sistem operasi.
VSFTPD adalah salah satu aplikasi server FTP di bawah lisensi GPL yang merupakan singkatan dari Very Secure File Transfer Protocol Daemon. Dibandingkan ProFTPd, aplikasi ini lebih secure sehingga menjadi pertimbangan utama ketika membangun sebuah layanan FTP server, seperti ftp.redhat.com , ftp.debian.org , ftp.freebsd.org .
Sedangkan PureFTPd adalah aplikasi server di bawah lisensi BSD yang dapat digunakan dengan gratis. Slogan utama dalam PureFTPd adalah Security First, yang terbukti cukup baik dalam beberapa literatur dengan menunjukkan beberapa bug atau vulnerable kategori CVE lebih sedikit dibandingkan ProFTPd.