Konfigurasi LibModsecurity dengan Nginx di CentOS 8

Mengamankan aplikasi web yang berjalan di balik Nginx adalah langkah krusial dalam dunia digital saat ini. Salah satu cara paling efektif untuk melakukannya adalah dengan menggunakan Web Application Firewall (WAF). ModSecurity adalah salah satu WAF sumber terbuka yang paling populer dan powerful. Artikel ini akan membahas bagaimana cara mengintegrasikan libmodsecurity v3, versi terbaru ModSecurity, dengan Nginx di sistem CentOS 8 untuk meningkatkan keamanan website Anda.

Pentingnya Web Application Firewall (WAF)

Website modern sering menjadi target serangan siber seperti SQL Injection, Cross-Site Scripting (XSS), path traversal, dan serangan berlapis aplikasi lainnya. Firewall tradisional atau firewall jaringan tidak selalu mampu mendeteksi dan memblokir serangan-serangan spesifik terhadap aplikasi web. Di sinilah peran WAF sangat penting. ModSecurity bekerja di lapisan aplikasi (Layer 7) dan mampu menganalisis lalu lintas HTTP/HTTPS secara mendalam untuk mengidentifikasi pola serangan dan mengambil tindakan seperti memblokir permintaan atau mencatatnya.

Persiapan Sebelum Instalasi

Sebelum memulai instalasi libmodsecurity dan konektor Nginx, ada beberapa prasyarat yang perlu dipenuhi di CentOS 8 Anda. Pertama, pastikan sistem sudah diperbarui (dnf update). Kemudian, instal beberapa paket dependensi yang dibutuhkan untuk kompilasi, termasuk GCC, make, automake, libtool, berbagai library SSL/TLS, PCRE, dan paket pengembangan lainnya yang relevan. Memiliki Nginx yang sudah terinstal atau siap untuk dikompilasi ulang juga diperlukan, karena integrasi ModSecurity dengan Nginx versi 3 biasanya melibatkan kompilasi ulang Nginx dengan menyertakan modul konektor ModSecurity.

Instalasi ModSecurity dan Konektor Nginx

Proses instalasi libmodsecurity v3 dan konektor Nginx biasanya dilakukan dari kode sumber. Ini melibatkan mengunduh kode sumber libmodsecurity, mengkompilasinya, dan menginstalnya di sistem. Setelah itu, unduh kode sumber konektor Nginx untuk ModSecurity. Konektor ini berfungsi sebagai jembatan antara Nginx dan library libmodsecurity. Langkah selanjutnya adalah mengkompilasi ulang Nginx, dengan menambahkan opsi --add-module=/path/to/nginx-connector-source saat menjalankan skrip ./configure pada kode sumber Nginx. Proses kompilasi ini akan menghasilkan biner Nginx yang sudah menyertakan dukungan ModSecurity.

BACA JUGA:  Microsoft Outlook akan blokir lebih banyak jenis lampiran berisiko yang dipakai dalam serangan

Konfigurasi Dasar ModSecurity

Setelah instalasi selesai, langkah berikutnya adalah mengkonfigurasi ModSecurity. File konfigurasi utama biasanya adalah modsecurity.conf. Di file ini, Anda akan menemukan berbagai pengaturan untuk mengontrol perilaku ModSecurity, seperti tingkat logging, penanganan error, dan mode operasional (misalnya, DetectionOnly untuk pengujian atau On untuk pemblokiran aktif). Yang paling penting adalah memuat aturan (rules). Aturan yang paling umum dan direkomendasikan adalah OWASP Core Rule Set (CRS). CRS adalah seperangkat aturan generik yang dirancang untuk melindungi dari berbagai serangan web. Anda perlu mengunduh CRS dan mengkonfigurasi modsecurity.conf untuk menyertakan file aturan CRS.

Integrasi dengan Nginx

Integrasi akhir dilakukan pada file konfigurasi Nginx. Di dalam blok http, server, atau location yang ingin dilindungi, Anda perlu menambahkan dua baris kunci: modsecurity on; dan modsecurity_rules_file /path/to/modsecurity.conf;. Direktif modsecurity on; akan mengaktifkan modul ModSecurity untuk konteks tersebut, sementara modsecurity_rules_file menunjuk ke file konfigurasi ModSecurity utama yang sudah kita siapkan sebelumnya. Setelah menambahkan baris ini, lakukan pengujian konfigurasi Nginx (nginx -t) dan muat ulang atau restart layanan Nginx (systemctl restart nginx).

Pengujian Sistem WAF

Untuk memastikan ModSecurity berfungsi dengan baik, lakukan beberapa pengujian. Coba akses website Anda dengan menyertakan parameter yang mencurigakan atau pola serangan umum, misalnya menambahkan <script>alert(1)</script> di URL atau parameter POST. Jika konfigurasi dan aturan CRS sudah benar, ModSecurity akan mendeteksi serangan ini dan sesuai dengan mode operasionalnya, permintaan akan diblokir atau dicatat. Periksa file log ModSecurity (lokasi ditentukan di modsecurity.conf) untuk melihat detail permintaan yang diblokir atau ditandai. Log ini sangat penting untuk debugging dan memahami jenis serangan yang ditargetkan pada aplikasi Anda.

BACA JUGA:  Domain Global

Dengan mengikuti langkah-langkah ini, Anda dapat berhasil mengintegrasikan libmodsecurity dengan Nginx di CentOS 8, memberikan lapisan keamanan tambahan yang tangguh untuk aplikasi web Anda dan melindunginya dari berbagai ancaman siber.

Sumber: https://kifarunix.com/configure-libmodsecurity-with-nginx-on-centos-8/