นโยบายรหัสผ่านที่ละเอียด (FGPP) อนุญาตให้คุณสร้างนโยบายรหัสผ่านหลายรายการสำหรับผู้ใช้หรือกลุ่มเฉพาะ มีนโยบายรหัสผ่านหลายข้อโดยเริ่มต้นจาก Active Directory เวอร์ชัน Windows Server 2008 ใน AD เวอร์ชันก่อนหน้า คุณสามารถสร้างนโยบายรหัสผ่านได้เพียงนโยบายเดียวต่อโดเมน (โดยใช้นโยบายโดเมนเริ่มต้น)
ในบทความนี้ เราจะแสดงวิธีสร้างและกำหนดค่า Password Setting Objects หลายรายการในโดเมน Active Directory
สารบัญ:
- แนวคิดนโยบายรหัสผ่านที่ละเอียด
- จะสร้างนโยบายการตั้งค่ารหัสผ่าน (PSO) ใน Active Directory ได้อย่างไร
- การกำหนดค่านโยบายรหัสผ่านแบบละเอียด (PSO) โดยใช้ PowerShell
แนวคิดนโยบายรหัสผ่านแบบละเอียด
นโยบายรหัสผ่านแบบละเอียดช่วยให้ผู้ดูแลระบบสามารถสร้าง ออบเจกต์การตั้งค่ารหัสผ่าน ที่กำหนดเองได้หลายรายการ (อสม. ) ในโดเมน AD ใน PSO คุณสามารถกำหนดข้อกำหนดของรหัสผ่าน (ความยาว ความซับซ้อน ประวัติ) และตัวเลือกการปิดบัญชี สามารถกำหนดนโยบาย PSO ให้กับผู้ใช้หรือกลุ่มที่ต้องการได้ แต่จะกำหนดให้กับคอนเทนเนอร์ Active Directory (OU) ไม่ได้ หากกำหนด PSO ให้กับผู้ใช้ การตั้งค่านโยบายรหัสผ่านจาก GPO นโยบายโดเมนเริ่มต้นจะไม่มีผลกับผู้ใช้อีกต่อไป
ตัวอย่างเช่น การใช้นโยบาย FGPP คุณสามารถเพิ่มข้อกำหนดความยาวและความซับซ้อนของรหัสผ่านสำหรับบัญชีผู้ดูแลระบบ บัญชีบริการ หรือผู้ใช้ที่มีสิทธิ์เข้าถึงทรัพยากรโดเมนจากภายนอก (ผ่าน VPN หรือ DirectAccess)
ข้อกำหนดพื้นฐานสำหรับการใช้นโยบายรหัสผ่าน FGPP หลายรายการในโดเมน:
- ระดับการทำงานของโดเมนของโดเมน Windows Server 2008 หรือใหม่กว่า
- นโยบายรหัสผ่านสามารถกำหนดให้กับผู้ใช้หรือ ทั่วโลก (!) กลุ่มความปลอดภัย
- FGPP ถูกนำไปใช้ทั้งหมด (คุณไม่สามารถตั้งค่ารหัสผ่านบางส่วนใน GPO และบางส่วนใน FGPP)
จะสร้างนโยบายการตั้งค่ารหัสผ่าน (PSO) ใน Active Directory ได้อย่างไร
ใน Windows Server 2012 และใหม่กว่า คุณสามารถสร้างและแก้ไขนโยบายรหัสผ่านแบบละเอียดได้จากอินเทอร์เฟซแบบกราฟิกของ Active Directory Administration Center (ADAC) คอนโซล
AD เวอร์ชันนี้ยังมี Active Directory Recycle Bin ซึ่งช่วยให้คุณกู้คืนวัตถุ AD ที่ถูกลบ และบัญชีบริการที่มีการจัดการ (gMSA)ในตัวอย่างนี้ เราจะแสดงวิธีสร้างและกำหนดนโยบายรหัสผ่านแยกต่างหากสำหรับ ผู้ดูแลระบบโดเมน กลุ่ม
เริ่มใช้งาน Active Directory Administrative Center (dsac.msc
) สลับไปที่มุมมองแบบต้นไม้และขยายระบบ คอนเทนเนอร์. ค้นหา คอนเทนเนอร์การตั้งค่ารหัสผ่าน ให้คลิกขวาและเลือก ใหม่ -> รหัสผ่าน การตั้งค่า
ระบุชื่อนโยบายรหัสผ่าน (ในตัวอย่างของเราคือ นโยบายรหัสผ่านสำหรับผู้ดูแลระบบโดเมน ) และกำหนดการตั้งค่า (ความยาวและความซับซ้อนน้อยที่สุดของรหัสผ่าน จำนวนรหัสผ่านที่เก็บไว้ในประวัติ การตั้งค่าการล็อก ความถี่ในการเปลี่ยนรหัสผ่าน ฯลฯ)
พารามิเตอร์ PSO แต่ละรายการ (msDS-PasswordSettings
class) ถูกอธิบายโดยแอตทริบิวต์ AD แยกต่างหาก: - msDS-LockoutDuration
- msDS-LockoutObservationWindow
- msDS-LockoutThreshold
- msDS-อายุรหัสผ่านสูงสุด
- msDS-อายุรหัสผ่านขั้นต่ำ
- msDS-ความยาวรหัสผ่านขั้นต่ำ
- msDS-PasswordComplexityEnabled
- msDS-PasswordHistoryLength
- msDS-PasswordReversibleEncryptionEnabled
- msDS-PasswordSettingsPrecedence
ให้ความสนใจกับความสำคัญ คุณลักษณะ. แอ็ตทริบิวต์นี้กำหนดลำดับความสำคัญของนโยบายรหัสผ่านปัจจุบัน หากออบเจ็กต์มีนโยบาย FGPP หลายรายการที่กำหนด นโยบายที่มีค่าต่ำสุดในฟิลด์ Precedence จะถูกนำไปใช้
หมายเหตุ .- หากผู้ใช้มีนโยบายสองรายการที่มีค่า Precedence เหมือนกัน ระบบจะใช้นโยบายที่มี GUID ต่ำกว่า
- หากผู้ใช้มีการกำหนดนโยบายหลายอย่าง และหนึ่งในนั้นเปิดใช้งานผ่านกลุ่มความปลอดภัย AD และอีกนโยบายหนึ่งกำหนดให้กับบัญชีผู้ใช้โดยตรง นโยบายที่กำหนดให้กับบัญชีจะถูกนำไปใช้
จากนั้นเพิ่มกลุ่มหรือผู้ใช้ในส่วน นำไปใช้กับโดยตรง ส่วนที่จะใช้นโยบาย (ในกรณีของเราคือ Domain Admins) เราขอแนะนำให้คุณใช้นโยบาย PSO กับกลุ่มมากกว่าผู้ใช้รายบุคคล บันทึกนโยบาย
หลังจากนั้น นโยบายรหัสผ่านนี้จะนำไปใช้กับสมาชิกทุกคนในกลุ่ม Domain Admins
เริ่มการทำงานของผู้ใช้ Active Directory และคอมพิวเตอร์ (dsa.msc
) คอนโซล (โดยเปิดใช้งานตัวเลือกคุณลักษณะขั้นสูง) และเปิดคุณสมบัติของผู้ใช้จากกลุ่ม Domain Admins ไปที่แท็บ Attribute Editor และเลือก Constructed ตัวเลือกใน ตัวกรอง สนาม
ค้นหา msDS-ResultantPSO คุณลักษณะผู้ใช้ แอตทริบิวต์นี้แสดงนโยบายรหัสผ่านที่เปิดใช้งานสำหรับผู้ใช้ (CN=Password Policy for Domain Admin,CN=Password Settings Container,CN=System,DC=woshub,DC=com
)
คุณยังสามารถรับนโยบาย PSO ปัจจุบันสำหรับผู้ใช้โดยใช้ dsget เครื่องมือ:
dsget user "CN=Max,OU=Admins,DC=woshub,DC=com" –effectivepso
การกำหนดค่านโยบายรหัสผ่านแบบละเอียด (PSO) โดยใช้ PowerShell
คุณสามารถจัดการนโยบายรหัสผ่าน PSO ได้โดยใช้ PowerShell (ต้องติดตั้งโมดูล Active Directory PowerShell บนคอมพิวเตอร์ของคุณ)
New-ADFineGrainedPasswordPolicy cmdlet ถูกใช้เพื่อสร้าง PSO ใหม่:
New-ADFineGrainedPasswordPolicy -Name “Admin PSO Policy” -Precedence 10 -ComplexityEnabled $true -Description “Domain password policy for admins”-DisplayName “Admin PSO Policy” -LockoutDuration “0.20:00:00” -LockoutObservationWindow “0.00:30:00” -LockoutThreshold 6 -MaxPasswordAge “12.00:00:00” -MinPasswordAge “1.00:00:00” -MinPasswordLength 8 -PasswordHistoryCount 12 -ReversibleEncryptionEnabled $false
ตอนนี้คุณสามารถกำหนดนโยบายรหัสผ่านให้กับกลุ่มผู้ใช้:
Add-ADFineGrainedPasswordPolicySubject “Admin PSO Policy” -Subjects “Domain Admins”
วิธีเปลี่ยนการตั้งค่านโยบาย PSO:
Set-ADFineGrainedPasswordPolicy "Admin PSO Policy" -PasswordHistoryCount:"12"
ระบุนโยบาย FGPP ทั้งหมดในโดเมน:
Get-ADFineGrainedPasswordPolicy -Filter *
ใช้คำสั่ง Get-ADUserResultantPasswordPolicy เพื่อรับนโยบายรหัสผ่านที่เป็นผลลัพธ์ที่ใช้กับผู้ใช้เฉพาะ
Get-ADUserResultantPasswordPolicy -Identity jsmith
ชื่อของ PSO ที่นำไปใช้กับผู้ใช้ถูกระบุใน ชื่อ สนาม
คุณสามารถแสดงรายการนโยบาย PSO ที่กำหนดให้กับกลุ่ม Active Directory โดยใช้ Get-ADGroup cmdlet:
Get-ADGroup "Domain Admins" -properties * | Select-Object msDS-PSOApplied
หากต้องการแสดงการตั้งค่านโยบายรหัสผ่านเริ่มต้นจาก Default Domain Policy GPO ให้เรียกใช้คำสั่ง:
Get-ADDefaultDomainPasswordPolicy
P@ssw0rd
, Pa$$w0rd
ฯลฯ เราขอแนะนำให้คุณตรวจสอบโดเมนของคุณเป็นระยะเพื่อหารหัสผ่านของผู้ใช้ที่ไม่รัดกุม