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