ค้นหาเว็บไซต์

การกำหนดค่านโยบายรหัสผ่านโดเมนใน Active Directory


เพื่อให้แน่ใจว่ามีการรักษาความปลอดภัยระดับสูงสำหรับบัญชีผู้ใช้ในโดเมน Active Directory ผู้ดูแลระบบต้องกำหนดค่าและใช้นโยบายรหัสผ่านของโดเมน นโยบายรหัสผ่านควรมีความซับซ้อนเพียงพอ ความยาวของรหัสผ่าน และความถี่ในการเปลี่ยนรหัสผ่านของบัญชีผู้ใช้และบัญชีบริการ ดังนั้น คุณสามารถทำให้ผู้โจมตีใช้กำลังดุร้ายหรือจับรหัสผ่านของผู้ใช้ได้ยากเมื่อส่งผ่านเครือข่าย

นโยบายรหัสผ่านในนโยบายโดเมนเริ่มต้น

ตามค่าเริ่มต้น ในการตั้งค่าข้อกำหนดทั่วไปสำหรับรหัสผ่านของผู้ใช้ในโดเมน AD จะใช้การตั้งค่า Group Policy (GPO) นโยบายรหัสผ่านของบัญชีผู้ใช้โดเมนได้รับการกำหนดค่าใน นโยบายโดเมนเริ่มต้น นโยบายนี้เชื่อมโยงกับรากของโดเมนและต้องใช้กับตัวควบคุมโดเมนที่มีบทบาทตัวจำลอง PDC

  1. ในการกำหนดค่านโยบายรหัสผ่านของบัญชี AD ให้เปิดคอนโซล การจัดการนโยบายกลุ่ม (

    gpmc.msc

    );

  2. ขยายโดเมนของคุณและค้นหา GPO ชื่อ นโยบายโดเมนเริ่มต้น คลิกขวาแล้วเลือก แก้ไข

  3. นโยบายรหัสผ่านอยู่ในส่วน GPO ต่อไปนี้: การกำหนดค่าคอมพิวเตอร์ -> นโยบาย -> การตั้งค่า Windows->การตั้งค่าความปลอดภัย -> นโยบายบัญชี -> นโยบายรหัสผ่าน;

  4. คลิกสองครั้งที่การตั้งค่านโยบายเพื่อแก้ไข หากต้องการเปิดใช้การตั้งค่านโยบายเฉพาะ ให้ทำเครื่องหมายที่ กำหนดการตั้งค่านโยบายนี้ และระบุค่าที่จำเป็น (ในภาพหน้าจอด้านล่าง ฉันได้กำหนดความยาวขั้นต่ำของรหัสผ่านไว้ที่ 8 อักขระ) บันทึกการเปลี่ยนแปลง

  5. การตั้งค่านโยบายรหัสผ่านใหม่จะถูกนำไปใช้กับคอมพิวเตอร์โดเมนทั้งหมดในพื้นหลังในบางเวลา (90 นาที) ระหว่างการบู๊ตของคอมพิวเตอร์ หรือคุณสามารถใช้นโยบายได้ทันทีโดยเรียกใช้

    gpupdate /force

    สั่งการ.

คุณสามารถเปลี่ยนการตั้งค่านโยบายรหัสผ่านจากคอนโซลการจัดการ GPO หรือโดยใช้ PowerShell cmdlet Set-ADDefaultDomainPasswordPolicy:

Set-ADDefaultDomainPasswordPolicy -Identity a-d.site -MinPasswordLength 10 -LockoutThreshold 3

การตั้งค่านโยบายรหัสผ่านพื้นฐานบน Windows

ลองพิจารณาการตั้งค่ารหัสผ่าน Windows ที่มีทั้งหมด มีการตั้งค่ารหัสผ่านหกรายการใน GPO:

  • บังคับใช้ประวัติรหัสผ่าน - กำหนดจำนวนรหัสผ่านเก่าที่จัดเก็บไว้ใน AD ซึ่งจะป้องกันไม่ให้ผู้ใช้ใช้รหัสผ่านเก่า

    อย่างไรก็ตาม ผู้ดูแลโดเมนหรือผู้ใช้ที่ได้รับมอบสิทธิ์รีเซ็ตรหัสผ่านใน AD สามารถตั้งรหัสผ่านเดิมสำหรับบัญชีด้วยตนเองได้

  • อายุรหัสผ่านสูงสุด - กำหนดวันหมดอายุของรหัสผ่านเป็นวัน หลังจากรหัสผ่านหมดอายุ Windows จะขอให้ผู้ใช้เปลี่ยนรหัสผ่าน รับประกันความสม่ำเสมอของการเปลี่ยนรหัสผ่านโดยผู้ใช้

    คุณสามารถค้นหาเมื่อรหัสผ่านของผู้ใช้เฉพาะหมดอายุโดยใช้ PowerShell:

    Get-ADUser -Identity j.werder -Properties msDS-UserPasswordExpiryTimeComputed | select-object @{Name="ExpirationDate";Expression= {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed") }} 
  • ความยาวรหัสผ่านขั้นต่ำ - ขอแนะนำว่ารหัสผ่านควรมีสัญลักษณ์อย่างน้อย 8 ตัว (หากคุณระบุ 0 ที่นี่ ไม่ต้องใช้รหัสผ่าน)

  • อายุขั้นต่ำของรหัสผ่าน - กำหนดความถี่ที่ผู้ใช้สามารถเปลี่ยนรหัสผ่านได้ การตั้งค่านี้จะไม่อนุญาตให้ผู้ใช้เปลี่ยนรหัสผ่านบ่อยเกินไปเพื่อกลับไปใช้รหัสผ่านเก่าที่ต้องการโดยการลบออกจากประวัติรหัสผ่านหลังจากเปลี่ยนรหัสผ่านหลายครั้งติดต่อกัน ตามกฎแล้วควรตั้ง 1 วันที่นี่เพื่อให้ผู้ใช้สามารถเปลี่ยนรหัสผ่านได้เองหากถูกบุกรุก (มิฉะนั้นผู้ดูแลระบบจะต้องเปลี่ยนรหัสผ่าน)

  • รหัสผ่านต้องเป็นไปตามข้อกำหนดด้านความซับซ้อน - หากเปิดใช้งานนโยบาย ผู้ใช้จะไม่สามารถใช้ชื่อบัญชีในรหัสผ่านได้ (ไม่เกิน 2 สัญลักษณ์ของ

    username

    หรือ

    Firstname

    ติดต่อกัน) นอกจากนี้ ต้องใช้สัญลักษณ์ 3 ประเภทในรหัสผ่าน ได้แก่ ตัวเลข (0-9), ตัวพิมพ์ใหญ่, ตัวพิมพ์เล็ก และอักขระพิเศษ ($, #, % เป็นต้น) นอกจากนี้ เพื่อป้องกันการใช้รหัสผ่านที่ไม่รัดกุม (จากพจนานุกรมรหัสผ่าน) ขอแนะนำให้ตรวจสอบรหัสผ่านของผู้ใช้เป็นประจำในโดเมน AD

  • จัดเก็บรหัสผ่านโดยใช้การเข้ารหัสแบบย้อนกลับได้ - รหัสผ่านของผู้ใช้จะถูกจัดเก็บแบบเข้ารหัสในฐานข้อมูล AD แต่ในบางกรณี คุณต้องให้สิทธิ์เข้าถึงรหัสผ่านของผู้ใช้แก่บางแอป หากเปิดใช้งานการตั้งค่านโยบายนี้ รหัสผ่านจะได้รับการป้องกันน้อยกว่า (เกือบจะเป็นข้อความล้วน) ไม่ปลอดภัย (ผู้โจมตีสามารถเข้าถึงฐานข้อมูลรหัสผ่านได้หาก DC ถูกบุกรุก สามารถใช้ตัวควบคุมโดเมนแบบอ่านอย่างเดียว (RODC) เป็นหนึ่งในมาตรการป้องกัน)

หากผู้ใช้พยายามเปลี่ยนรหัสผ่านที่ไม่ตรงกับนโยบายรหัสผ่านในโดเมน ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น:

Unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirements of the domain.

นอกจากนี้ ควรกำหนดค่าการตั้งค่ารหัสผ่านต่อไปนี้ในส่วน GPO รหัสผ่านการล็อกบัญชี:

  • เกณฑ์การล็อกบัญชี - จำนวนครั้งในการพยายามลงชื่อเข้าใช้ที่ล้มเหลว (ด้วยรหัสผ่านผิด) สามารถทำได้โดยผู้ใช้ก่อนที่บัญชีจะล็อกเอาต์

  • ระยะเวลาการล็อกบัญชี - ระยะเวลาที่บัญชีจะถูกล็อก หากผู้ใช้ป้อนรหัสผ่านผิดหลายครั้ง

  • รีเซ็ตตัวนับเกณฑ์การล็อกบัญชีหลังจาก - จำนวนนาทีที่ตัวนับเกณฑ์การล็อกบัญชีจะถูกรีเซ็ต

หากบัญชีโดเมนใดบัญชีหนึ่งถูกล็อกบ่อยเกินไป คุณสามารถระบุแหล่งที่มาของการล็อกบัญชีโดยใช้วิธีนี้

การตั้งค่าเริ่มต้นของนโยบายรหัสผ่านในโดเมน AD แสดงอยู่ในตารางด้านล่าง:

PolicyDefault value
Enforce password history24 passwords
Maximum password age42 days
Minimum password age1 day
Minimum password length7
Password must meet complexity requirementsEnabled
Store passwords using reversible encryptionDisabled
Account lockout durationNot set
Account lockout threshold0
Reset account lockout counter afterNot set

ใน Security Compliance Toolkit Microsoft ขอแนะนำให้ใช้การตั้งค่านโยบายรหัสผ่านต่อไปนี้:

  • บังคับใช้ประวัติรหัสผ่าน: 24

  • อายุรหัสผ่านสูงสุด: ไม่ได้ตั้งค่า

  • อายุรหัสผ่านขั้นต่ำ: ไม่ได้ตั้งค่า

  • ความยาวรหัสผ่านขั้นต่ำ: 14

  • รหัสผ่านต้องเป็นไปตามความซับซ้อน: เปิดใช้งาน

  • จัดเก็บรหัสผ่านโดยใช้การเข้ารหัสย้อนกลับ: ปิดใช้งาน

ในคำแนะนำ Security Baseline 1903 ล่าสุด Microsoft ระบุว่าไม่จำเป็นต้องเปิดใช้งานนโยบายการหมดอายุของรหัสผ่านสำหรับผู้ใช้ การหมดอายุของรหัสผ่านไม่ได้เพิ่มความปลอดภัย แต่สร้างปัญหาที่ไม่จำเป็นเท่านั้น (ลิงก์)

จะตรวจสอบนโยบายรหัสผ่านปัจจุบันในโดเมน AD ได้อย่างไร

คุณสามารถดูการตั้งค่านโยบายรหัสผ่านปัจจุบันได้ในนโยบายโดเมนเริ่มต้นใน

gpmc.msc

คอนโซล (บนแท็บการตั้งค่า)

คุณยังสามารถแสดงข้อมูลนโยบายรหัสผ่านโดยใช้ PowerShell (ต้องติดตั้งโมดูล AD PowerShell บนคอมพิวเตอร์):

Get-ADDefaultDomainPasswordPolicy

ComplexityEnabled: True
DistinguishedName: DC=a-d,DC=com
LockoutDuration: 00:20:00
LockoutObservationWindow: 00:30:00
LockoutThreshold: 0
MaxPasswordAge: 60.00:00:00
MinPasswordAge: 1.00:00:00
MinPasswordLength: 8
objectClas : {domainDNS}
PasswordHistoryCount: 24
ReversibleEncryptionEnabled: False

นอกจากนี้ คุณสามารถตรวจสอบการตั้งค่านโยบายรหัสผ่าน AD ปัจจุบันบนคอมพิวเตอร์โดเมนใดก็ได้โดยใช้คำสั่ง gpresult

นโยบายรหัสผ่านหลายรายการในโดเมน Active Directory

ตัวควบคุมโดเมน ซึ่งเป็นเจ้าของบทบาท PDC Emulator FSMO มีหน้าที่รับผิดชอบในการจัดการนโยบายรหัสผ่านของโดเมน ต้องมีสิทธิ์ของผู้ดูแลระบบโดเมนในการแก้ไขการตั้งค่า นโยบายโดเมนเริ่มต้น

ในขั้นต้น อาจมีนโยบายรหัสผ่านเดียวในโดเมน ซึ่งใช้กับรูทของโดเมนและมีผลกับผู้ใช้ทั้งหมดโดยไม่มีข้อยกเว้น (มีความแตกต่างเล็กน้อย แต่เราจะพูดถึงในภายหลัง) แม้ว่าคุณจะสร้าง GPO ใหม่ด้วยการตั้งค่ารหัสผ่านที่แตกต่างกัน และนำไปใช้กับ OU เฉพาะที่มีพารามิเตอร์ Enforced and Block Inheritance ก็จะไม่มีผลกับผู้ใช้

นโยบายรหัสผ่านของโดเมนมีผลกับวัตถุ AD ของผู้ใช้เท่านั้น รหัสผ่านคอมพิวเตอร์ที่ให้ความสัมพันธ์ที่เชื่อถือของโดเมนมีการตั้งค่า GPO ของตนเอง

ก่อน Active Directory ใน Windows Server 2008 สามารถกำหนดค่านโยบายรหัสผ่านได้เพียงหนึ่งนโยบายต่อโดเมน ใน AD เวอร์ชันใหม่ คุณสามารถสร้างนโยบายรหัสผ่านหลายรายการสำหรับผู้ใช้หรือกลุ่มต่างๆ โดยใช้นโยบายรหัสผ่านแบบละเอียด (FGPP) Grained Password Policy ให้คุณสร้างและบังคับใช้ Password Settings Objects (PSOs) ที่แตกต่างกัน ตัวอย่างเช่น คุณสามารถสร้าง PSO ที่มีความยาวหรือความซับซ้อนของรหัสผ่านเพิ่มขึ้นสำหรับบัญชีผู้ดูแลระบบของโดเมน หรือทำให้รหัสผ่านของบางบัญชีง่ายขึ้น หรือแม้แต่ปิดการใช้งานโดยสิ้นเชิง

ในสภาพแวดล้อมแบบเวิร์กกรุ๊ป คุณจะต้องกำหนดค่านโยบายรหัสผ่านบนคอมพิวเตอร์แต่ละเครื่องโดยใช้โปรแกรมแก้ไข GPO ในเครื่อง - gpedit.msc หรือคุณสามารถถ่ายโอนการตั้งค่านโยบาย GPO ในเครื่องระหว่างคอมพิวเตอร์โดยใช้วิธีนี้

บทความที่เกี่ยวข้อง