本地用户帐户是帮助保护 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,以便使用更安全的帐户类型。
后续步骤
若要详细了解如何保护服务帐户,请执行以下作: