Apache Load Balancer Aman dengan HTTPS dan WAF

Apache Load Balancer

Apache Load Balancer Aman dengan HTTPS dan WAF.

Membangun arsitektur jaringan yang aman dan efisien menjadi tantangan utama dalam lingkungan DevOps. Salah satu solusi yang efektif dan fleksibel adalah dengan menggunakan Apache sebagai load balancer. Selain mendistribusikan trafik ke beberapa server backend, komponen ini juga dapat menjadi gerbang keamanan pertama yang menyaring seluruh request dari Client.

Keunggulan Menggunakan Apache Load Balancer.

Dengan memanfaatkan Apache sebagai sistem distribusi beban, tim DevOps dapat mengurangi beban pada backend serta menjaga performa aplikasi tetap optimal. Selain itu, konfigurasi HTTPS dan HTTP/2 memungkinkan pengiriman data yang aman dan cepat ke pengguna.

Integrasi dengan Web Application Firewall (WAF) seperti ModSecurity menjadikan Apache bukan hanya sebagai proxy, tetapi juga sebagai lapisan keamanan aktif. Setup ini sangat berguna ketika backend tidak memiliki perlindungan seperti HTTPS, security headers, atau WAF.

Arsitektur Apache Load Balancer yang Aman dan Efisien.

Konsep arsitektur ini sederhana namun tangguh. Tiga web server backend berjalan pada HTTP port 80 dengan IP:

  • 192.168.66.1
  • 192.168.66.2
  • 192.168.66.3
Apache Load Balancer

Ketiganya tidak memiliki sertifikat SSL atau pengaturan keamanan lainnya. Sebagai gantinya, server dengan IP 192.168.66.168 bertindak sebagai Apache load balancer yang mengatur semua trafik masuk.

Lapisan keamanan dan optimasi disiapkan langsung di sisi gateway ini. Hal ini mencakup SSL/TLS, protokol HTTP/2, HTTP Security Headers, dan fitur filtering berbasis Web Application Firewall (WAF). Dengan pendekatan ini, backend tetap ringan dan tidak perlu diubah.

Konfigurasi Dasar Apache Load Balancer.

Langkah pertama adalah menginstal Apache dan mengaktifkan modul-modul yang dibutuhkan:

a2enmod proxy proxy_http proxy_balancer lbmethod_byrequests headers ssl http2
systemctl restart apache2

Lanjutkan dengan membuat konfigurasi virtual host baru di /etc/apache2/sites-available/loadbalancer.conf

<VirtualHost *:443>
ServerName 192.168.66.168

SSLEngine on
SSLCertificateFile /etc/ssl/certs/loadbalancer.crt
SSLCertificateKeyFile /etc/ssl/private/loadbalancer.key

Protocols h2 http/1.1

<Proxy "balancer://mycluster">
BalancerMember http://192.168.66.1
BalancerMember http://192.168.66.2
BalancerMember http://192.168.66.3
ProxySet lbmethod=byrequests
</Proxy>

ProxyPreserveHost On
ProxyPass "/" "balancer://mycluster/"
ProxyPassReverse "/" "balancer://mycluster/"

Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-XSS-Protection "1; mode=block"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "geolocation=(), microphone=()"
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set Content-Security-Policy "default-src 'self';"
</VirtualHost>

Aktifkan konfigurasi dan reload layanan:

a2ensite loadbalancer.conf
systemctl reload apache2

Menambahkan ModSecurity ke Apache Load Balancer.

Apache dapat dilengkapi dengan ModSecurity untuk menambahkan proteksi ekstra melalui filtering berbasis rule. Tools ini memindai setiap request dan mencegah akses yang mencurigakan.

ModSecurity dapat dikonfigurasi dengan rule set dari OWASP. Pastikan rule yang digunakan relevan dengan aplikasi yang dilindungi. Tools ini sangat membantu mengurangi risiko eksploitasi melalui layer HTTP.

Optimasi untuk DevOps Workflow.

Dengan arsitektur ini, tim DevOps mendapat keuntungan besar. Semua konfigurasi keamanan cukup dilakukan di satu titik. Tidak ada kebutuhan untuk modifikasi pada server backend. Tambahan server cukup dilakukan melalui konfigurasi Apache, tanpa downtime.

Sistem seperti ini ideal untuk tim yang ingin menjaga infrastruktur tetap modular dan scalable. Backend tetap statis, namun frontend tetap dapat beradaptasi dengan cepat terhadap kebutuhan bisnis atau traffic yang meningkat.

Validasi Implementasi HTTPS dan HTTP/2.

Untuk memastikan bahwa load balancer berjalan sesuai konfigurasi, lakukan pengecekan dengan perintah berikut:

curl -I --http2 https://192.168.66.168

Periksa juga pada browser melalui Developer Tools > Network dan pastikan protokol yang digunakan adalah h2.

Penting untuk melakukan uji akses dari sisi Client, agar semua rule keamanan dan performa berjalan seperti yang dirancang.

Apache Load Balancer Sebagai Security Gateway.

Keuntungan lain dari pendekatan ini adalah sentralisasi keamanan. Ketika hanya ada satu titik masuk, semua kebijakan bisa diterapkan di satu tempat. Hal ini mengurangi overhead dan mencegah kesalahan konfigurasi pada backend yang rentan.

Dengan fitur-fitur seperti SSL, HTTP/2, security headers, dan WAF, load balancer ini menjadi pintu gerbang tangguh yang mampu melindungi seluruh sistem di belakangnya. Bahkan ketika backend hanya mendukung HTTP standar, sistem tetap terlindungi.

Menyederhanakan Distribusi Beban, dan Meningkatkan Lapisan Keamanan.

Menggunakan Apache sebagai load balancer tidak hanya menyederhanakan distribusi beban, tetapi juga meningkatkan lapisan keamanan. Dengan arsitektur ini, performa tetap optimal, keamanan meningkat, dan workflow DevOps menjadi lebih fleksibel. Pendekatan ini sangat cocok untuk lingkungan modern yang menuntut efisiensi, skalabilitas, dan proteksi maksimal tanpa mengorbankan sistem backend yang sudah ada.

Scroll to Top