Skip to content

[SECURITY] Enforce Strong Password Policy di Seluruh Fitur (Change/Reset/Registration) #963

@vickyrolanda

Description

@vickyrolanda

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

  1. Buat custom Rule/Validation yang enforce minimum 12 karakter, campuran upper, lower, angka, simbol, serta pengecekan HIBP (HaveIBeenPwned).
  2. Wajibkan pengecekan Rule ini di seluruh proses user membuat/mengganti password.
  3. Terapkan password history dan expiry jika diperlukan.
  4. 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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions