ฉันจะบังคับใช้นโยบายความซับซ้อนของรหัสผ่านได้อย่างไร


14

ฉันต้องกำหนดค่าเซิร์ฟเวอร์ Ubuntu ให้ปฏิบัติตามนโยบายรหัสผ่าน บริษัท ที่เข้มงวดซึ่งระบุสิ่งต่อไปนี้:

  • อย่างน้อยหนึ่งตัวพิมพ์ใหญ่
  • อย่างน้อยหนึ่งตัวพิมพ์เล็ก
  • อย่างน้อยหนึ่งหลัก
  • อักขระพิเศษอย่างน้อยหนึ่งตัว

ฉันได้ดูรอบ ๆ และสิ่งที่ฉันได้พบคือคำแนะนำสำหรับการระบุความยาวของรหัสผ่าน แต่ฉันยังไม่พบสิ่งที่เกี่ยวข้องกับการระบุเนื้อหาของรหัสผ่านเกี่ยวกับประเด็นข้างต้น

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม

คำตอบ:


19

ความซับซ้อนของรหัสผ่านถูกบังคับใช้โดยpam_cracklibโมดูล

ในการแก้ไขนโยบายรหัสผ่านสำหรับเครื่องท้องถิ่นของคุณคุณจะต้องแก้ไข/etc/pam.d/common-passwordไฟล์ของคุณ

จากหน้าต่างเทอร์มินัล ( Ctrl+ Alt+ T) ให้ป้อนคำสั่งต่อไปนี้:

sudo -i gedit /etc/pam.d/common-password

เพิ่มบรรทัดต่อไปนี้ลงในไฟล์ (ก่อนหน้าpam_unix.soหรือโมดูล PAM ที่ใช้เป็นหลักสำหรับการตรวจสอบสิทธิ์ตามที่สามารถเห็นได้จากตัวอย่างใน manpage) และบันทึกไฟล์:

password requisite pam_cracklib.so ucredit=-1 lcredit=-1 dcredit=-1  ocredit=-1

คำสั่งนี้ใช้ข้อกำหนดรหัสผ่านต่อไปนี้:

  • dcredit == หลัก
  • ucredit == ตัวอักษรตัวพิมพ์ใหญ่
  • lcredit == อักขระตัวพิมพ์เล็ก
  • ocredit== ตัวละครอื่น ๆ (ตัวอักษรพิเศษรวมถึง! , @ # $ %)

สิ่งนี้ควรตอบสนองความต้องการของคุณ

คุณสามารถใช้ตัวแปรminlengthและretriesเพื่อ จำกัด ข้อกำหนดรหัสผ่านเพิ่มเติม

นี่เป็นอีกตัวอย่างที่ดีของการแก้ไขนโยบายรหัสผ่านในลักษณะนี้จะเป็นการวางบรรทัดต่อไปนี้ใน/etc/pam.d/common-passwordไฟล์:

password requisite pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-1 dcredit=-1  ocredit=-1

รายการนี้จะตั้งค่าสูงสุดสามครั้งในการรับรหัสผ่านที่ยอมรับได้โดยมีความยาวขั้นต่ำ 10 อักขระ

นี่เป็นการกำหนดข้อกำหนดสำหรับผู้ใช้ที่จะต้องมีอักขระอย่างน้อยสามตัวซึ่งแตกต่างจากรหัสผ่านล่าสุด

สิ่งนี้จะตอบสนองความต้องการของการมีรหัสผ่านที่ประกอบด้วยตัวเลขอย่างน้อยหนึ่งตัวอักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

ดูยังบทความนี้ในการตั้งค่ากฎนโยบายรหัสผ่านที่แข็งแกร่งในลินุกซ์


3
คำตอบที่ยอดเยี่ยม! ฉันควรเพิ่มเกี่ยวกับการลองใหม่เป็นสิ่งสำคัญที่ควรระวังเมื่อพิจารณานโยบายเพื่อป้องกันไม่ให้ผู้ใช้เข้าสู่ระบบที่มีความพยายามในการเข้าสู่ระบบที่ล้มเหลวล่าสุดมากเกินไป สิ่งนี้สามารถนำไปสู่ความเป็นไปได้ของการปฏิเสธการโจมตีบริการที่ง่ายที่สุดและดำเนินการได้ง่ายที่สุดในบัญชี (ลองและล้มเหลวในการเข้าสู่ระบบจำนวน X ครั้งจนกว่าบัญชีจะ "ล็อค" และผู้ใช้ที่ถูกกฎหมายไม่สามารถเข้าใช้งานได้) .
Eliah Kagan

คำตอบที่ยอดเยี่ยมขอบคุณ :) หนึ่งคำถาม แต่ดูเหมือนว่าrootผู้ใช้สามารถเพิกเฉยต่อข้อกำหนดรหัสผ่าน ... เป็นไปได้หรือไม่ที่จะบังคับใช้สิ่งนี้กับผู้ใช้รูทด้วย?
สตีเฟ่น RC

@Valorin ส่วนใดของข้อกำหนดรหัสผ่านคือผู้ใช้รูทไม่เคารพ?
Kevin Bowen

@ maggotbrain สิ่งใดมันโยนคำเตือน แต่ก็ยังบันทึกไว้นี่คือรหัสผ่าน 'บ่วง': paste.ubuntu.com/1543154
Stephen RC

@Valorin ดังนั้นคุณได้เปิดใช้งานบัญชีที่เรียกว่า 'root' และสามารถใช้บัญชีนี้ด้วยรหัสผ่านนี้ถูกต้องหรือไม่ คุณได้รับคำเตือนอะไรบ้าง น่าเสียดายที่ฉันไม่มีเครื่องจักรที่มีบัญชีรูทที่เปิดใช้งานเพื่อทดสอบด้วยตนเอง ดูเหมือนเป็นแมลง แต่ต้องการข้อมูลเพิ่มเติม
Kevin Bowen

0

มีทางแยกของpam_cracklibโดย Tomas Mraz: pam_pwqualityพร้อมทางเลือกที่ดีกว่าเล็กน้อย

เพิ่มด้วยapt install libpam-pwquality หรือ passwd จะบ่น:

ไม่รู้จักโมดูล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.