Tutorial FTP - SFTP – FTPS DAN HTTP – HTTPS

07.03 jalankaki 0 Comments



A.  PERCOBAAN MENGGUNAKAN FTP, SFTP, DAN FTPS
FTP (menggunakan port 21)
1.        Langkah pertama install ftp server terlebih dahulu dengan perintah apt-get install proftpd


2.        Kemudian cek daemon ftp sudah ada dan berjalan dengan perintah netstat –a|grep ftp
Statusnya listen berarti ftp server sudah berjalan


3.        Lakukan restart service pada ftp server denagn perintah pada gambar di bawah ini

4.        Setelah itu buatlah user baru dengan perintah adduser (nama_user)

5.        Jika sudah selesai membuat user segera buka filezilla pada windows dengan mengisi
Host : ftp://(ip_tempat_ftp_server_berada)       Username : (username_baru/ kamdat)
Password : (password_saat_membuat_user_baru)      Port : 21 à port untuk ftp
Lihatlah pada filezilla telah tersambung dengan user kamdat yang ada pada debian. Pada daerah yang dilingkari merah adalah status report saat kita masuk pada direktori yang ada pada user kamdat berhasil.


6.        Bukalah wireshark dan pilih pada interface VMWare1 untuk mengamati
Pada saat menggunakan ftp untuk melakukan sambungan antara client dan server menggunakan protocol ftp port 21. Semua aktifitas yang ada pada protocol ftp ini terjadi secara terang-terangan data sebenarnya. Dapat dilihat dari gambar di atas. Tanpa ada proses enkripsi yang terjadi.


7.        Pada saat dari windows mengupload file ke debian atau ftp server
Dari gambar di atas jika kita amati ip 178 pada windows melakukan penguploadan file .png dengan ip tujuan .179 milik server. Setelah terjadi request STOR file. Baru terjadi komunikasi dengan protocol TCP dari ip 178 melakukan SYN ke ip 179 dan setelah itu server membalas dan barulah terjadi proses pengiriman data dengan ditandai adanya protocol FTP-DATA pada gambar di atas.

8.        Upload complete
Gambar di atas adalah pada saat proses uploading file selesai yang melakukan closing data connection karena data sudah berhasil di kirim adalah server. Coba kita amati pada lingkaran merah ip source berasal dari ip 179 milik server.

9.        Pengamatan pada Graph Analysis


SFTP (menggunakan SSH port 22)
1.        Mengecek koneksi sftp sebagai root melalui terminal pada debian (ftp server)

2.        Lakukan sambungan ke sftp dengan menggunakan filezilla dari windows dengan mengisi
Host : sftp://(ip_sftp_server). Username, Password sama dengan percobaan ftp. Port : 22

3.        Melakukan pengunggahan file melalui sftp
Pada gambar di atas client pada windows melakukan pengunggahan file .pptx pada server. Dapat dilihat pada lingkaran merah bahwa proses pengunggahan file .pptx ke server berhasil dan jika kita lihat juga pada direktori user kamdat file yang diunggah juga telah ada di direktori tersebut.


4.        Monitoring pada wireshark saat proses pengunggahan file
Jika diamati dari gambar di atas pada lingkaran merah adalah proses pertukaran private key awal antara client dengan server hingga menghasilkan key baru untuk berkomunikasi. Baru setelah itu proses interaksi data pada SSH versi 2 semua data dienkripsi.

5.        Graph Analysis sftp


FTPS (menggunakan SSL : Secure Socket Layer)
1.        Install open ssl terlebih dahulu

2.        Lakukan konfigurasi pada proftpd.conf sebagai berikut

3.        Simpan sertifikat SSL pada direktori berikut


4.        Lakukan proses generate pada sertifikat SSL dengan perintah di bawah ini
5.        Edit konfigurasi proftpd.conf dengan menghilangkan tanda # pada baris include di bawah ini

6.        Copy file tls.conf dan beri nama seperti gambar di bawah ini

7.        Buka file tls.conf dengan perintah di bawah ini

8.        Sesuaikan isi file dengan gambar di bawah ini

9.        Restart service proftpd

10.    Lakukan koneksi dengan filezilla dengan format koneksi sama dengan percobaan ftp. Maka pada saat melakukan koneksi pada filezilla akan muncul sertifikat di bawah ini. Kemudian tekan OK

