分享方式:


保護 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,以啟用更安全的帳戶類型。

下一步

深入了解如何保護服務帳戶: