Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows Server 2008 細粒度密碼原則 (PSO) 實作教學

編輯:Windows Server 教學

背景:舊版單一密碼原則的限制

Windows 2000/2003 僅支援網域層級單一「預設網域原則」,所有使用者共用相同密碼長度、複雜度、鎖定門檻。若需差異化 (如管理員強密碼、服務帳號永不鎖定),只能建立新網域,成本極高。

Server 2008 突破:細粒度密碼原則 (Fine-Grained Password Policy / PSO)

透過 ADSI Edit 在 `CN=Password Settings Container,CN=System,DC=domain,DC=com` 建立 `msDS-PasswordSettings` 物件 (PSO),並連結至「使用者」或「全域安全性群組」(非 OU),即可實現多組密碼/鎖定原則共存。

建立 PSO 完整步驟 (圖文對應屬性)

  1. 開啟 `adsiedit.msc`,連線至「預設命名內容」,展開至 CN=Password Settings Container,CN=System,DC=domain,DC=com。
  2. 右鍵 → 新增 → 物件 → 選擇 msDS-PasswordSettings。
  3. 依序填寫下列屬性 (對應群組原則項目):
屬性 (LDAP 顯示名稱)對應群組原則範例值說明
msDS-PasswordSettingsPrecedence優先權10數值越小優先權越高,同一使用者套用多個 PSO 時生效
msDS-PasswordReversibleEncryptionEnabled使用可還原加密儲存密碼FALSE建議 FALSE
msDS-PasswordHistoryLength強制密碼歷程記錄240-1024
msDS-PasswordComplexityEnabled密碼必須符合複雜性需求TRUE啟用複雜度
msDS-MinimumPasswordLength密碼長度下限120-255
msDS-MinimumPasswordAge密碼最短使用期限1:00:00:00格式 DD:HH:MM:SS (1 天)
msDS-MaximumPasswordAge密碼最長使用期限42:00:00:00格式 DD:HH:MM:SS (42 天)
msDS-LockoutThreshold帳戶鎖定臨界值50-65535 (0=不鎖定)
msDS-LockoutObservationWindow重設帳戶鎖定計數器0:00:30:0030 分鐘
msDS-LockoutDuration帳戶鎖定時間0:00:30:0030 分鐘 (0=永久鎖定需管理員解鎖)

ADSI Edit 位置
圖 1:定位 Password Settings Container

新增 msDS-PasswordSettings
圖 2:建立 PSO 物件類別

PSO 名稱
圖 3:輸入 PSO 名稱 (如 "AdminStrongPolicy")

Precedence
圖 4:設定優先權

ReversibleEncryption
圖 5:可還原加密設為 FALSE

HistoryLength
圖 6:密碼歷程 24

ComplexityEnabled
圖 7:啟用複雜度

MinPasswordLength
圖 8:最小長度 12

MinPasswordAge
圖 9:最短使用期限 1 天

MaxPasswordAge
圖 10:最長使用期限 42 天

LockoutThreshold
圖 11:鎖定臨界值 5 次

LockoutObservationWindow
圖 12:觀察視窗 30 分鐘

LockoutDuration
圖 13:鎖定持續 30 分鐘

套用 PSO 至目標群組

  1. 在 ADSI Edit 中雙擊剛建立的 PSO 物件。
  2. 編輯屬性 msDS-PSOAppliesTo,加入預先建立的全域安全性群組 (如 `G_AdminStrongPwd`)。
  3. 確定 → 完成。

編輯 msDS-PSOAppliesTo
圖 14:編輯套用目標屬性

選擇目標群組
圖 15:選取目標全域安全性群組

驗證實測

  1. 建立測試使用者 `user1`,初始不屬於任何 PSO 群組。
  2. 預設網域原則設為「不啟用複雜度、最小長度 0」。
  3. 重設 `user1` 密碼為 `123` → 成功 (套用預設原則)。
  4. 將 `user1` 加入 `G_AdminStrongPwd` 群組。
  5. 再次重設密碼為 `123` → 失敗,提示不符合複雜度/長度要求 (即時生效 PSO)。

測試前
圖 16:加入群組前可用弱密碼

測試後
圖 17:加入群組後弱密碼被拒

關鍵限制與最佳實務

  • 僅能連結至「使用者」或「全域安全性群組」,不可連結 OU、通用群組、網域本機群組。
  • 優先權 (Precedence) 機制:同一使用者屬多個 PSO 群組時,數值最小者生效。建議管理員 PSO=10、一般使用者 PSO=50、服務帳號 PSO=100。
  • 功能等級需求:網域功能等級必須為 Windows Server 2008 或以上。
  • RSAT 管理工具:Server 2008 R2 起提供 `Active Directory 管理中心` (dsac.exe) 圖形化管理 PSO,免用 ADSI Edit。

結語

PSO 徹底解決單一網域內差異化密碼需求,配合群組成員動態變更即時生效,零停機、零信任委派,是 Server 2008 AD 重要的安全里程碑。

Copyright © Windows教程網 All Rights Reserved