11.    Monitoring pada wireshark pada saat mengkonfirmasi tls sertifikat
Pada gambar di atas server meminta sertifikat tls pada client. Kemudian ketika client merequest uthentikasi sertifikat tls server memberikan respon AUTH TLS successful. Kemudian barulah terjadi koneksi yang datanya terenkripsi yang dapat kita lihat pada gamabar di atas.

12.    Amatilah direktori pada server sebelum dilakukan pengunggahan file .swf ke server




Gambar di dibawah ini adalah saat pengunggahan file swf ke server berhasil dilakukan oleh client.


13.    Pengamatan melalui wireshark
Semua kegiatan komunikasi antara client dengan server dan pengiriman data dienkripsi semua karena menggunakan secure socket layer(ssl)
14.    Gambar Graph Analysisnya seperti di bawah ini





B.  PERCOBAAN MENGGUNAKAN HTTP DAN HTTPS 

HTTP
1.      Langkah pertama lakukan installasi web server apache2 pada server terlebih dahulu(pada virtual debian) dengan perintah apt-get install apache2
Pastikan proses installasi berahasil seperti gambar di bawah ini.


2.        Cek apakah web server berjalan dengan baik. Bukalah browser pada windows(client) pastikan ip client berada satu jaringan dengan server. Kemudian jika server tak menggunakan proxy atau port tertentu gunakan no proxy pada pengaturan jaringan browser. Ketikkan ip server pada url
Pada gambar di atas web server apache berhasil berjalan karena mengembalikan halaman default.

3.        Lakukan monitoring taffic jaringan dengan menggunakan wireshark
Pada pengamatan wireshark kita tahu bahwa protocol yang digunakan adalah HTTP dan FTP.


HTTPS
1.      Karena web server sudah di install, selanjutnya aktifkan mode ssl dengan perintah a2enmod ssl

2.      Lakukan restart pada web service apache2 dengan perintah /etc/init.d/apache2 restart
Proses restart di atas agar pengaktifan mode ssl pada perintah sebelumnya dijalankan web service.

3.      Setelah itu buatlah folder baru dengan nama ssl di dalam direktori /etc/apache2/ dengan perintah mkdir /etc/apache2/(nama_folder) untuk menyimpan server key dan sertifikat

4.      Kemudian kita akan membuat Sertifikat SSL dengan perintah di bawah ini
Saat kita membuat Sertifikat SSL, bisa ditentukan masa berlakunya seperti pada contoh gambar di atas –days 730 berarti masa berlakunya 730 hari (2 tahun). Pada perintah –keyout /etc/apache2/ssl/apache.key berarti server key akan disimpan pada direktori ssl dengan nama apache.key, sedangkan pada perintah –out /etc/apache2/ssl/apache.crt berarti sertifikat akan disimpan pada direktori ssl dengan nama apache.crt

5.      Di bawah ini adalah proses generate untuk mendapatkan server key dan Sertifikat SSL
Pada sertifikat SSL di atas kita isi data perusahaan penyedia sertifikat mulai dari lokasi perusahaan, nama organisasi, nama domain(server FQDN), dan alamat e-mail.

6.      Karena kita mengaktifkan 2 metode, yaitu HTTP dan HTTPS. Kita bisa mengabaikan HTTP, karena secara default pasti berjalan dengan semestinya. Konfigurasi pada file default pada direktori /etc/apache2/sites-available. File ini yang menunjukkan di mana letak website kita disimpan, secara default file ini merujuk ke direktori /var/www.
Di dalam direktori /etc/apache2/sites-available terdapat 2 buah file, yaitu default yang telah dibahas di atas dan default-ssl untuk membuat mode HTTPS aktif.
Selanjutnya bukalah file default-ssl. Pada file ini tambahkan baris SSLEngine  On
Jika baris yang diberi lingkaran kuning belum ada tambahkan di bawah SSLEngine pada file tersebut, kemudian hilangkan tanda # di depan perintah yang diberi lingkaran merah di atas. Jika sudah simpanlah perubahan file tersebut.

7.      Lakukan pengaktifan website default-ssl dengan perintah di bawah ini

