Trong bài
trước mình đã dẫn và giới thiệu về bảo mật hệ thống *nix với PAM. Trong bài viết
này mình trình bày về làm sao để thiết lập chính sách mật khẩu (account
password policy) cho hệ thống Linux sao cho đảm bảo các yếu tố an ninh.
1.
Giới
hạn số ngày tối đa mà một mật khẩu được phép sử dụng trước khi nó phải thay đổi
Theo mặc định của các hệ
thống Linux thì thời hạn tối đa của mật khẩu là 99999, tuy nhiên thời gian này
là quá lớn và tương đương với việc password sẽ không bao giờ hết hạn. Để giới hạn
số ngày tối đa mà một password được phép sử dụng, cần thiết lập lại tham số: PASS_MAX_DAYS
trong file /etc/login.defs
Cú
pháp sử dụng như sau:
PASS_MAX_DAYS N
với
N – là số ngày tối đa mà một mật khẩu được phép sử dụng
Ví dụ muốn thiết lập thời
gian tối đa là 180 ngày:
PASS_MAX_DAYS
180
2.
Thiết
lập chính sách yêu cầu mật khẩu phải thỏa mãn một số điều kiện
Để chống lại các hình thức tấn công dò mật khẩu thông thường (dictionary attack, brute-force…) thì mật khẩu hợp lệ phải chứa càng nhiều loại ký tự khác nhau càng tốt: chữ thường, chữ viêt hoa, ký tự đặc biệt, số. Để thiết lập chính sách về việc mật khẩu sử dụng phải thỏa mãn các điều kiện về số lượng loại ký tự được phép sử dụng, cần thiết lập trong pam.d với thư viện pam_cracklib.so.
Cú pháp sử dụng như sau:
Cú pháp sử dụng như sau:
password
required pam_cracklib.so difok=DI lcredit=L ucredit=U dcredit=D ocredit=O
Với DI,L,U,D,O>=1 và
dcredit=D : Số lượng chữ
số.
ucredit=U: Số lượng chữ
cái in hoa
lcredit=L : Số lượng chữ
cái thường.
ocredit=O : Số lượng
các ký tự đặc biệt khác
difok=DI: số lượng các ký tự của passwd mới
được phép trùng với passwd cũ
*Lưu ý pam_cracklib.so đã được cài sẵn trên Redhat/Fedora/CentOS. Nếu hệ thống Debian/Ubuntu chưa có module này thì gõ lệnh sau để cài đặt nó: # apt-get install libpam-cracklib.
*Lưu ý pam_cracklib.so đã được cài sẵn trên Redhat/Fedora/CentOS. Nếu hệ thống Debian/Ubuntu chưa có module này thì gõ lệnh sau để cài đặt nó: # apt-get install libpam-cracklib.




