(+84) 236.3827111 ex. 402

Cấu hình Password Policy trên Linux


1. Các thành phần chính của Password Policy trên Linux

Password Policy thường được cấu hình thông qua:

  • PAM (Pluggable Authentication Modules)

  • pwquality (kiểm tra độ mạnh mật khẩu)

  • login.defs (tuổi thọ mật khẩu)

  • chage (áp dụng cho từng user)

2. Cài đặt module kiểm tra độ mạnh mật khẩu

Trên Kali Linux, dùng pam_pwquality (thay thế pam_cracklib cũ).

sudo apt update

sudo apt install libpam-pwquality

3. Cấu hình độ mạnh mật khẩu (pwquality)

File cấu hình:

sudo nano /etc/security/pwquality.conf

Ví dụ policy chuẩn an toàn:

minlen = 12

dcredit = -1

ucredit = -1

lcredit = -1

ocredit = -1

retry = 3

difok = 4

maxrepeat = 3

reject_username

ý nghĩa:

Tham số

Mô tả

minlen

Độ dài tối thiểu

dcredit

ít nhất 1 số

ucredit

ít nhất 1 chữ hoa

lcredit

ít nhất 1 chữ thường

ocredit

ít nhất 1 ký tự đặc biệt

retry

Số lần nhập lại

difok

Khác mật khẩu cũ ít nhất N ký tự

reject_username

Không chứa username

maxrepeat

Không lặp quá nhiều ký tự

Lưu ý: Giá trị âm (-1) nghĩa là bắt buộc có ít nhất 1 ký tự loại đó.

4. Kích hoạt pwquality trong PAM

Mở file:

sudo nano /etc/pam.d/common-password

Đảm bảo có dòng sau (hoặc chỉnh lại):

password requisite pam_pwquality.so retry=3

Ví dụ cấu hình hoàn chỉnh:

password requisite pam_pwquality.so retry=3 minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512

5. Cấu hình tuổi thọ mật khẩu (Password Aging)

File:

sudo nano /etc/login.defs

Ví dụ:

PASS_MAX_DAYS 90

PASS_MIN_DAYS 1

PASS_WARN_AGE 7

ý nghĩa:

Tham số

Mô tả

PASS_MAX_DAYS

Hết hạn sau 90 ngày

PASS_MIN_DAYS

Không đổi lại trong 1 ngày

PASS_WARN_AGE

Cảnh báo trước 7 ngày


6. áp dụng cho user hiện có bằng chage

Ví dụ với user student:

sudo chage -M 90 -m 1 -W 7 student

Xem policy:

chage -l student

7. Khóa tài khoản khi nhập sai nhiều lần

Cài module faillock:

sudo apt install libpam-modules

Sửa file:

sudo nano /etc/pam.d/common-auth

Thêm:

auth required pam_faillock.so preauth silent deny=5 unlock_time=600

auth [default=die] pam_faillock.so authfail deny=5 unlock_time=600

auth sufficient pam_faillock.so authsucc

Sau 5 lần sai 🡪 khóa 10 phút.

8. Kiểm tra hoạt động

Thử đổi mật khẩu:

passwd

Nếu mật khẩu yếu:

BAD PASSWORD: The password is shorter than 12 characters

9. Password Policy mẫu (chuẩn doanh nghiệp)

Tiêu chí

Giá trị

Độ dài

≥ 12

Chữ hoa

≥ 1

Chữ thường

≥ 1

Số

≥ 1

Ký tự đặc biệt

≥ 1

Hết hạn

90 ngày

Khóa tài khoản

5 lần sai / 10 phút