Pada bagian dari Bab 6 ini, praktikan akan mempraktekan cara mensniffing protokol web server HTTPS Ubuntu Server menggunakan aplikasi Wireshark. Agar praktikum berjalan sesuai prosedur maka Asisten Mengajar Shift atau Praktikan dapat membaca tujuan dan persyaratan praktikum bab ini sebelum memulai ke bab teori dan bab praktek.

Teori

Ada beberapa penjelasan singkat dari materi Bab 6 ini yang harus dimengerti oleh praktikan sebelum melanjutkan ke subbab berikutnya.

Apa itu HTTPS?

HTTPS adalah singkatan dari Hypertext Transfer Protocol Secure. Ini adalah versi aman dari protokol HTTP yang digunakan untuk mentransfer data di World Wide Web (WWW). HTTPS menyediakan lapisan keamanan dengan menggunakan protokol Secure Sockets Layer (SSL) atau Transport Layer Security (TLS) untuk mengenkripsi data yang dikirim antara klien dan server.

Ketika kita mengakses situs web yang menggunakan HTTPS, klien (biasanya browser web) dan server berkomunikasi melalui koneksi yang aman, yang mengenkripsi data yang dikirimkan antara keduanya. Ini membuatnya lebih sulit bagi pihak yang tidak berwenang untuk menyadap atau memanipulasi informasi yang ditransfer antara klien dan server.

HTTPS digunakan secara luas untuk melindungi informasi sensitif seperti informasi login, detail kartu kredit, dan data pribadi lainnya yang ditransfer antara pengguna dan situs web. Karena keamanan tambahan yang disediakan oleh HTTPS, banyak situs web telah beralih dari HTTP ke HTTPS untuk melindungi privasi dan keamanan pengguna mereka.

Praktek

Ada beberapa poin penting yang harus semua ketahui sebelum ke subbab selanjutnya.

Kalau sudah tidak ada kendala, selanjutnya praktikum dapat memulai ke subab berikutnya.

Download File Certificates dan Key

Sebelum kita download file certificate fullchain dan private key untuk hotspot VM Mikrotik, kita login terlebih dahulu ke hotspot untuk kita bisa download file certificate fullchain dan private key.

Gambar Bab 6

Kita buka tab baru untuk membuka website url https://jkl.acsl.my.id/docs/images/bab-5/fullchain.pem pada web browser. ketika web browser sudah bisa mengaksesnya, maka akan muncul kata-kata random pada halaman web browser. lalu kita klik kanan pada halaman tadi dan klik Simpan sebagai.. kalau settingan web browser menggunakan bahasa indonesia. Untuk settingan web browsernya menggunakan bahasa inggris maka klik Save as...

Gambar Bab 6

Saat klik Simpan sebagai.. akan ada jendela file explorer muncul di depan web browser. Kita buat folder pada folder Desktop dan menamakannya ssl pada folder baru. setelah membuat folder ssl kita klik foldernya. Pada kolom File name: kita isi fullchain.pem dan kolom Save as type: kita pilih jenisnya Semua jenis File (*.*). Kalau sudah semuanya, kita klik tombol Open.

Gambar Bab 6

Kita buka tab baru lagi atau tab yang sama untuk membuka website url https://jkl.acsl.my.id/docs/images/bab-5/privkey.pem pada web browser. ketika web browser sudah bisa mengaksesnya, maka akan muncul kata-kata random pada halaman web browser seperti fullchain.pem. lalu kita klik kanan pada halaman tadi dan klik Simpan sebagai.. kalau settingan web browser menggunakan bahasa indonesia. Untuk settingan web browsernya menggunakan bahasa inggris maka klik Save as...

Gambar Bab 6

Saat klik Simpan sebagai.. akan ada jendela file explorer muncul di depan web browser. Kita klik folder Desktop dan klik folder yang bernama ssl yang tadi kita telah buat. Setelah masuk ke folder ssl, pada kolom File name: kita isi fullchain.pem dan kolom Save as type: kita pilih jenisnya Semua jenis File (*.*). Kalau sudah semuanya, kita klik tombol Open.

Gambar Bab 6

Kita check semua file yang sudah di download tadi. Klik icon file explorer pada taskbar VM Windows 10 dan kita buka folder Desktop dan buka folder ssl. Kalau kita sudah download semua file tadi maka di folder tersebut nanti ada file yang bernama fullchain.pem dan privkey.pem.

Gambar Bab 6


Pindah ke Winbox Mikrotik


Upload File Certificates dan Key ke Mikrotik

Sesudah kita check semua file certificates yang sudah di download dan lengkap. Kita stop service Packet Sniffer Mikrotik terlebih dahulu agar tidak memakan resource di sistemnya saat kita upload file certificates ke Mikrotik. Kita klik lagi icon Winbox yang masih terlogin. Pada jendela Packet Sniffer kita klik tombol stop untuk menghentikan service Packet Sniffer.

Gambar Bab 6

Untuk upload file certificate ke Mikrotik, klik menu konfigurasi Files, klik tab File, klik tombol Upload untuk menaruh file certificate ke sistem Mikrotik.

Gambar Bab 6

Kalau sudah klik tombol Upload maka akan ada jendela terbuka untuk memilih file certificate yang kita akan install pada service Hotspot. Carilah file certificate pada folder Desktop. Didalam folder Desktop ada folder lagi yang kita telah buat yaitu folder ssl dan di dalam foldernya ada file fullchain.pem dan privkey.pem. Klik dua file tersebut lalu klik tombol Open untuk menguploadnya.

Gambar Bab 6

Setelah berhasil terupload file certificate maka file yang berada file sistem VM Mikrotiknya ada file yang bernama fullchain.pem dan privkey.pem. Biasanya list file yang sudah terupload sesuai dengan huruf abjad awal nama file. Jadi kita cari file fullchain.pem dan privkey.pem dengan sortir menggunakan tanggal buat atau upload.

Gambar Bab 6

Install File Certificates dan Key ke Mikrotik

Berkas fullchain.pem adalah berkas yang berisi rangkaian lengkap dari sertifikat digital yang biasanya digunakan dalam konteks keamanan jaringan, terutama dalam implementasi SSL/TLS (Secure Sockets Layer/Transport Layer Security) untuk enkripsi lalu lintas web yang aman (HTTPS).

Berkas fullchain.pem biasanya terdiri dari dua bagian:

  1. Sertifikat Server: Bagian pertama berisi sertifikat digital untuk server kita. Ini adalah bagian yang sama seperti cert.pem atau server.crt, yang merupakan sertifikat digital yang diterbitkan oleh otoritas sertifikat dan menunjukkan identitas dan kunci publik dari server kita.

  2. Sertifikat CA (Certificate Authority): Bagian kedua berisi sertifikat CA yang berwenang untuk menerbitkan sertifikat server kita. Ini adalah sertifikat digital yang menunjukkan bahwa sertifikat server kita telah diterbitkan oleh CA yang sah. Biasanya, sertifikat CA ini merupakan bagian dari rantai kepercayaan yang luas dan diakui oleh peramban web modern.

Kombinasi dari kedua bagian ini, sertifikat server dan sertifikat CA, membentuk apa yang disebut “rantai lengkap” (full chain) dari sertifikat. Ini diperlukan dalam banyak kasus konfigurasi SSL/TLS untuk memastikan bahwa klien dapat memverifikasi sertifikat server dengan benar dan mengamankan koneksi dengan menggunakan enkripsi yang tepat. Misalnya, dalam konfigurasi HTTPS, server web akan menggunakan berkas fullchain.pem bersama dengan privkey.pem (kunci privat) untuk menjalankan enkripsi SSL/TLS dan menyediakan koneksi web yang aman.

Untuk penginstall atau pengimportan file fullchain.pem agar kita bisa menggunakannya kita bisa klik menu konfigurasi System, Klik submenunya yaitu Certificates, Klik tab Certificates, klik tombol Import untuk memulai setup import SSL ke sistem Mikrotik. Setelah jendela setup import SSL terbuka, klik kolom pertama yaitu Name kita ketik nama Hostpot, dan klik kolom kedua yaitu File Name untuk mencari file yang bernama fullchain.pem. klik tombol Import untuk menyelesaikan pengimportan SSL fullchain.pem.

Gambar Bab 6

Berkas privkey.pem adalah berkas kunci privat (private key) dalam format PEM (Privacy Enhanced Mail). Kunci privat ini biasanya digunakan dalam konteks keamanan jaringan, khususnya dalam kriptografi kunci publik seperti pada protokol SSL/TLS yang digunakan untuk enkripsi lalu lintas web yang aman (HTTPS).

Untuk penginstall atau pengimportan file privkey.pem agar kita bisa menggunakannya kita bisa klik menu konfigurasi System, Klik submenunya yaitu Certificates, Klik tab Certificates, klik tombol Import untuk memulai setup import SSL ke sistem Mikrotik. Setelah jendela setup import SSL terbuka, klik kolom pertama yaitu Name kita ketik nama Hostpot, dan klik kolom kedua yaitu File Name untuk mencari file yang bernama privkey.pem. klik tombol Import untuk menyelesaikan pengimportan SSL privkey.pem.

Gambar Bab 6

Kalau sudah mengimport SSL fullchain dan privkey maka certificate pada Mikrotik akan status T atau Trusted yang menunjukkan bahwa certificate tersebut diterima oleh sistem atau perangkat untuk autentikasi, sementara status K atau Private Key menunjukkan bahwa certificate tersebut disertai dengan kunci privat yang diperlukan untuk menggunakan certificate tersebut secara efektif dalam proses autentikasi atau enkripsi. Kombinasi dari keduanya penting untuk memastikan keamanan dan integritas komunikasi melalui jaringan yang dilindungi oleh certificate.

Gambar Bab 6

Setting SSL Services Mikrotik

Pada defaultnya service SSL di Mikrotik disable dikarenakan ia tidak ada file certificates dalam bawaan sistemnya. Oleh karena itu kita sudah membuatnya di dalam sistem Mikrotik maka kita akan menyalakannya dengan klik menu konfigurasi IP, Klik submenunya yaitu Services, Klik service name www-ssl dengan port 443 dan klik tombol yang ada centang warna biru.

Gambar Bab 6

Setelah menyalakan service www-ssl kita masukan file setting certificate yang telah diimport sebelumnya yaitu Hotspot. klik dua kali kolom service name www-ssl nanti ada jendela terbuka, kita klik kolom Certificates dan pilih Hotspot dan klik OK untuk menyelesaikan setting service SSL.

Gambar Bab 6

Setting HTTPS Login Hotspot

Saat service www-ssl sudah tersetting dengan benar, kita akan setting service hotspot memakai service www-ssl agar client hendak login maka data yang akan dikirim ke Hotspot Server tidak dapat dilihat oleh sembarang orang.

Langkah-langkah konfigurasi SSL hotspot di VM Mikrotik cukup mudah. Pertama kita klik menu konfigurasi IP, Klik submenunya yaitu Hotspot, Klik tab Servers Profiles, klik kolom konfigurasi yang kita sudah setting yaitu dibawah kolom default. Setelah jendela Hotspot Server Profile terbuka kita klik tab Login. Di bagian tab Login kita klik tombol checkbox HTTPS dan klik kolom pilihan SSL Certificates dan pilih Hotspot yang berfungsi agar Service Hotspot dapat memakai file certificate yang kita telah import. klik tombol OK untuk menyelesaikan.

Gambar Bab 6

Test HTTPS pada Halaman Hotspot

Setelah semua langkah-langkah diatas sudah kita lakukan, maka kita akan mencoba untuk menggunakan service hotspot menggunakan HTTPS dengan klik dua kali icon browser Chrome pada taskbar VM Windows 10 dan ketik alamat domain http://hotspot.acsl-2024.com pada alamat url web browser Chrome VM Windows 10 lalu tekan ENTER. klik tombol Log out untuk keluar session Hotspot.

Gambar Bab 6

Klik tombol Log in untuk masuk ke halaman log in seperti saat kita ingin mengakses internet melewati service Hotspot VM Mikrotik. Ini guna untuk mengetest ulang dari service HTTP menjadi service HTTPS.

Gambar Bab 6

Ketik alamat url domain Hotspot menggunakan service HTTPS yaitu https://hotspot.acsl-2024.com pada alamat url web browser Chrome VM Windows 10 lalu tekan ENTER. Setelah berhasil mengaksesnya maka halaman log in Hotspot Mikrotik akan muncul pada web browser. Klik icon setting pada kolom bar url web browser, ini tergantung pada User Interface web browser masing-masing, pada tutorial ini menggunakan web browser chrome. Kalau sudah muncul status setting web maka akan terdapat domain hotspot dengan koneksi aman.

Gambar Bab 6

Fitur “Koneksi Aman” pada Hotspot HTTPS MikroTik adalah opsi yang memungkinkan kita sebagai client untuk menggunakan enkripsi SSL/TLS (Secure Sockets Layer/Transport Layer Security) untuk menjaga keamanan koneksi antara perangkat (seperti laptop, smartphone, atau tablet) dan titik akses Internet (Hotspot MikroTik).

Ketika opsi “Koneksi Aman” diaktifkan, semua data yang ditransmisikan antara perangkat pengguna dan hotspot MikroTik akan dienkripsi menggunakan protokol SSL/TLS. Hal ini menyediakan lapisan keamanan tambahan yang mencegah pihak yang tidak sah dari mengakses atau memanipulasi data yang ditransmisikan, terutama di lingkungan jaringan nirkabel yang rawan terhadap serangan seperti sniffing atau pencurian data.

Gambar Bab 6

Test Login HTTPS Hotspot

Setelah kita mengecheck web login Hotspot telah aman, maka kita akan mencoba login menggunakan service hotspot HTTPS dengan username dan password yang terdapat pada database dari FreeRadius. Kita akan menggunakan salah satu akun yang telah kita buat pada bab sebelumnya, misal kita memakai username admin dan password 123. Dan masukan username admin dan password 123 pada kolom masing-masing halaman login hotspot Mikrotik setelah itu klik tombol Connect.

Gambar Bab 6

Kalau sudah login maka halaman Hotspot akan redirect ke halaman status user admin. Dan kita bisa melihatnya pada halaman tersebut terdapat status IP Address, Byte Up/Down, Connected, Status Refresh. Dengan mengaktifkan fitur “Koneksi Aman” pada Hotspot HTTPS MikroTik, pengguna dapat merasa lebih aman saat terhubung ke jaringan WiFi publik atau pribadi, sementara administrator jaringan dapat memastikan bahwa data penggunaan internet mereka terlindungi dengan baik. Ini merupakan langkah yang penting dalam meningkatkan keamanan jaringan dan melindungi privasi pengguna.

Gambar Bab 6


Pindah ke VM Ubuntu Proxy


Download File Certificates dan Key

Seperti sebelumnya kita download file certificate fullchain dan private key untuk website Wordpress dan Roundcube mail. Kita login terlebih dahulu ke jendela VM Ubuntu Proxy untuk kita install aplikasi SSH agar bisa copy dan paste command saat download file certificate fullchain dan private key.

Login ke Ubuntu Server Proxy dengan memasukan username jkl dan passwordnya jkl. Untuk password ia tidak kelihatan karakternya ketika diketik karna alasan keamanan maka berhati-hatilah untuk memasukan passwordnya.

Gambar Bab 6

Sebelum mengedit atau mengkonfigurasi ke dalam ubuntu sebaiknya mengakses server memakai user root agar tidak ada masalah permission saat menginstall openssh-server dan mengedit config di dalamnya. Kita ketik perintah sudo -i untuk masuk ke user tersebut.

Gambar Bab 6

Sebelum kita install openssh-server, kita harus check koneksi internet pada Ubuntu Server. apabila terjadi request timeout maka kesalahan terjadi pada konfigurasi netplan.

Saat menginstall aplikasi, Ubuntu Server membutuhkan repository updating agar ia dapat meminta file installer yang kita butuhkan dengan version yang baru. Dengan cara ketik perintah apt update pada terminal ubuntu.

Lalu kita meng-install package openssh-server pada Ubuntu Proxy. OpenSSH merupakan implementasi perangkat lunak bebas dan open-source dari protokol SSH (Secure Shell) yang umum digunakan untuk mengelola jaringan secara aman. OpenSSH menyediakan layanan jaringan kriptografi untuk mengamankan koneksi antara dua komputer, memungkinkan akses jarak jauh yang aman, transfer file, dan eksekusi perintah pada mesin jarak jauh. Selain itu juga kita bisa copy dan paste command ke VM Ubuntu Proxy. Kita dapat mengetik perintah apt install openssh-server pada teminal ubuntu dan ketik ENTER.

Untuk melakukan remote ke Ubuntu Proxy maka kita klik icon dua komputer dengan petir ditengah pada taskbar VM Windows 10 yang bernama aplikasi Putty. Setelah terbuka jendela aplikasi Putty, kita klik kolom Host Name or IP Address dan isi dengan IP Address yang digunakan oleh VM Ubuntu Proxy. Pada tutorial ini VM Ubuntu Proxy menggunakan IP Address 192.168.10.125. Isi juga kolom Port dengan angka 22 yang berarti port default SSH. Klik tombol radio Conection type dengan tombol SSH setelah itu klik OK untuk menghubungkan remote SSH ke VM Ubuntu Proxy.

Gambar Bab 6

Saat mau remote SSH ke VM Ubuntu Proxy nanti akan muncul halaman atau jendela peringatan putty. Ini dikarenakan kunci SSH tidak disimpan pada VM Windows 10 maka akan terjadi handshake fingerprint pertama kali pada SSH. Jadi kita pilih tombol Connect Once untuk tidak menyimpan kunci SSH pada VM Windows 10 untuk selamanya.

Gambar Bab 6

Login ke Ubuntu Server Proxy dengan memasukan username jkl dan passwordnya jkl. Untuk password ia tidak kelihatan karakternya ketika diketik karna alasan keamanan sama seperti di jendela VM virtualbox maka berhati-hatilah untuk memasukan passwordnya. Sebelum mengedit atau mengkonfigurasi ke dalam ubuntu sebaiknya mengakses server memakai user root agar tidak ada masalah permission saat mengedit konfigurasi di dalamnya. Kita ketik perintah sudo -i untuk masuk ke user tersebut dan masukanlah password jkl.

Gambar Bab 6

Download file certificates fullchain.pem dan privkey.pem memakai perintah wget pada website dokumentasi ini yaitu dengan url https://jkl.acsl.my.id dan taruh file yang telah didownload pada folder direktori /etc/apache2/sites-available/ssl/. Kita bisa mengcopy command seperti pada tabs Config dan paste ke terminal SSH Ubuntu Proxy dan tekan ENTER.

Buat Config HTTPS Proxy Wordpress dan Roundcube

Kita edit file proxy.acsl-2024.com.conf yang dimana untuk reverse proxy website Wordpress dengan copy perintah pada tabs Config nano /etc/apache2/sites-available/proxy.acsl-2024.com.conf lalu paste ke terminal SSH dan tekan ENTER.

Lalu kita tambahkan variable RewriteEngine, RewriteCond, dan RewriteRule pada file proxy.acsl-2024.com.conf. Kita bisa copy perintah pada tabs Config dan paste pada terminal SSH. Perintah yang kita akan gunakan adalah aturan mod_rewrite untuk server web Apache Reverse Proxy. Aturan ini digunakan untuk mengalihkan lalu lintas dari HTTP ke HTTPS. Mari kita bahas secara lebih rinci:

  1. RewriteEngine On: Ini adalah perintah yang mengaktifkan mod_rewrite di server Apache. Mod_rewrite adalah modul yang memungkinkan untuk memanipulasi URL yang masuk dengan menggunakan aturan tertentu.

  2. RewriteCond %{HTTPS} off: Ini adalah kondisi yang memeriksa apakah koneksi saat ini menggunakan protokol HTTP. Jadi, aturan ini hanya akan diterapkan jika koneksi saat ini tidak menggunakan HTTPS.

  3. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]: Ini adalah aturan pemetaan (mapping rule) yang mengarahkan semua permintaan yang masuk ke server untuk menggunakan HTTPS. Di sini:

    • ^(.*)$ adalah pola yang cocok dengan seluruh URL yang diminta.
    • https://%{HTTP_HOST}%{REQUEST_URI} adalah target pengalihan, di mana %{HTTP_HOST} akan diganti dengan hostname dari permintaan yang masuk, dan %{REQUEST_URI} akan diganti dengan bagian jalur (path) dari permintaan yang masuk.
    • [L,R=301] adalah opsi untuk aturan RewriteRule:
      • L berarti ini adalah aturan terakhir yang akan dievaluasi jika aturan ini cocok.
      • R=301 berarti mengalihkan secara permanen (HTTP 301 Redirect). Ini akan memberi tahu browser bahwa sumber daya telah pindah secara permanen ke lokasi baru, yaitu versi HTTPS dari URL yang diminta.

Jadi, secara keseluruhan, aturan ini akan mengalihkan semua permintaan HTTP ke HTTPS secara permanen, memastikan bahwa lalu lintas yang dilewatkan ke server web dienkripsi menggunakan SSL/TLS. Lalu save konfigurasi dengan cara tekan CTRL+X , Y lalu tekan ENTER.

Setelah kita buat redirect permanent untuk bagian virtualhost HTTP. Sekarang kita akan membuatnya virtualhost HTTPS persis seperti konfigurasi virtualhost HTTP akan tetapi berbeda saat kita menambahkan variable SSLCertificatesFile dan SSLCertificatesKeyFile isi variable tersebut dengan folder direktori yang kita telah download menggunakan wget. Konfigurasi guna untuk website Wordpress menggunakan service HTTPS yang dimana koneksi antara Website dan Client akan dienskripsi. Kita bisa copy perintah pada tabs Config dan paste pada terminal SSH lalu save konfigurasi dengan cara tekan CTRL+X , Y lalu tekan ENTER.

Kita edit file proxy_mail.acsl-2024.com.conf yang dimana untuk reverse proxy website Roundcube mail dengan copy perintah pada tabs Config nano /etc/apache2/sites-available/proxy_mail.acsl-2024.com.conf lalu paste ke terminal SSH dan tekan ENTER.

Lalu kita tambahkan variable RewriteEngine, RewriteCond, dan RewriteRule pada file proxy.acsl-2024.com.conf. Kita bisa copy perintah pada tabs Config dan paste pada terminal SSH. Perintah yang kita akan gunakan adalah aturan mod_rewrite untuk server web Apache Reverse Proxy. Aturan ini digunakan untuk mengalihkan lalu lintas dari HTTP ke HTTPS. Lalu save konfigurasi dengan cara tekan CTRL+X , Y lalu tekan ENTER.

Setelah kita buat redirect permanent untuk bagian virtualhost HTTP. Sekarang kita akan membuatnya virtualhost HTTPS persis seperti konfigurasi virtualhost HTTP akan tetapi berbeda saat kita menambahkan variable SSLCertificatesFile dan SSLCertificatesKeyFile isi variable tersebut dengan folder direktori yang kita telah download menggunakan wget. Konfigurasi guna untuk website Roundcube mail menggunakan service HTTPS yang dimana koneksi antara Website dan Client akan dienskripsi. Kita bisa copy perintah pada tabs Config dan paste pada terminal SSH lalu save konfigurasi dengan cara tekan CTRL+X , Y lalu tekan ENTER.

Enable Rewrite dan SSL Module Apache2

Sesudah kita konfigurasi apache reverse proxy menggunakan service HTTPS. Maka kita harus menyalakan modul-modul apache proxy seperti modul rewrite, dan modul ssl agar konfigurasi proxy reverse dapat berkerja dengan lancar menggunakan SSL.

Modul rewrite dan modul ssl pada Apache2 di Ubuntu adalah komponen tambahan yang dapat diaktifkan pada server web Apache2 untuk menyediakan fitur tambahan dan meningkatkan keamanan serta fleksibilitas server web.

  1. Module Rewrite: Modul Rewrite, atau mod_rewrite, adalah modul Apache yang memungkinkan kita untuk memanipulasi URL yang masuk dan keluar dari server web. Dengan menggunakan aturan Rewrite, kita dapat mengubah URL secara dinamis, mengalihkan permintaan, dan melakukan berbagai manipulasi lainnya pada URL.

  2. Module SSL: Modul SSL, atau mod_ssl, adalah modul Apache yang menyediakan dukungan untuk enkripsi SSL/TLS. Ini memungkinkan koneksi web aman melalui protokol HTTPS dengan mengenkripsi data yang ditransfer antara server dan client.

Untuk menyalakan modul apache2 ketik perintah a2enmod rewrite dan a2enmod ssl pada masing-masing perintah. Atau bisa copy perintah pada tabs Config dan paste pada terminal SSH lalu tekan ENTER.

Restart Service Apache2

Setelah men-enable modul-modul konfigurasi website proxy reverse lalu kita restart service apache2 untuk menyegarkan config-config yang telah kita edit sebelumnya.


Pindah ke VM Ubuntu DNS dan Web


Buat script PHP HTTPS Forwarded di Wordpress

