Tuesday, June 4, 2024

Set password complexity policy on Ubuntu 18.04++

  • ประเด็นคือจะตั้ง policy ในการกำหนดรหัสผ่านของ user ที่จะเพิ่มในระบบ  Ubuntu 18.04++
  • เช่น ต้องมีจำนวน 8 ตัวขึ้นไป และมี Upper char อย่างน้อย 1 ตัว และ Lower char และ Digit อย่างน้อย 1 ตัว และ Symbol อย่างน้อย 1 ตัว และ กำหนด อายุของรหัสผ่าน สามารถใช้ได้กี่วันแล้วต้องเปลี่ยนใหม่เป็นต้น

Step

  • ติดตั้ง lib ที่ต้องใช้งานก่อนเลย

$ sudo apt install libpam-pwquality

  • สำหรับสำรองไฟล์คอนฟิก policy ก่อนแก้ไข

$ sudo cp /etc/pam.d/common-password /etc/pam.d/common-password.old

  • จากนั้นเปิดไฟล์แก้ไข 

$ sudo nano /etc/pad.d/common-password

  • ค้นหาบรรทัดประมาณนี้

password    requisite    pam_pwquality.so    retry=3

  • แก้ไขเป็น (คอมเม้นแล้ว โดยใส่เครื่องหมาย  # ด้านหน้าสุด แล้วเพิ่มบรรทัดใหม่)
  • อันนี้ตัวอย่างตามอ้างอิง

# password    requisite    pam_pwquality.so retry=3 minlen=8 difok=3 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 reject_username enforce_for_root

  • เราตั้ง policy เบาๆ ประมาณนี้ก็พอ

password    requisite    pam_pwquality.sol    retry=3    minlen=8    lcredit=-1    ucredit=-1 dcredit=-1    ocredit=-1   
 

  • จากนั้นบันทึกไฟล์ให้เรียบร้อย
  • เข้าใจว่า policy น่าจะมีผลกับการ เปลี่ยนรหัสใหม่ หรือ เพิ่ม user เข้ามาใหม่นะ
  • และ การกำหนดอายุของรหัสผ่านโดยแก้ไขไฟล์ /etc/login.defs (อย่าลืมสำรองไว้ด้วยกันเหนียว)

$ sudo nano /etc/login.defs

# line 165 : set password Expiration days (example below means 60 days)

PASS_MAX_DAYS 60

Ref

  • https://kifarunix.com/enforce-password-complexity-policy-on-ubuntu-18-04/
  • https://www.server-world.info/en/note?os=Ubuntu_22.04&p=pam&f=1#google_vignette

No comments:

Post a Comment