Skip to main content
  1. Posts/

Blocking URI paths using ModSecurity

2 mins
modsec modsec apache

Jika situs Anda mengalami serangan bot atau terdapat laporan penyalahgunaan (abuse), alih-alih mengubah permission pada beberapa folder agar tidak dapat diakses. Anda dapat menggunakan ModSecurity untuk memblokir akses berdasarkan URI path yang terdapat pada situs.

Berikut adalah langkah-langkahnya.

Buat folder custom_rules.

mkdir -p /etc/httpd/modsecurity.d/custom_rules

Kemudian buat file dan tambahkan rule modsec berikut.

nano /etc/httpd/modsecurity.d/custom_rules/block-uri.conf
SecRule REQUEST_URI "@pmFromFile blokir_path" \
   "id:7777772,phase:2,t:none,t:normalizePath,deny,status:403,msg:'Access denied - URI path: %{MATCHED_VAR_NAME}'"

Penjelasan:

  • REQUEST_URI "@pmFromFile blokir_path": Ini menetapkan bahwa ModSecurity akan mencocokan nilai REQUEST_URI dengan list yang ada di file blokir_path sebagai referensi.
  • id:7777772: Merupakan ID unik untuk mengidentifikasi aturan ModSecurity.
  • phase:2: Aturan diterapkan pada fase kedua dari pemrosesan permintaan HTTP.
  • t:none: Ini menunjukan jika tidak ada tindakan (action) khusus yang akan diambil jika aturan match.
  • t:normalizePath: Ini digunakan untuk normalisasi path URI sebelum mencocokannya dengan pola yang ditentukan.
  • deny,status:403: Jika aturan cocok, maka permintaan akan ditolak dan diberi respon kode status HTTP 403 (Forbidden).
  • msg:'Access denied - URI path: %{MATCHED_VAR_NAME}': Pesan yang akan dicatat dalam log jika aturan cocok.

Lalu buat file blokir_path di folder custom_rules dan isi dengan URI path yang ingin diblokir.

nano /etc/httpd/modsecurity.d/custom_rules/blokir_path
/slot/
togel

Edit konfigurasi mod_security.conf.

<IfModule mod_security2.c>
Include modsecurity.d/custom_rules/*.conf
</IfModule>

Kemudian restart service apache.

systemctl restart httpd

Untuk memastikan file rule yang dibuat sudah di load oleh server web.

# httpd -t -D DUMP_INCLUDES | grep custom
      (56) /etc/httpd/modsecurity.d/custom_rules/block-uri.conf

Related

Blocking Domain with ModSecurity
1 min
modsec apache modsec
Blocking XMLRPC WordPress with ModSecurity
2 mins
modsec apache modsec
Using ModSecurity to Block Web Crawlers
1 min
modsec modsec apache
Cara Menginstal ModSecurity di Apache
4 mins
apache apache modsec
Setup Apache dan PHP-FPM di Docker
7 mins
apache docker apache php
Custom Log Format in Apache
1 min
apache apache linux