1. Apa itu OWASP CRS

OWASP Core Rule Set (CRS) adalah kumpulan aturan keamanan yang digunakan oleh WAF untuk mendeteksi dan memblokir serangan terhadap aplikasi web.

Contoh serangan yang bisa dideteksi:

SeranganContoh
SQL Injectionid=1 OR 1=1
Cross Site Scripting<script>alert(1)</script>
Local File Inclusion../../etc/passwd
Remote Command Execution; cat /etc/passwd
Scanner / Botsqlmap, nikto

CRS biasanya digunakan bersama ModSecurity.


2. Arsitektur sistem WAF

Diagram sederhana:

Internet


Nginx Web Server


ModSecurity (WAF Engine)


OWASP CRS Rules


Website (WordPress / dll)

Artinya:

  1. Request masuk ke server
  2. ModSecurity memeriksa request
  3. CRS rules menganalisa request
  4. Jika terdeteksi serangan → diblokir

3. Update sistem

Selalu mulai dengan update.

sudo apt update
sudo apt upgrade

4. Install ModSecurity untuk Nginx

Install modul WAF:

sudo apt install libnginx-mod-http-modsecurity

Install juga git untuk mengunduh rules.

sudo apt install git

5. Cek apakah ModSecurity aktif

Jalankan:

nginx -V 2>&1 | grep modsecurity

Jika muncul modul modsecurity berarti sudah aktif.


6. Struktur file ModSecurity di Ubuntu 24

Setelah instalasi biasanya struktur menjadi:

/etc/nginx/modsecurity.conf
/etc/modsecurity/crs/

Namun folder crs biasanya masih kosong karena rule belum diinstall.

Struktur yang akan kita gunakan:

/etc/nginx/modsecurity.conf
/etc/modsecurity/crs/
crs-setup.conf
rules/

7. Download OWASP CRS

Masuk ke folder modsecurity.

cd /etc/modsecurity

Masuk ke folder crs:

cd crs

Download rules dari GitHub.

sudo git clone https://github.com/coreruleset/coreruleset.git .

Tanda titik (.) artinya isi repository dimasukkan langsung ke folder saat ini.

Cek hasilnya:

ls

Biasanya akan muncul:

crs-setup.conf.example
rules/
util/
plugins/

8. Aktifkan konfigurasi CRS

Rename file konfigurasi utama.

sudo cp crs-setup.conf.example crs-setup.conf

Sekarang struktur menjadi:

/etc/modsecurity/crs/
crs-setup.conf
rules/

9. Konfigurasi engine ModSecurity

Edit file utama:

sudo nano /etc/nginx/modsecurity.conf

Cari baris:

SecRuleEngine DetectionOnly

Ubah menjadi:

SecRuleEngine On

Penjelasan mode:

ModeFungsi
OffWAF mati
DetectionOnlyhanya mendeteksi
Onmemblokir serangan

Jika masih tahap testing sebaiknya gunakan:

SecRuleEngine DetectionOnly

10. Memuat OWASP CRS

Masih di file:

/etc/nginx/modsecurity.conf

Tambahkan di bagian bawah:

Include /etc/modsecurity/crs/crs-setup.conf
Include /etc/modsecurity/crs/rules/*.conf

Penjelasan:

BarisFungsi
crs-setup.confkonfigurasi utama CRS
rulessemua rule keamanan

11. Aktifkan ModSecurity di Nginx

Edit konfigurasi virtual host website.

Contoh:

sudo nano /etc/nginx/sites-available/blog

Tambahkan di dalam blok server:

modsecurity on;
modsecurity_rules_file /etc/nginx/modsecurity.conf;

Contoh lengkap:

server {    server_name blog.alfasmk.my.id;    modsecurity on;
modsecurity_rules_file /etc/nginx/modsecurity.conf; root /var/www/wordpress;
index index.php index.html;}

12. Test konfigurasi Nginx

Cek konfigurasi.

sudo nginx -t

Jika muncul:

syntax is ok
test is successful

Restart nginx.

sudo systemctl restart nginx

13. Pengujian WAF

Sekarang kita akan menguji apakah WAF bekerja.

Buka browser dan coba:

https://domainmu.com/?id=1' OR '1'='1

Ini simulasi SQL Injection.

Jika WAF aktif biasanya akan muncul:

403 Forbidden

Artinya rule SQL Injection CRS berhasil memblokir request.


14. Melihat log serangan

Log modsecurity biasanya tercatat di:

/var/log/nginx/error.log

Melihat log secara realtime:

sudo tail -f /var/log/nginx/error.log

Contoh log:

ModSecurity: Access denied with code 403
SQL Injection Attack Detected

15. Contoh rule ModSecurity

Contoh rule CRS:

SecRule ARGS "@detectSQLi" \
"id:942100,\
phase:2,\
block,\
msg:'SQL Injection Attack'"

Penjelasan:

BagianFungsi
SecRulemembuat rule
ARGSmemeriksa parameter
detectSQLideteksi SQL injection
idID rule
phasetahap pemeriksaan
blockaksi memblokir
msgpesan log

16. Update rule CRS

Untuk memperbarui rule keamanan:

cd /etc/modsecurity/crs
sudo git pull

17. Tips penting untuk WordPress

Jika digunakan untuk WordPress, terkadang CRS menyebabkan false positive seperti:

  • komentar gagal
  • login gagal
  • upload gambar gagal

Solusinya adalah membuat rule pengecualian khusus WordPress.


Kesimpulan

Dengan menginstall ModSecurity + OWASP CRS, server kita mendapatkan perlindungan tambahan terhadap berbagai serangan web seperti:

  • SQL Injection
  • Cross Site Scripting
  • File Inclusion
  • Command Injection
  • Scanner otomatis

WAF bekerja sebagai lapisan keamanan tambahan sebelum request mencapai aplikasi web.

By Admin

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *