Giao diện
Hướng dẫn cài đặt — Password Policy
Yêu cầu
- Server Digiforce đang chạy
- Plugin
plugin-authđã kích hoạt - Plugin
plugin-notification-manager(tùy chọn — cần cho thông báo hết hạn mật khẩu)
Bước 1: Kích hoạt Plugin
Vào Settings → Plugin Manager, tìm plugin-password-policy và bật.
Khi cài đặt lần đầu (install), plugin tự động:
- Tạo bản ghi
passwordPolicyvới giá trị mặc định - Sao chép password hash hiện tại của tất cả user vào
userPasswordHistory - Tạo notification channel
password-expiration-in-app-messagecho cảnh báo hết hạn
Bước 2: Cấu hình chính sách cơ bản
Vào Settings → Authentication → Password Policy và thiết lập:
| Quy tắc | Mô tả | Giá trị mặc định |
|---|---|---|
| Độ dài tối thiểu | Số ký tự tối thiểu (6–64) | 6 |
| Độ phức tạp | Mức yêu cầu ký tự (xem bảng bên dưới) | alpha_numeric |
| Không chứa username | Cấm mật khẩu chứa tên đăng nhập | Bật |
| Lịch sử mật khẩu | Số mật khẩu cũ không được trùng | 3 |
Các mức độ phức tạp
| Giá trị | Yêu cầu |
|---|---|
none | Không yêu cầu (chỉ kiểm tra độ dài) |
alpha_numeric | Phải có chữ cái + số |
alpha_numeric_special | Phải có chữ cái + số + ký tự đặc biệt |
numbers_upper_lower | Phải có chữ thường + chữ hoa + số |
numbers_upper_lower_special | Phải có chữ thường + chữ hoa + số + ký tự đặc biệt |
3_of_4 | Đạt ít nhất 3 trong 4 loại: chữ thường, chữ hoa, số, ký tự đặc biệt |
Bước 3: Cấu hình bảo mật đăng nhập
| Tham số | Mô tả | Giá trị mặc định |
|---|---|---|
| Số lần đăng nhập sai tối đa | Sau bao nhiêu lần sai sẽ bị giới hạn | 5 |
| Khoảng thời gian đếm (giây) | Counter reset sau khoảng thời gian này | 600 (10 phút) |
| Thời gian khóa (giây) | Khóa tài khoản trong bao lâu (0 = không khóa, chỉ delay) | 0 |
Bước 4: Cấu hình hết hạn mật khẩu
| Tham số | Mô tả | Giá trị mặc định |
|---|---|---|
| Thời hạn mật khẩu (ngày) | Sau bao nhiêu ngày phải đổi mật khẩu | 0 (không hết hạn) |
| Kênh thông báo | Channel gửi cảnh báo khi sắp hết hạn | password-expiration-in-app-message |
Giá trị hợp lệ cho thời hạn: 0 (vĩnh viễn), 30, 90, 180, 365 ngày.
Khi mật khẩu còn ≤ 10 ngày trước khi hết hạn, plugin tự động gửi thông báo qua plugin-notification-manager mỗi lần user đăng nhập.
Bước 5: Kiểm tra
- Thử tạo user mới với mật khẩu không đủ mạnh → hệ thống phải từ chối
- Thử đổi mật khẩu trùng với mật khẩu cũ → hệ thống phải báo lỗi
- Thử đăng nhập sai liên tục → tài khoản phải bị giới hạn/khóa
Lưu ý quan trọng
- Chính sách áp dụng cho tất cả user (kể cả admin)
- Kiểm tra policy chạy qua hook
users.beforeCreatevàusers.beforeUpdate— áp dụng khi tạo user mới và đổi mật khẩu - Mật khẩu hiện tại của user không bị ảnh hưởng cho đến khi đổi mật khẩu lần tiếp
- Lịch sử mật khẩu lưu tối đa 24 bản ghi per user (hard limit) — khi đầy, bản ghi cũ nhất bị ghi đè
- BloomFilter dùng để kiểm tra nhanh locked users — có thể có false positive nhưng không bao giờ false negative