保護 Active Directory 中的使用者型服務帳戶
內部部署使用者帳戶是協助保護在 Windows 上執行服務的傳統方法。 當您的服務不支援群組受控服務帳戶 (gMSA) 和獨立受控服務帳戶 (sMSA) 時,請使用這些帳戶。 如需要使用的帳戶類型之相關訊息,請參閱 保護內部部署服務帳戶。
您可以調查是否將您的服務移至 Azure 服務帳戶,例如受控識別或服務主體。
深入了解:
您可以建立內部部署使用者帳戶,為帳戶存取本機和網路資源所需的服務和權限提供安全性內容。 內部部署使用者帳戶需要手動密碼管理,就像任何其他 Active Directory (AD) 使用者帳戶一樣。 服務和網域管理員必須維持強式密碼管理流程,以協助保護這些帳戶。
當您建立使用者帳戶作為服務帳戶時,只將其用於單一服務。 使用命名慣例來釐清它是個服務帳戶,以及與其相關的服務。
優勢與挑戰
內部部署使用者帳戶是多用途的帳戶類型。 做為服務帳戶的使用者帳戶是由控管使用者帳戶的原則所控制。 如果您無法使用 MSA,請使用它們。 評估電腦帳戶是否為更好的選項。
下表會摘要說明內部部署使用者帳戶的挑戰:
挑戰 | 風險降低 |
---|---|
密碼管理為手動,可能會導致較弱的安全性與服務停機。 | - 請確保標準密碼複雜度,且變更是由維護強式密碼的流程所控管 - 使用服務密碼協調密碼變更,這有助於減少服務停機時間 |
識別作為服務帳戶的內部部署使用者帳戶可能很困難 | - 記錄您環境中部署的服務帳戶 - 追蹤帳戶名稱和它們可以存取的資源 - 請考慮將前置詞 svc 新增至做為服務帳戶的使用者帳戶 |
尋找用作服務帳戶的內部部署使用者帳戶
內部部署使用者帳戶與其他 AD 使用者帳戶一樣。 可能難以找到帳戶,因為沒有使用者帳戶屬性會將其識別為服務帳戶。 建議您為使用者帳戶建立命名慣例,以做為服務帳戶。 例如,將前置詞 svc 新增至服務名稱:svc-HRDataConnector。
使用下列其中一些準則來尋找服務帳戶。 不過,此方法可能找不到帳戶:
- 受信任可委派
- 具有服務主體名稱
- 具有永不過期密碼
若要尋找服務所使用的內部部署使用者帳戶,執行下列 PowerShell 命令:
若要尋找受信任可委派的帳戶:
Get-ADObject -Filter {(msDS-AllowedToDelegateTo -like '*') -or (UserAccountControl -band 0x0080000) -or (UserAccountControl -band 0x1000000)} -prop samAccountName,msDS-AllowedToDelegateTo,servicePrincipalName,userAccountControl | select DistinguishedName,ObjectClass,samAccountName,servicePrincipalName, @{name='DelegationStatus';expression={if($_.UserAccountControl -band 0x80000){'AllServices'}else{'SpecificServices'}}}, @{name='AllowedProtocols';expression={if($_.UserAccountControl -band 0x1000000){'Any'}else{'Kerberos'}}}, @{name='DestinationServices';expression={$_.'msDS-AllowedToDelegateTo'}}
若要尋找具有服務主體名稱的帳戶:
Get-ADUser -Filter * -Properties servicePrincipalName | where {$_.servicePrincipalName -ne $null}
若要尋找具有永不過期密碼的帳戶:
Get-ADUser -Filter * -Properties PasswordNeverExpires | where {$_.PasswordNeverExpires -eq $true}
您也可以稽核敏感性資源的存取權,並將稽核記錄封存到安全性資訊和事件管理 (SIEM) 系統。 您可以透過使用 Azure Log Analytics 或 Microsoft Sentinel 來搜尋並分析服務帳戶。
評估內部部署使用者帳戶安全性
使用下列準則來評估用作服務帳戶的內部部署使用者帳戶的安全性:
- 密碼管理原則
- 在特殊權限群組中具有成員資格的帳戶
- 重要資源的讀取/寫入權限
緩解潛在的安全性問題
如需潛在的內部部署使用者帳戶安全性問題及其風險降低,請參閱下表:
安全性問題 | 風險降低 |
---|---|
密碼管理 | - 確保密碼複雜度和密碼變更受到定期更新和強式密碼需求的控管 - 使用密碼更新協調密碼變更,以將服務停機時間降到最低 |
帳戶是特殊權限群組的成員。 | - 檢閱群組成員資格 - 從特殊權限群組中移除帳戶 - 授與帳戶權限和存取權限以執行其服務 (諮詢服務提供者) - 例如,拒絕在本機登入或互動式登入 |
帳戶具有敏感性資源的讀取/寫入權限。 | - 稽核敏感性資源的存取 - 將稽核記錄封存至 SIEM:Azure Log Analytics 或 Microsoft Sentinel - 如果您偵測到不想要的存取層級,請補救資源權限 |
保護帳戶類型
Microsoft 不建議您使用內部部署使用者帳戶作為服務帳戶。 針對使用此帳戶類型的服務,評估是否可以設定為使用 gMSA 或 sMSA。 此外,評估您是否可以將服務移至 Azure,以啟用更安全的帳戶類型。
下一步
深入了解如何保護服務帳戶: