FTP dan FTPS Server

A. Penjelasan tentang FTP dan FTPS




1. File Transfer Protocol (FTP)
FTP (singkatan dari File Transfer Protocol) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) komputer antar mesin-mesin dalam sebuah internetwork. FTP merupakan salah satu protokol Internet yang paling awal dikembangkan, dan masih digunakan hingga saat ini untuk melakukan pengunduhan (download) dan penggugahan (upload) berkas-berkas komputer antara client FTP dan server FTP. Sebuah client FTP merupakan aplikasi yang dapat mengeluarkan perintah-perintah FTP ke sebuah server FTP, sementara server FTP adalah sebuah Windows Service atau daemon yang berjalan di atas sebuah komputer yang merespons perintah-perintah dari sebuah client FTP. Perintah-perintah FTP dapat digunakan untuk mengubah direktori, mengubah modus transfer antara biner dan ASCII, menggugah berkas komputer ke server FTP, serta mengunduh berkas dari server FTP.
Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI) dengan menggunakan format ftp://namaserver. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut.

FTP menggunakan protokol Transmission Control Protocol (TCP) untuk komunikasi data antara client dan server, sehingga di antara kedua komponen tersebut akan dibuatlah sebuah sesi komunikasi sebelum transfer data dimulai. Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan "mendengarkan" percobaan koneksi dari sebuah client FTP dan kemudian akan digunakan sebagai port pengatur (control port) untuk (1) membuat sebuah koneksi antara client dan server, (2) untuk mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server dan juga (3) mengembalikan respons server ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka port TCP nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mentransfer data aktual yang sedang dipertukarkan saat melakukan pengunduhan dan penggugahan.
Ketika kita menggunakan FTP (sebagai user) terdapat dua jenis atau cara yang dapat dilakukan:
a. Anonymous, Sistem FTP anonymous sudah sejak lama diciptakan dengan tujuan agar setiap orang yang terkoneksikan ke dalam dunia internet dapat saling berbagi file dengan orang lain yang belum memiliki account dalam server. Dengan sistem ini setiap orang dapat menggunakan sebuah account yang umum (public account) berupa anonymous. Mempunyai hal keterbatasan hak akses. Keterbatasan yang dimiliki ketika pengguna menggunakan jenis FTP anonymous biasanya meliputi keterbatasan dalam proses akses direktori dan file yang tersedia dalam server yang dituju. Selain itu, pengguna yang menggunakan sistem ini tidak dapat melakukan uploading data terhadap server yang dituju. Namun sebaliknya ia hanya memiliki kemampuan dalam downloading, baca file tertentu dan pindah direktori yang diizinkan oleh pemilik server.
b. User legal (authenticated user), adalah sebuah cara lain yang digunakan oleh pengguna internet dalam mengakses sebuah server dengan menggunakan FTP. Untuk dapat mengkases remote host, cara user legal (authenticated user) menuntut kita untuk memiliki sebuah account khusus yang dimiliki secara pribadi. Untuk dapat memiliki account khusus ini, seorang pengguna harus mendaftarkan diri terlebih dahulu kepada pemilik remote host tersebut. Terdapat banyak server yang memberikan fasilitas account FTP secara gratis, selain server lain yang mengharuskan pengguna untuk membeli sebuah account yang tentunya dengan fasilitas yang lebih banyak dibandingkan dengan sebuah account yang dimiliki secara gratis. Dengan menggunakan account ini, seorang pengguna memiliki hak akses yang jauh berbeda dengan seorang pengguna jenis anonymous. Selain kemampuan yang dimiliki oleh pengguna anonymous, seperti download dan berpindah dari satu direktori ke direktori lain serta kemampuan baca file tertentu, uploading, membuat sebuah direktori, menghapus file dan direktori. Hak yang dimiliki adalah hak seorang pemilik bukan seorang pengunjung biasa.

2. FTPS (FTP Secure)
Dikarenakan security pada FTP sangat beresiko karena tidak di encrypt  maka diusulkanlah dalam RFC 2228 untuk melindungi data FTP saat dikirimkan melalui jaringan menggunakan enkripsi SSL.
Security
  1. FTPS implicit SSL  
  2. FTPS Explicit SSL
FTPS Implicit SSL
  1. Implicit SSL  membutuhkan SSL session untuk menghubungkan antara client dan server sebelum terjadi pertukaran data.
  2. Setiap koneksi yang dibuat oleh client tanpa SSL akan di tolak oleh server.
  3. SSL implicit berjalan diatas port 990.
