CodeIgniter 4 Shieldv1.2.x
Aturan (Rules)
Aturan (rules) adalah pengetahuan Shield tentang serangan. Tiap rule
mencocokkan pola tertentu — union select, <script, /.env, dan seterusnya
— lalu memberi skor bila cocok. Rule-nya sendiri hidup di
Shield Core; paket CodeIgniter 4 hanya memuatnya.
Rule bawaan
Section titled “Rule bawaan”Secara bawaan Shield mengaktifkan paket aturan injection:
| Paket | Default | Isi |
|---|---|---|
injection |
aktif | SQL injection, XSS, command injection, LFI, path traversal, file sensitif, RCE (php://input, auto_prepend_file). |
wordpress |
nonaktif | Pola serangan khas WordPress (wp-config.php, xmlrpc, plugin berbahaya). |
Aktifkan paket WordPress di app/Config/Shield.php:
public bool $rulesPacksWordpress = true;Perhatikan bahwa rule wordpress bisa menambahkan false positive di situs yang
tidak memakai WordPress — karena pola .php di dalam folder upload ikut
dipantau.
Melihat daftar rule yang aktif
Section titled “Melihat daftar rule yang aktif”php spark shield:rules:listMenampilkan rule yang benar-benar dimuat aplikasi Anda beserta matcher, severity,
skor, dan status. Tambahkan --disabled kalau ingin melihat rule yang dimuat
tapi dinonaktifkan:
php spark shield:rules:list --disabledIni cara terbaik memastikan perubahan konfigurasi benar-benar terpakai, bukan sekadar tersimpan di file.
Menguji rule dengan shield:replay
Section titled “Menguji rule dengan shield:replay”php spark shield:replay storage/shield/corpus.jsonshield:replay menjalankan ulang korpus serangan (JSON) lewat DefaultRules
dan rule pack opsional, lalu melaporkan tingkat deteksinya. Ini bukan pengujian
custom rule aplikasi. Baca Perintah Spark
untuk opsi lengkapnya.
Menyesuaikan rule bawaan
Section titled “Menyesuaikan rule bawaan”Adapter CodeIgniter 4 tidak memakai rules.definitions dari config. Rule
selalu dirakit dari DefaultRules ditambah rule pack (injection,
wordpress), jadi menambah rule custom lewat app/Config/Shield.php tidak
didukung saat ini.
Yang bisa Anda lakukan:
- menyalakan atau mematikan rule pack WordPress;
- mengubah ambang skor, mode, dan allowlist;
- memakai
shield:rules:listuntuk memastikan rule pack yang dimuat.
Anatomi rule dan daftar rule ada di dokumentasi Shield Core, tetapi jangan mengikuti contoh penambahan custom rule untuk adapter CI4 sampai dukungan itu tersedia.
Rule critical memblokir keras
Section titled “Rule critical memblokir keras”Rule dengan bobot critical (mis. sensitive.env, traversal.etcpasswd,
traversal.proc) menghasilkan blok keras (halaman shield/blocked, kode
responseCode default 404) di mode challenge dan enforce. Rule ini tidak
diturunkan menjadi challenge dan tidak dilewati trusted cookie.
Di mode observe, semua keputusan tetap dicatat sebagai OBSERVE; signature
critical tidak memblokir sampai Anda menaikkan mode. Ini berbeda dari skor biasa
yang bisa berujung challenge.
Ringkasan
Section titled “Ringkasan”- Rule bawaan sudah cukup untuk perlindungan awal.
- Aktifkan
rulesPacksWordpresshanya kalau situs Anda memakai WordPress. shield:rules:listmembuktikan rule pack yang Anda atur benar-benar dimuat.shield:replaymenguji korpus terhadapDefaultRules, bukan custom rule app.- Anatomi rule lengkap ada di dokumen Shield Core, tetapi custom rule belum didukung adapter CI4.
Powered by PT Ganadev Multi Solusi