Laravel Shieldv1.2.x
Perintah Artisan
Shield mendaftarkan enam perintah Artisan. Semuanya opsional, dan tidak ada satu pun yang perlu Anda jalankan supaya Shield bekerja.
Ringkasan
Section titled “Ringkasan”| Perintah | Untuk apa |
|---|---|
shield:health |
Memeriksa apakah semua komponen siap. Jalankan pertama kali. |
shield:report |
Merangkum kejadian keamanan. Baca setiap hari saat tuning. |
shield:rules:list |
Menampilkan rule yang aktif beserta skor dan severity. |
shield:prune |
Menghapus kejadian lama dan ban yang sudah kedaluwarsa. |
shield:release |
Melepas ban satu IP. |
shield:replay |
Menguji ulang korpus serangan terhadap rule saat ini. |
shield:health
Section titled “shield:health”php artisan shield:healthMemeriksa koneksi database, cache, mesin Shield, konfigurasi trusted proxy, dan resolusi DNS untuk verifikasi crawler. Jalankan perintah ini setiap kali Shield dipasang, dan lagi setiap kali ada masalah.
Keluarannya juga memperingatkan kalau admin.enabled aktif tanpa
authorize, atau kalau terindikasi forward header tanpa trusted proxy.
shield:report
Section titled “shield:report”php artisan shield:reportMencetak ringkasan kejadian keamanan. Ini perintah yang paling sering Anda
perlu saat menyetel mode.
Untuk satu host saja:
php artisan shield:report --host=toko-online.testDari output ini Anda bisa melihat:
- rule mana yang paling sering memicu,
- berapa challenge yang jadi blokir,
- apakah ada IP asli yang ikut kena.
Kalau --host tidak dipakai, semua host ikut dirangkum. Berguna saat satu
server menjalankan banyak aplikasi dengan app_id berbeda.
shield:rules:list
Section titled “shield:rules:list”php artisan shield:rules:listMenampilkan rule yang benar-benar dimuat aplikasi Anda, beserta versi
signature-nya. Incluye rule yang dinonaktifkan lewat enabled: false:
php artisan shield:rules:list --disabledPerintah ini berguna ketika Anda ingin memastikan override di
config/shield.php benar-benar dipakai, bukan sekadar tersimpan di file.
shield:prune
Section titled “shield:prune”php artisan shield:pruneMenghapus kejadian yang sudah melewati logging.retention_days, lalu
membersihkan ban yang sudah kedaluwarsa.
Shield menjadwalkan perintah ini sendiri setiap hari, jadi Anda tidak perlu
mendaftarkannya di app/Console/Kernel.php. Tapi jadwal itu hanya jalan kalau
Laravel benar-benar menjalankan scheduler. Pastikan cron berikut ada:
* * * * * cd /path/ke/aplikasi && php artisan schedule:run >> /dev/null 2>&1Umur retensi bisa diubah per pemanggilan:
php artisan shield:prune --days=7shield:release
Section titled “shield:release”php artisan shield:release 203.0.113.10Melepas ban yang sedang aktif untuk satu IP. Tambahkan alasannya supaya tercatat:
php artisan shield:release 203.0.113.10 --reason="pelanggan salah ketik"shield:replay
Section titled “shield:replay”php artisan shield:replay storage/shield/corpus.jsonMenjalankan korpus JSON atau ekspor security_events melalui rule yang
sekarang aktif, lalu melaporkan tingkat deteksinya. Ini cara Anda menguji
perubahan rule tanpa menyentuh produksi.
Untuk menguji dengan paket WordPress aktif:
php artisan shield:replay storage/shield/corpus.json --pack-wordpressKeluarannya disertai kode keluar yang mengikuti tingkat deteksi minimum.
Nilai bawaannya 0.98, artinya 98 persen payload harus terdeteksi agar exit
code-nya berhasil. Ini berguna di CI:
php artisan shield:replay tests/corpus.json || exit 1Turunkan --min-rate kalau korpus Anda memang tidak lengkap:
php artisan shield:replay tests/corpus.json --min-rate=0.90Urutan pemakaian yang masuk akal
Section titled “Urutan pemakaian yang masuk akal”- Setelah memasang:
shield:health. - Mode
observeselama beberapa hari: bacashield:report. - Sebelum naik ke
challenge:shield:rules:listuntuk memastikan override Anda aktif. - Setiap naik versi:
shield:replaydengan korpus Anda sendiri. - Ada keluhan pengguna terblokir:
shield:release.
Perintah yang tidak ada di daftar ini memang tidak ada di Shield. Kalau dokumentasi Anda menyebut perintah lain, jangan percaya begitu saja.
Powered by PT Ganadev Multi Solusi