8.      Setelah itu restartlah lagi service apache agar perubahan konfigurasi dijalankan.

9.      Cek pada browser dan akses ip server(virtual debian)



Pengamatan melalui wireshark

Karena kita mengaktifkan mode secure(HTTPS) maka protocol yang digunakan adalah TLS. Kemudian saat client hendak mengakses halaman web server tidak langsung diizinkan seperti pada HTTP sebelumnya, namun ada pengenalan terlebih dahulu oleh si server pada saat pertama kali(belum terinstall sertifikat pada browser client). Pada saat pertama client(ip .107) mengakses halaman web server(ip .108) Hello. Kemudian Server membalas Hello, Certificate(server meminta sertifikat pada client untuk dapat membuka halaman tujuan client, disaat itu juga server mengirimkan public key miliknya ke client). Kemudian Client membalas dengan private key miliknya dengan menggunakan algoritma cipher client melakukan request lagi ke server. Kemudian server proses enkripsi dan menggunakan private key milik client saat melakukan komunikasi dengan client.

10.  Hasil tampilan browser ketika sertifikat di OK(secara tidak sadar terinstall pada browser kita)

Pengamatan pada wireshrak

Karena pada proses sebelumnya sertifikat telah terinstall pada browser maka disaat client mengakses halaman web server untuk yang kedua kali dan seterusnya maka halaman web akan langsung terbuka karena server telah menyimpan private key client dan client telah menyimpan public key server melalui sertifikat yang terinstall pada web browser.
Akan terjadi galat/ error lagi dalam mengakses halaman web server jika menggunakan browser lain atau sertifikat pada browser dihapus(di uninstall).


C.  TABEL PERBEDAAN FTP, SFTP, DAN FTPS

PERBEDAAN
FTP
SFTP
FTPS
Protokol yang dipakai
FTP
SSH
FTP secure(enkripsi SSL)
Port
21
22
21
Proses pertukaran data
Menggunakan command channel dan data channel
Menggunakan transformasi paket dengan format yang spesial melalui sebuah koneksi
Komunikasi dan pertukaran data melalui proses enkripsi dan dekripsi melalui SSL
Keamanan
Channel command dan channel data tidak dienkrip, data yang dikirim dapat dicegat atau dibaca
Semua data yang dikirim dari client ke server terencrypt menggunakan encryption cipher
FTPS Implicit SSL dan FTPS Explicit SSL
Firewall
Server mengijinkan koneksi masuk pada port 21 dan PASSIVE on-demand port antara 2000-2500.
Server mengijinkan koneksi masuk pada port 22
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
Client mengijinkan koneksi keluar pada port 22
Client mengijinkan koneksi keluar pada port 21 dan passive sama seperti server


D.  PERBEDAAN HTTP DAN HTTPS

1.    HTTP adalah dasar komunikasi data untuk World Wide Web (WWW). Setiap kali kita membuka website / halaman web kita akan menggunakan protokol ini. Sisi client meminta sisi server untuk membuka komunikasi pada port 80, port terbuka sisi server 80 dan di sisi client port acak terbuka.

Data paket yang dikirim menggunakan HTTP tidak terenkripsi, siapapun dapat melihat data dalam teks biasa seperti BadGuy lakukan. Itulah mengapa tidak menggunakan HTTP untuk perbankan atau transaksi di internet, dan juga itu tidak dianjurkan jika Anda membuka website halaman login yang menggunakan HTTP pada jaringan publik seperti area hotspot nirkabel.

2.    HTTPS adalah kombinasi dari Hyper Text Transfer Protocol dan Secure Socket Layer protokol (SSL) / Transport Layer Security (TLS) untuk menyediakan komunikasi terenkripsi antara web server dan klien. Protokol ini menggunakan port 443 untuk komunikasi.
Data paket dikirim menggunakan HTTPS dienkripsi, orang tidak dapat melihat data paket dalam jaringan publik. Selain itu pada https selalui memiliki sertifikat untuk dapat mengakses halaman web tersebut. Tanpa adanya sertifikat maka client tak akan dapat mengakses server. Itu sebabnya HTTPS biasanya digunakan untuk perbankan atau transaksi di internet, dan halaman juga login atau halaman lain perlu untuk mengenkripsi data

You Might Also Like

0 komentar: