Pada bagian dari Bab 4 ini, praktikan akan mempraktekan cara membuat Reverse Proxy menggunakan aplikasi Apache2 di Ubuntu Server. 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.

Tujuan

Tujuan Praktikum Penjelasan
Memahami cara kerja proxy server Bab ini menjelaskan bagaimana proxy server bekerja, termasuk jenis-jenis proxy server, manfaat menggunakan proxy server, dan cara kerjanya.
Membuat transparent proxy dengan aplikasi Squid dan reverse proxy dengan aplikasi Apache2 di Ubuntu Server Bab ini memandu praktikan langkah demi langkah untuk menginstal, mengkonfigurasi, dan mengelola transparent proxy dengan Squid dan reverse proxy dengan Apache2 di Ubuntu Server.
Meningkatkan pengetahuan dan keterampilan teknis jaringan Bab ini membantu praktikan mempelajari cara kerja Squid, Apache2, dan Ubuntu Server, yang merupakan keterampilan yang bermanfaat bagi administrator jaringan, system administrator, dan pengguna Linux.

Persyaratan

Disarankan praktikan menggunakan hardware dan software sesuai pada dokumentasi ini. Apabila terdapat versi yang lumayan lampau dari versi yang direcommendasikan atau hardware yang lawas maka sebaiknya bertanya kepada Asisten Mengajar Shift.

Hardware yang dibutuhkan praktikum Jenis
PC / Laptop CPU ≥ 4 Cores
PC / Laptop RAM ≥ 8 GB
PC / Laptop Storage ≥ 10 GB
Software yang dibutuhkan praktikum Jenis
Windows OS ≥ Versi 11
VirtualBox ≥ Versi 7.0.14
Ubuntu Server VM ≥ Versi 23.10
Internet Stabil ≥ 10 Mbps

Teori

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

Apa itu Reverse Proxy?

Reverse proxy adalah server proxy yang bertindak sebagai perantara antara klien dan server di belakangnya. Ketika klien mengirim permintaan ke server, permintaan tersebut diterima oleh reverse proxy, yang kemudian meneruskannya ke server yang sesuai. Setelah server memproses permintaan, responsnya dikirim kembali melalui reverse proxy kepada klien.

Fungsi utama dari reverse proxy adalah untuk menyediakan akses ke server di belakangnya secara tersembunyi dari klien, sehingga server internal tidak terpapar langsung ke internet. Ini memberikan lapisan keamanan tambahan dengan menyembunyikan struktur jaringan internal dari serangan langsung.

Selain itu, reverse proxy juga dapat digunakan untuk:

  1. Penyeimbangan Beban (Load Balancing): Reverse proxy dapat mendistribusikan lalu lintas masuk ke berbagai server di belakangnya berdasarkan algoritma tertentu, seperti round-robin atau berdasarkan beban kerja. Ini membantu dalam meningkatkan kinerja dan kekitalan layanan dengan menghindari overloading pada satu server tunggal.

  2. Caching: Reverse proxy dapat menyimpan salinan dari sumber daya yang diminta oleh klien dalam cache. Ketika klien mengakses kembali sumber daya yang sama, reverse proxy dapat mengirimkannya langsung dari cache tanpa perlu mengakses server di belakangnya. Ini membantu dalam meningkatkan kinerja dan mengurangi beban pada server backend.

  3. SSL Termination: Reverse proxy dapat menangani SSL/TLS handshake dengan klien dan kemudian meneruskan lalu lintas dalam bentuk terenkripsi ke server backend. Ini mengurangi beban pada server backend dan memungkinkan untuk mengelola sertifikat SSL secara sentral di reverse proxy.

  4. Pengalihan Lalu Lintas: Reverse proxy dapat melakukan pengalihan lalu lintas berdasarkan aturan tertentu, seperti mempercepat akses ke konten statis atau membatasi akses ke sumber daya tertentu.

Reverse proxy merupakan komponen penting dalam arsitektur jaringan yang kompleks, seperti aplikasi web berbasis mikro, infrastruktur cloud, dan layanan web tingkat perusahaan.

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.


Pindah ke VM Ubuntu DNS dan Web


Edit Domain di NS Bind9

Nyalakan VM Ubuntu DNS dan Web yang telah diimport pada bab 1 dengan cara klik VM Ubuntu bab 4 dan klik tombol start untuk memulainya.

Gambar Bab 4

Setelah Ubuntu DNS dan Web booting lalu login pada Ubuntu Server DNS dan Web dengan memasukan username jkl dan passwordnya jkl.

Gambar Bab 4

Sebelum menginstall aplikasi-aplikasi ke dalam ubuntu sebaiknya mengakses server memakai user root agar tidak ada masalah permission saat menginstall. Kita ketik perintah sudo -i untuk masuk ke user tersebut.

Gambar Bab 4

Lalu mengkonfigurasi file db.domain, ketikkan nano /etc/bind/db.domain, lalu save konfigurasi dengan cara tekan CTRL+X , Y lalu tekan ENTER.

Sebelumnya IP Address Webserver yaitu 192.168.10.123 dan mail.acsl-2024.com merupakan sub domain untuk Mail Server dengan IP yang mengarah dengan IP Webserver yang berbeda yaitu 192.168.10.124. Sekarang kita edit untuk IP Address domain Mail Server mail.acsl-2024.com dan IP Address domain Webserver acsl-2024.com menjadi satu ip address yaitu IP address pada VM Ubuntu Proxy yaitu 192.168.10.125.

Edit Config di PTR Domain Bind9

Lalu konfigurasi db.refacsl ketikkan nano /etc/bind/db.refacsl , lalu save konfigurasi dengan cara tekan CTRL+X , Y lalu tekan ENTER.

Edit pada bagian domain PTR yang dimana itu kebalikannya dari DNS, yaitu dari domain ke IP Address. Pada konfigurasi sebelumnya adalah angka 123 untuk IP Address oktal terakhir Webserver sedangkan angka 124 untuk IP Address Mail Server lalu diubah menjadi IP Address oktal terakhir pada Ubuntu Proxy yaitu 125 untuk kedua services Aplikasi.

Restart Services Bind9

Lalu restart Bind9 apakah konfigurasi telah berhasil atau tidak, Ketikkan perintah systemctl restart bind9.service Jika berhasil, maka akan seperti pada gambar dibawah ini.

Ketik perintah systemctl status bind9.service untuk melihat apakah ada error pada konfigurasi sebelumnya.

Test DNS yang Sudah Dikonfigurasi

Uji coba konfigurasi DNS menggunakan tools nslookup. Ketikkan perintah nslookup acsl-2024.com dan nslookup mail.acsl-2024.com. Hasil dari jawaban aplikasi bind9 akan berubah menjadi IP Address Ubuntu Proxy yaitu 192.168.10.125 untuk Mail Server dan Webserver.


Pindah ke VM Ubuntu Proxy


Install Aplikasi Apache2

Lalu kita meng-install aplikasi apache2 pada Ubuntu Server. Apache2 disini sebagai tempat web Reverse Proxy. Kita dapat mengetik perintah apt install apache2 pada terminal Ubuntu DNS dan Web lalu tekan ENTER. Nanti ada peringatan ingin melanjutkan penginstallan apache2 maka kita ketik y dan tekan ENTER.

Enable Proxy Module Apache2

Sebelum kita konfigurasi apache reverse proxy, maka kita harus menyalakan modul-modul apache proxy seperti modul proxy, proxy_http, proxy_balancer agar konfigurasi proxy dapat berkerja dengan lancar. Untuk menyalakan modul apache2 ketik perintah a2enmod proxy, a2enmod proxy_http, dan a2enmod proxy_balancer pada masing-masing perintah.

Buat Config Proxy Wordpress dan Roundcube

Copy file template yang ada pada apache2 yaitu 000-default.conf di-rename sebagai proxy_acsl-2024.com.conf dengan mengetik perintah cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/acsl-2024.com.conf lalu tekan ENTER.

Perintah selanjutnya copy dan rename file menjadi proxy_mail.acsl-2024.com.conf dengan mengetik perintah cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/acsl-2024.com.conf lalu tekan ENTER.

Kita edit file proxy.acsl-2024.com.conf dengan ketik perintah nano /etc/apache2/sites-available/proxy.acsl-2024.com.conf lalu tekan ENTER.

Lalu kita edit variable Servername, DocumentRoot, ProxyPass, dan ProxyPassReverse pada file proxy.acsl-2024.com.conf. Lalu jangan lupa untuk merubah IP Address tujuan pada ProxyPass dan ProxyPassReverse dengan IP Address Ubuntu Proxy yang telah dikonfigurasi sebelumnya pada tutorial ini menggunakan IP Address 192.168.10.125. lalu save konfigurasi dengan cara tekan CTRL+X , Y lalu tekan ENTER.

Kita edit file proxy_mail.acsl-2024.com.conf dengan ketik perintah nano /etc/apache2/sites-available/proxy_mail.acsl-2024.com.conf lalu tekan ENTER.

Lalu kita edit variable Servername, DocumentRoot, ProxyPass, dan ProxyPassReverse pada file proxy_mail.acsl-2024.com.conf. Lalu jangan lupa untuk merubah IP Address tujuan pada ProxyPass dan ProxyPassReverse dengan IP Address Ubuntu Proxy yang telah dikonfigurasi sebelumnya pada tutorial ini menggunakan IP Address 192.168.10.125. lalu save konfigurasi dengan cara tekan CTRL+X , Y lalu tekan ENTER.

Enable Proxy Wordpress dan Roundcube

Ketik perintah a2ensite proxy.acsl-2024.com.conf untuk men-enable website proxy reverse wordpress dan roundcube yang kita telah buat tadi.

Restart Service Apache2

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

Buat DNS Resolving Netplan

Untuk konfigurasi selanjutnya, ketikkan nano /etc/netplan/50-cloud-init.yaml , lalu save konfigurasi dengan cara tekan CTRL+X , Y lalu tekan ENTER.

Sesuaikan IP Address pada nameservers dengan IP Address yang telah ditentukan atau ikuti IP Address yang sudah ada yaitu kolom addresses: tanpa dengan prefix.

Ketik perintah ini pada unlink /etc/resolv.conf, ln -sf /run/systemd/resolve/resolv.conf, dan /etc/resolv.conf masing-masing line terminal dengan ENTER.

Setelah konfigurasi resolv.conf maka kita harus me-restart netplan dengan cara mengetik perintah netplan apply pada terminal Ubuntu Proxy agar konfigurasi di /etc/netplan/50-cloud-init.yaml dapat diterapkan pada sistem jaringan Ubuntu.

Selanjutnya jangan lupa untuk merestart konfigurasi /etc/resolv.conf agar semua konfigurasi jaringan pada sistem Ubuntu berjalan dengan lancar. Dengan mengetik perintah systemctl restart systemd-resolved.service pada terminal Ubuntu Proxy lalu tekan ENTER.

Test DNS pada Ubuntu Proxy

Uji coba konfigurasi DNS menggunakan tools nslookup. Ketikkan perintah nslookup acsl-2024.com dan nslookup mail.acsl-2024.com. Hasil dari jawaban aplikasi bind9 untuk Mail Server dengan domain acsl-2024.com dan Webserver dengan domain mail.acsl-2024.com akan menjadi IP Address Ubuntu Proxy yaitu 192.168.10.125.

Install Aplikasi IPtables Persistent

IPtables Persistent adalah sebuah utilitas dalam sistem Linux yang bertujuan untuk menyimpan aturan-aturan iptables (firewall) secara permanen. Tanpa IPtables Persistent, aturan-aturan iptables yang dibuat oleh pengguna hanya akan berlaku selama sesi berjalan. Oleh karna itu kita harus menginstall utilitas IPtables Persistent dengan mengetik perintah apt install iptables-persistent pada terminal Ubuntu Server.

Setelah menjalakan perintah diatas maka sistem installer akan IPtables Persistent menanyakan apakah rules IPtables untuk IP Address v4 yang kita telah buat akan disimpan pada file /etc/iptables/rules.v4. maka kita pilih Yes dan tekan ENTER.

Gambar Bab 4

Setelah menjalakan perintah diatas maka sistem installer akan IPtables Persistent menanyakan kempbali lagi apakah rules IPtables untuk IP Address v6 yang kita telah buat akan disimpan pada file /etc/iptables/rules.v6. maka kita pilih Yes dan tekan ENTER.

Gambar Bab 4

Buat Rule Forward IPtables

Rule Forward dalam IPtables digunakan untuk mengarahkan lalu lintas jaringan dari satu interface ke interface lainnya. Ketika menggunakan proxy reverse untuk mengakses dua website yang berbeda dengan menggunakan satu alamat IP Address, Kita harus menggunakan Rule Forward untuk meneruskan port 25 (SMTP) dan port 143 (IMAP) dari IP Address Ubuntu Proxy untuk Client bisa login ke website Roundcube.

Perintah dibawah berfungsi untuk menyalin konfigurasi iptables yang sedang berjalan ke dalam file /etc/iptables/rules.v.4 untuk rule IP Address v4 dan /etc/iptables/rules.v.6 untuk rule IP Address v6. Ini berguna untuk menyimpan konfigurasi iptables yang telah dikonfigurasi, sehingga konfigurasi tersebut dapat dipulihkan atau digunakan kembali setelah reboot.

Buat Config Sistem Forward

Setelah kita konfigurasi Rule Forward IPtables maka kita harus mengaktifkan fitur IP forwarding pada sistem Ubuntu. Dengan ketik perintah nano /etc/systcl,conf lalu tekan ENTER.

Setelah terbuka maka kita hapus # pada baris konfig #net.ipv4.ip_forward=1. Fitur net.ipv4.ip_forward=1 ini memungkinkan sistem untuk mengirimkan paket yang diterimanya dari satu antarmuka jaringan ke antarmuka jaringan lainnya seperti meneruskan paket SMTP dan IMAP dari Ubuntu Proxy ke Ubuntu DNS dan Web.

Restart Ubuntu Proxy

Untuk menghindari kegagalan maka langkah selanjutnya yaitu reboot sistem atau restart Ubuntu Server Proxy dengan mengetik perintah reboot pada terminal lalu tekan ENTER. tunggu beberapa menit untuk Ubuntu Server Proxy menyala kembali.

Hasil

Pada bab 4 ini kita akan menguji apakah penerusan website pada proxy reverse dan domain acsl-2024.com adalah alamat website Wordpress sedangkan mail.acsl-2024.com adalah alamat website Roundcube dan menguji mail server yang kita telah buat pada bab ini berhasil mengirimkan pesan dari akun yang bernama admin kepada akun user.

Was this page helpful?