Pada website worpress akan terdapat masalah pada reverse proxy yang berservice HTTPS. Masalahnya terdapat pada request header asset wordpress yang tidak dapat dikirim oleh file eksekusi PHP. Jadi kita harus mengedit HTTP FORWARDER pada file wp-config.php. Untuk melakukan remote ke Ubuntu DNS dan Web maka kita klik kanan pada icon dua komputer dengan petir ditengah di taskbar VM Windows 10 yang bernama aplikasi Putty.

Gambar Bab 6

Setelah terbuka jendela aplikasi Putty, kita klik kolom Host Name or IP Address dan isi dengan IP Address yang digunakan oleh VM Ubuntu DNS dan Web. Pada tutorial ini VM Ubuntu DNS dan Web menggunakan IP Address 192.168.10.123 atau 192.168.10.124. Isi juga kolom Port dengan angka 22 yang berarti port default SSH. Klik tombol radio Conection type dengan tombol SSH setelah itu klik OK untuk menghubungkan remote SSH ke VM Ubuntu DNS dan Web.

Gambar Bab 6

Saat mau remote SSH ke VM Ubuntu DNS dan Web nanti akan muncul halaman atau jendela peringatan putty. Ini dikarenakan kunci SSH tidak disimpan pada VM Windows 10 maka akan terjadi handshake fingerprint pertama kali pada SSH. Jadi kita pilih tombol Connect Once untuk tidak menyimpan kunci SSH pada VM Windows 10 untuk selamanya.

Gambar Bab 6

Login ke Ubuntu Server DNS dan Web dengan memasukan username jkl dan passwordnya jkl. Untuk password ia tidak kelihatan karakternya ketika diketik karna alasan keamanan sama seperti di jendela VM virtualbox maka berhati-hatilah untuk memasukan passwordnya. Sebelum mengedit atau mengkonfigurasi ke dalam ubuntu sebaiknya mengakses server memakai user root agar tidak ada masalah permission saat mengedit konfigurasi di dalamnya. Kita ketik perintah sudo -i untuk masuk ke user tersebut dan masukanlah password jkl.

Gambar Bab 6

Lalu kita buka file wp-config.php yang kita telah buat sebelumnya pada bab 2 dengan perintah nano /var/www/wp-config.php. Atau bisa copy perintah pada tabs Config dan paste pada terminal SSH lalu tekan ENTER

Untuk membenarkan hal tadi kita membutuhkan kode php HTTP FORWARDER. Kode yang kita tambahkan dalam wp-config.php adalah untuk menangani kasus ketika WordPress dijalankan di balik proxy atau load balancer yang meneruskan informasi seperti host (HTTP_X_FORWARDED_HOST) dan alamat IP pengguna (HTTP_X_FORWARDED_FOR). Mari kita bahas apa yang dilakukan oleh kode tersebut:

  1. Pengecekan X-Forwarded Headers: Kode tersebut menggunakan kondisi yang menggunakan $_SERVER['HTTP_X_FORWARDED_HOST'] dan $_SERVER['HTTP_X_FORWARDED_FOR'] untuk memeriksa apakah ada header X-Forwarded yang diteruskan oleh proxy atau load balancer.

  2. Mengatur HTTPS: Jika ada salah satu header X-Forwarded yang ada, kode tersebut mengatur $_SERVER['HTTPS'] menjadi ‘on’. Ini dilakukan untuk menandakan kepada WordPress bahwa koneksi dari pengguna ke proxy atau load balancer telah menggunakan HTTPS, meskipun koneksi antara proxy atau load balancer ke server web mungkin menggunakan HTTP biasa.

Dengan mengatur $_SERVER['HTTPS'] menjadi ‘on’, WordPress akan menganggap bahwa koneksi antara pengguna dan proxy/load balancer telah menggunakan HTTPS, dan ini dapat memengaruhi pengaturan dan perilaku WordPress yang bergantung pada protokol yang digunakan. Misalnya, WordPress dapat menghasilkan URL-URL absolut yang menggunakan HTTPS atau melakukan tindakan tambahan yang berhubungan dengan koneksi HTTPS. Kita bisa copy perintah pada tabs Config dan paste pada terminal SSH lalu save konfigurasi dengan cara tekan CTRL+X , Y lalu tekan ENTER.

Ubah Mode dan Hak Akses Folder Wordpress

Ketik perintah chown -R www-data:www-data /var/www/, atau copy perintah pada tabs Config dan paste pada terminal SSH lalu tekan ENTER.

Setelah kita mengedit HTTP FORWARDER untuk wp-config selanjutnya adalah mengubah kepemilikan folder Wordpress. Perintah chown -R www-data:www-data /var/www/ digunakan untuk mengubah kepemilikan (ownership) dan grup kepemilikan (group ownership) dari semua file dan direktori di dalam direktori /var/www/ menjadi www-data:www-data.

www-data:www-data adalah parameter yang menentukan pemilik (user) dan grup pemilik (group) yang akan diberikan kepemilikan. Dalam kasus ini, www-data adalah nama pengguna (user) dan nama grup (group) yang biasanya digunakan oleh server web Apache di banyak distribusi Linux. Memberikan kepemilikan kepada www-data:www-data umumnya digunakan agar server web dapat mengakses dan mengelola file-file yang ada di dalam direktori tersebut seperti menginstall plugin dan menaruh gambar-gambar untuk web Wordpress.

Ketik perintah chmod -R 755 /var/www/, atau copy perintah pada tabs Config dan paste pada terminal SSH lalu tekan ENTER.

Perintah chmod -R 755 /var/www/ digunakan untuk mengatur izin (permissions) pada semua file dan direktori di dalam direktori /var/www/ dan seluruh subdirektori secara rekursif. perintah ini berfungsi untuk memberikan izin kepada pemilik untuk membaca, menulis, dan menjalankan file/direktori, sementara grup pengguna dan pengguna lain hanya diberikan izin untuk membaca dan menjalankan file/direktori. Ini merupakan pengaturan izin yang umum digunakan untuk direktori yang berisi file-file situs web, di mana pemilik (www-data) memiliki kontrol penuh sementara grup pengguna dan pengguna lain hanya memiliki izin untuk membaca dan menjalankan file-file tersebut.

Edit URL Address Wordpress

Saat kita mencoba login ke halaman dashboard Wordpress maka kita akan tetap mengakses menggunakan service HTTP dan domain url menggunakan IP Address. maka kita harus mengubahnya menggunakan domain yang kita telah konfigurasi pada Ubuntu DNS dan Web yaitu acsl-2024.com.

Untuk mengubahnya masuk ke halaman login wordpress dengan cara kita buka browser di VM Windows 10 kita. Lalu kita ketik url domain menggunakan IP Address Wordpress. Pada tutorial ini menggunakan IP Address 192.168.10.123. Tambahkan url depan IP Address yaitu wp-admin untuk masuk ke halaman login dashboard Wordpress. Login menggunakan akun dengan username dan password acsl dan klik tombol untuk masuk ke halaman dashboard Wordpress.

Gambar Bab 6

Setelah terbuka dashboard Wordpress maka kita bisa melihat beberapa icon pada sebelah kiri halaman dashboard. Kita klik dibawah icon yang bergambar kunci ring atau icon bertulisan Settings. Dan pilihlah submenu Settings yang bernama General.

Gambar Bab 6

Klik kolom yang bernama WordPress Address yang berguna untuk membuat domain tetap saat login ke dashboard Wordpress. Kita isi dengan domain kita dan menambahkan protokol HTTPS di belakangnya seperti https://acsl-2024.com. Dan untuk kolom Site Address kita sama isinya seperti WordPress Address yaitu https://acsl-2024.com juga.

Gambar Bab 6

Kalau sudah mengisi kolom WordPress Address dan Site Address, scroll halaman settings general ke paling bawah. Klik tombol Save Changes untuk menyimpan settingan Wordpress domain site yang kita telah edit tadi.

Gambar Bab 6

Test Login HTTPS Wordpress

Buka halaman Site Address yang kita telah ubah tadi yaitu https://acsl-2024.com pada browser yang sama dengan mengetik di url bar https://acsl-2024.com tanpa url tambahan dibelakangnya. Nanti kita akan di redirect ke halaman Wordpress menggunakan service HTTPS dari reverse proxy.

Gambar Bab 6

Setelah kita mengecheck web login Wordpress telah aman, maka kita akan mencoba login menggunakan service HTTPS. Klik pada url bar lagi dan ketik https://acsl-2024.com dan tambahkan url depan domain Wordpress yaitu wp-admin. Masukanlah username admin dan password acsl pada kolom masing-masing halaman login Wordpress setelah itu klik tombol Login.

Gambar Bab 6

Kalau sudah berhasil masuk ke dashboard Wordpress dengan fitur “Koneksi Aman” diaktifkan, maka semua data yang ditransmisikan antara perangkat pengguna dan web reverse proxy Wordpress akan dienkripsi menggunakan protokol SSL/TLS. Hal ini menyediakan lapisan keamanan tambahan yang mencegah pihak yang tidak sah seperti sniffing atau pencurian data.

Gambar Bab 6


Pindah ke Winbox Mikrotik


Setting Sniffer Protokol HTTPS

Langkah selanjutnya adalah kita ingin mentest protokol HTTPS apakah ia benar-benar aman untuk jalur koneksi jaringan dari Server dan Client? maka kita melakukan collecting dan analysis jaringan menggunakan aplikasi Wireshark.

Untuk mengkonfigurasi Sniffing untuk Wireshark pada Mikrotik yaitu klik menu konfigurasi Tools, Klik submenunya Packet Sniffer, klik tab Filter, Isikan kolom Port dengan angka 443 yang berarti port default HTTPS. Setelah itu kita klik tombol Apply untuk menyimpan konfigurasi dan klik tombol Start untuk memulai Sniffing jaringan pada VM Mikrotik.

Gambar Bab 6

Nyalakan Aplikasi Wireshark

Saat VM Mikrotik mengaktifkan mode sniffing untuk Wireshark. Maka kita buka aplikasi Wireshark pada menu desktop VM Windows 10 yang bericon sirip hiu biru dengan klik dua kali.

Gambar Bab 6

Pada jendela aplikasi maka akan terdapat list adapter seperti Ethernet. Kita klik saja list adapter ethernet. Apabila terdapat error maka aplikasi Wireshark tidak terinstall dengan baik atau salah setting adapter pada VM Windows 10. Pada aplikasi aslinya bukan dari VM, nanti pilihlah adapter yang digunakan untuk sniffing ke tujuan target.

Gambar Bab 6

Kalau sudah terbuka sniffing untuk adapter ethernet maka klik kolom pencarian di bawah menu item. Ketik dengan kata http.request.method == "GET" yang berfungsi untuk melihat hanya paket-paket yang memiliki metode permintaan GET dalam protokol HTTP. Ini sangat berguna untuk menganalisis lalu lintas HTTP dan memahami bagaimana klien berinteraksi dengan server web, terutama ketika kita ingin fokus pada permintaan GET khusus.

Gambar Bab 6

Test Login HTTPS Email untuk Memancing Sniffing

Kita kembali ke web browser yang masih terbuka, lalu tambahkan tab browser dan ketik domain url website Roundcube mail yaitu https://mail.acsl-2024.com dan jangan lupa gunakan protokol HTTPS di awalannya. Setelah berhasil mengaksesnya maka halaman log in Roundcube mail akan muncul pada web browser.

Klik icon setting pada kolom bar url web browser, ini tergantung pada User Interface web browser masing-masing, pada tutorial ini menggunakan web browser chrome. Kalau sudah muncul status setting web maka akan terdapat domain hotspot dengan koneksi aman.

Kita akan menggunakan salah satu akun yang telah kita buat pada bab sebelumnya, misal kita memakai username admin dan password 123. Dan masukan username admin dan password 123 pada kolom masing-masing halaman login Roundcube mail setelah itu klik tombol Masuk.

Gambar Bab 6

Mencari Packet Sniffer

Kita kembali lagi ke aplikasi Wireshark yang masih terbuka untuk scanning. Maka pada tampilan hasil koleksi sniffing tidak ada sama sekali atau satu dua packet yang masih tertangkap. Kita klik pada list pertama apabila Wireshark dapat sniffing beberapa data dari website Roundcube walaupun hanya satu packet maka di dalamnya. Dan di data tersebut tidak ada satupun yang berharga untuk dicuri. Sampai sini website Roundcube mail sudah memakai protokol HTTPS untuk komunikasi dari Client ke Server.

Gambar Bab 6

Klik icon kotak merah diatas kolom pencarian yang berfungsi untuk berhenti sniffing agar tidak memakan resource VM Windows 10. klik kolom pencarian di bawah menu item. Ketik dengan kata http.request.method == "POST" yang berfungsi untuk menganalisis lalu lintas HTTP yang terutama terdiri dari permintaan POST, yang biasanya digunakan untuk mengirim data yang lebih besar atau sensitif ke server web, seperti data formulir atau permintaan untuk membuat atau memperbarui sumber daya.

Apabila tampilan hasil koleksi sniffing tidak ada sama sekali dari packet yang dapat disniffing oleh Wireshark. Maka website Roundcube mail sudah memakai protokol HTTPS secara menyeluruh untuk komunikasi yang bersifat rahasia seperti data akun email dari Server ke Client.

Gambar Bab 6

Kata kunci untuk pencarian tadi adalah metode lewat protokol HTTP. Dan tidak satupun data yang tersniffing yang berarti website Roundcube mail sudah memakai protokol HTTPS secara menyeluruh untuk komunikasi Server dan Client.

Hal ini kita akan mencarinya dengan protokol HTTPS dengan klik kolom pencarian di bawah menu item. Ketik dengan kata tls yang berfungsi untuk mencari protokol HTTPS. Maka disana banyak sekali data yang tersniffing oleh Wireshark. Pilihlah pada baris destination yang paling terakhir dengan IP Address ke VM Ubuntu Proxy yang nama di tutorial ini menggunakan 192.168.10.125.

Gambar Bab 6

Kalau sudah menemukannya maka kita klik kanan pada list tersebut. Dan pada menu pilihan klik kanan kita pilih Follow. Setelah itu kita pilih lagi TCP Stream di dalam menu Follow. Ini berguna untuk mencari data yang kita akan ambil atau mencuri.

Gambar Bab 6

Hasil

Alhasil di dalam data tersebut terlihat kata-kata yang sangat berantakan sekali. Dan manusia tidak dapat membacanya secara jelas. Ini merupakan enkripsi SSL yang memproteksi komunikasi antar Server dan Client agar tidak dicuri oleh pihak yang tidak bertanggung jawab dan juga memastikan bahwa data penggunaan internet mereka terlindungi dengan baik. Ini merupakan langkah yang penting dalam meningkatkan keamanan jaringan dan melindungi privasi pengguna.

Gambar Bab 6

Kita tutup aplikasi Wireshark dengan klik silang pada pojok kanan atas jendela aplikasi Wireshark. Dan muncul peringatan untuk menyimpannya atau tidak. Karena data yang kita dapatkan adalah nihil untuk dibaca maka kita klik Quit without Saving.

Gambar Bab 6

Jangan lupa untuk stop service Packet Sniffer Mikrotik agar tidak memakan resource di sistem VM Mikrotik. Kita klik lagi icon Winbox yang masih terlogin. Pada jendela Packet Sniffer kita klik tombol stop untuk menghentikan service Packet Sniffer.

Gambar Bab 6

Was this page helpful?