FTPS Explicit SSL
  1. Di dalam Explicit SSL mode, client dan server bernegosiasi tentang level proteksi yang digunakan.
  2. Server akan menawarkan unencrypted FTP atau encrypted FTPS session dalam sebuah port.
  3. Session yang dibentuk ketika client melakukan koneksi pertama adalah unencrypted.
  4. Sebelum mengirimkan user credentials, client akan meminta kepada Server untuk menukar command channel ke SSL encrypted channel dengan mengirimkan perintahAUTH TLS atau AUTH SSLcommand. 
  5. Setelah berhasil melakukan konfigurasi SSL channel maka client akan mengirimkan user credentials ke  FTP server.
  6. Level dari proteksi data channel antara client dan server dapat dinegosiasikan dengan menggunakan perintah PROT.
Firewall
  • Server mengijinkan koneksi masuk pada port 21 atau 990 dan PASSIVE on-demand port antara 2000-2500 .
  • Client mengijinkan koneksi keluar pada port 21 dan passive sama seperti server.

B. Instalasi FTP Server

1. Install paket proftpd dengan perintah apt-get install proftpd -y


2. Buat direktori yang akan di sharing kan, dengan perintah mkdir /home/user/sharing

 


3. Rubah permisi folder tersebut agar folder tersebut dapat di read, write, dan execute oleh semua user dengan perintah chmod 777 “Direktori”. 

 
4. Hapus default user ftp dengan perintah userdel ftp


5. Tambahkan ftp user baru dan arahkan ke direktori yang telah dibuat tadi dengan perintah useradd –d “Direktori” ftp 


6. Jika perlu tambahkan juga password untuk user ftp tersebut menggunakan perintah passwd ftp, lalu masukan password sesuai selera anda.


7. Selanjutnya kita atur proftpd.conf, menggunakan perintah nano /etc/proftpd/proftpd.conf lalu pada ganti on menjadi off  “UseIPv6”



8. Pada bagian bawah sendiri tambahkan script seperti contoh gambar dibawah ini




9. Setelah itu restart service proftpd dengan perintah /etc/init.d/proftpd restart . Jika failed berati konfigurasi anda ada yang salah.


10. Selanjutnya tes pada client dengan menggunakan browser atau ftp client. Ketik ftp://alamat ftp server . Lalu login dengan akun ftp yang telah dibuat tadi jika berhasil akan tampak seperti gambar dibawah.


C. Instalasi FTPS Server
1. Install paket openssl dan ssl-cert dengan perintah apt install openssl ssl-cert 
 

2. Buat sertifikat SSL yang baru dengan memasukan script berikut ini. “openssl req –x509 –newkey rsa:1024 –keyout /etc/ssl/private/proftpd.key –out /etc/ssl/certs/proftpd.crt –nodes –days 365” lalu masukan data seperti alamat dan nama pemilik sertifikat.




3. Ubah permisi untuk proftpd.key dan proftpd.crt dengan perintah chmod 600 /etc/ssl/private/proftpd.key dan chmod 600 /etc/ssl/certs/proftpd.crt .

 
   
4. Selanjutnya kita atur file tls.conf dengan perintah nano /etc/proftpd/tls.conf dan aktifkan konfigurasi dengan menghilangkan tanda pagar (#) seperti gambar. 


5. Setelah itu kita kembali konfigurasikan proftpd.conf, menggunakan perintah nano /etc/proftpd/proftpd.conf lalu cari “Include /etc/proftpd/tls.conf” dan hilangakan tanda pagar (#)



6. Jika sudah restart service proftpd dengan perintah /etc/init.d/proftpd restart . NB: Jika failed berati ada konfigurasi yang salah.

 

7. Jika sudah selesai sekarang waktunya untuk mencoba. Buka browser terlebih dahulu lalu ketik ftps://”IP Address FTP Server” lalu akan ada peringatan seperti berikut, karena tidak semua web browser tidak support dengan FTPS. 

 

8. Selanjutnya kita coba buka dengan FTP Client. Disini saya menggunakan Filezilla dan mengisi, host: alamat ip ftp server, username: ftp, dan passwordnya. Dan akan mucul tampilan seperti berikut. Klik OK

 

9. Saya coba untuk mengirim beberapa file dari Windows ke Server Debian, untuk melihat apakah FTP Server bekerja. 

 

10. Seperti yang dilihat file yang ditransfer tadi telah masuk. Berarti konfigurasi tadi berhasil.


11. Selesai

Demikian Tutorial dari saya. Apabila ada yang kurang saya minta maaf. Jangan lupa comment dan bagikan artikel ini jika dinilai bermanfaat. Terima Kasih



Postingan terkait:

1 Tanggapan untuk "FTP dan FTPS Server"