Masalah
Saat ini password policy hanya di-check setelah user berhasil login, sehingga user dengan password lemah tetap bisa terjaga di sistem. Belum ada pencegahan password lemah pada saat registrasi, ganti password, maupun reset.
Dampak
- Password lemah bahkan yang sudah "pwned" masih bisa digunakan, memudahkan brute force / credential stuffing.
- Compliance dan keamanan overall menurun.
Langkah Penyelesaian
- Buat custom Rule/Validation yang enforce minimum 12 karakter, campuran upper, lower, angka, simbol, serta pengecekan HIBP (HaveIBeenPwned).
- Wajibkan pengecekan Rule ini di seluruh proses user membuat/mengganti password.
- Terapkan password history dan expiry jika diperlukan.
- Audit user existing dan paksa reset password jika terindikasi lemah.
Contoh Implementasi
// app/Rules/StrongPassword.php
public function passes($attribute, $value) {
return strlen($value) >= 12 && ... // syarat lain
}
Setelah Perbaikan
- Uji dengan kombinasikan inputs untuk memastikan password lemah tertolak.
- Jalankan script audit agar user lawas dengan pw lemah forced reset.
Masalah
Saat ini password policy hanya di-check setelah user berhasil login, sehingga user dengan password lemah tetap bisa terjaga di sistem. Belum ada pencegahan password lemah pada saat registrasi, ganti password, maupun reset.
Dampak
Langkah Penyelesaian
Contoh Implementasi
Setelah Perbaikan