Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

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

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

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

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

  1. ในการกำหนดค่านโยบายรหัสผ่านบัญชี AD ให้เปิด การจัดการนโยบายกลุ่ม คอนโซล (gpmc.msc );
  2. ขยายโดเมนของคุณและค้นหา GPO ชื่อ นโยบายโดเมนเริ่มต้น . คลิกขวาและเลือก แก้ไข; การกำหนดค่านโยบายรหัสผ่านโดเมนใน Active Directory
  3. นโยบายรหัสผ่านอยู่ในส่วน GPO ต่อไปนี้:การกำหนดค่าคอมพิวเตอร์-> นโยบาย-> การตั้งค่า Windows->การตั้งค่าความปลอดภัย -> นโยบายบัญชี -> นโยบายรหัสผ่าน;
  4. ดับเบิลคลิกที่การตั้งค่านโยบายเพื่อแก้ไข หากต้องการเปิดใช้งานการตั้งค่านโยบายเฉพาะ ให้เลือก กำหนดการตั้งค่านโยบายนี้ และระบุค่าที่จำเป็น (ในภาพหน้าจอด้านล่าง ฉันได้ตั้งค่าความยาวรหัสผ่านขั้นต่ำเป็น 8 ตัวอักษร) บันทึกการเปลี่ยนแปลง; การกำหนดค่านโยบายรหัสผ่านโดเมนใน Active Directory
  5. การตั้งค่านโยบายรหัสผ่านใหม่จะมีผลกับคอมพิวเตอร์โดเมนทั้งหมดในเบื้องหลังในบางครั้ง (90 นาที) ระหว่างการบู๊ตคอมพิวเตอร์ หรือคุณสามารถใช้นโยบายได้ทันทีโดยเรียกใช้ gpupdate /force คำสั่ง

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

Set-ADDefaultDomainPasswordPolicy -Identity woshub.com -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.

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

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

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

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

นโยบาย ค่าเริ่มต้น
บังคับใช้ประวัติรหัสผ่าน รหัสผ่าน 24 อัน
อายุรหัสผ่านสูงสุด 42 วัน
อายุรหัสผ่านขั้นต่ำ 1 วัน
ความยาวรหัสผ่านขั้นต่ำ 7
รหัสผ่านต้องตรงตามข้อกำหนดด้านความซับซ้อน เปิดใช้งาน
จัดเก็บรหัสผ่านโดยใช้การเข้ารหัสแบบย้อนกลับ ปิดการใช้งาน
ระยะเวลาการปิดบัญชี ไม่ได้ตั้งค่า
เกณฑ์การปิดบัญชี 0
รีเซ็ตตัวนับการปิดบัญชีหลังจาก ไม่ได้ตั้งค่า

ในชุดเครื่องมือการปฏิบัติตามข้อกำหนดด้านความปลอดภัย Microsoft ขอแนะนำให้ใช้การตั้งค่านโยบายรหัสผ่านต่อไปนี้:

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

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

คุณสามารถดูการตั้งค่านโยบายรหัสผ่านปัจจุบันได้ในนโยบายโดเมนเริ่มต้นใน gpmc.msc คอนโซล (บนแท็บการตั้งค่า)

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

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

Get-ADDefaultDomainPasswordPolicy

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

ComplexityEnabled: True
DistinguishedName: DC=woshub,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 และ Block Inheritance จะไม่มีผลกับผู้ใช้

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

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

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

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