域内计算机本地管理员密码管理

随着互联网技术的不断发现,信息安全在企业中的受重视度也越来越高,终端管理是信息安全中至关重要的一环,不可能要求终端用户和服务器管理员有着一样的安全隐患意识和技术水平,因此在终端管理员层如何制定完善终端管理的制度和利用现有的技术来规范用户行为至关重要。其中做好权限的管理是重中之重,而企业内终端的密码管理则是权限管理的基础。

在小型企业中,PC客户端直接使用客户端,这种方式终端上需要管理的密码只有工作组账号密码,这种熟练较少,只有使用excel等其他小工具管理即可。在中大型企业中,则会使用AD活动目录来进行统一身份认证,此时域用户账号的密码则集中保留中AD数据库中,并且用户权限也是保留在AD中,AD的安全性远高于普通PC,因此安全性大大提升。

但是使用活动目录,如何管理入域计算机的本地管理员密码是企业IT运维管理员头疼的一件事,基数庞大且在处理故障时又确实需要本地管理员账号,以下我就介绍几种在企业中常见的域内计算机本地管理员账号管理方式,其中着重介绍LAPS(Local Administrator Password Solution)。

常见的几种本地管理员密码管理方式

1. 直接禁用本地管理员

这是一种简单粗暴的方式,直接省去管理本地账号的工作,这种方式可以使用组策略来实现,问题是电脑因故障脱离域,或是无法使用域账号登录时,电脑就无法登录,需要借助PE等工具启用本机管理员并设置密码。虽然管理简单但是安全性有保障。

2.使用统一的本地管理员密码

这种方式在企业中最为常见,本地administrator管理员密码掌握在少数管理员手中,全公司或者单个部门保持一致的本地管理员密码(可以通过组策略实现),这种方式对于helpdesk运维工作带来的极大的方便,但是只要出现密码泄露则会带来极大的隐患,并不是很推荐的做法。

3.每台电脑设置不一样的密码

每台电脑设置一个不同的管理员密码,由IT人员记录在Excel或是笔记本上;但存在的问题是:每次要找某台电脑的管理员密码时,要去找文件或是记录,而且也不能定时修改!这种方式大大的增加的IT人员的运维工作量。

4.为每台PC本地管理员设置随机密码

在少部分企业中,通过计算机开机脚本,为每台计算机设置随机密码,并通过其他方法配合禁止有本地管理员权限的用户去更改本地账号密码,此种方式与直接禁用本地管理员账号优缺点并不太大差异。

5.使用LAPS统一管理计算机本地管理员密码

Microsoft本地管理员密码解决方案(LAPS,Local Administrator Password Solution)为Active Directory中的每台计算机提供自动的本地管理员帐户管理。安装在每台计算机上的客户端组件会生成随机密码,更新关联的AD计算机帐户上的LAPS密码属性,并在本地设置密码。LAPS配置通过组策略进行管理,该组策略提供了密码复杂性,密码长度,密码更改的本地帐户名称,密码更改频率等值。当需要本地管理员密码时可直接从AD中读取,当然前提是有权限。

优点:

  • 全自动,可配置的计算机本地管理员帐户更新
  • 通过OU访问存储的密码的简单委派。
  • 由于LAPS利用了Active Directory组件(组策略,计算机对象属性等),因此不需要其他服务器。
  • 计算机帐户只能写入/更新自己的本地管理员帐户密码(ms-Mcs-AdmPwd属性),而不能从该属性读取密码。
  • 密码更新流量已加密。
  • 可以轻松地为OU中的每台计算机更改密码。
  • 免费

缺点:

  • 仅存储当前密码,并且可供检索
  • 一次只能由LAPS管理一个本地管理员帐户的密码(只有一个密码属性)
  • 域控制器的危害可能会危害域中的所有本地管理员帐户密码。
  • 密码可以随时访问,并可以由委派的密码人员随时使用。虽然可以启用审核,但必须按每个OU,每个组配置,以便在域控制器上记录事件ID 4662。

LAPS组件

代理-组策略客户端扩展(CSE)-通过MSI安装

  • 事件记录
  • 随机密码生成-从客户端计算机写入AD计算机对象

PowerShell模块

  • 权限配置

Active Directory-集中控制

  • 域控制器安全日志中的审核跟踪
  • 计算机对象特殊属性(ms-Mcs-AdmPwd、ms-Mcs-AdmPwdExpirationTime)

LAPS受支持的版本

活动目录:

  • Windows 2003 SP1及更高版本

受管/客户端计算机:

  • Windows Server 2016
  • Windows Server 2012 R2数据中心(x86或x64)
  • Windows Server 2012 R2标准(x86或x64)
  • Windows Server 2012 R2基础(x86或x64)
  • Windows 8.1企业版(x86或x64)
  • Windows 8.1专业版(x86或x64)
  • Windows Server 2012数据中心(x86或x64)
  • Windows Server 2012标准版(x86或x64)
  • Windows Server 2012 Essentials(x86或x64)
  • Windows Server 2012基础(x86或x64)
  • Windows 8企业版(x86或x64)
  • Windows 8专业版(x86或x64)
  • Windows Server 2008 R2 Service Pack 1(x86或x64)
  • Windows 7 Service Pack 1(x86或x64)
  • Windows Server 2008 Service Pack 2(x86或x64)
  • Windows Vista Service Pack 2(x86或x64)
  • Microsoft Windows Server 2003 Service Pack 2(x86或x64)
  • 不支持Itanium

管理工具:

  • NET Framework4.0
  • PowerShell 2.0 或更高版本

LAPS运作核心

LAPS简化了密码管理,同时帮助客户实施针对网络攻击的建议防御措施。特别是,该解决方案可减轻客户在计算机上使用相同的管理本地帐户和密码组合时出现的横向风险。LAPS将每台计算机的本地管理员帐户的密码存储在Active Directory中,并在计算机的相应Active Directory对象的安全属性中进行保护。允许计算机在Active Directory中更新其自己的密码数据,并且域管理员可以向授权用户或组(如工作站服务台管理员)授予读取权限。

使用LAPS可以自动管理加入域的计算机上的本地管理员密码,以便每个受管计算机上的密码都是唯一的,是随机生成的,并且安全地存储在Active Directory基础结构中。该解决方案建立在Active Directory基础结构上,不需要其他支持技术。LAPS使用您在受管计算机上安装的组策略客户端扩展(CSE)来执行所有管理任务。该解决方案的管理工具可轻松配置和管理。

LAPS解决方案的核心是GPO客户端扩展(CSE),它执行以下任务,并可以在GPO更新期间执行以下操作:

  • 检查本地Administrator帐户的密码是否已过期。
  • 当旧密码过期或需要在过期之前进行更改时,生成新密码。
  • 根据密码策略验证新密码。
  • 将密码报告给Active Directory,并将密码和机密属性一起存储在Active Directory中。
  • 将密码的下一个到期时间报告给Active Directory,并将该属性与计算机帐户的属性一起存储在Active Directory中。
  • 更改管理员帐户的密码。
  • 然后,允许这样做的用户可以从Active Directory中读取密码。合格的用户可以请求更改计算机的密码。

LDAPS安装部署

1.安装LAPS.exe组件

一般使用DC作为服务器端,安装时,务必不勾选第一项,防止策略误下发影响AD域管理员密码。

2.架构扩展

在DC中运行:

Import-Module Admpwd.ps

Update-AdmPwdADSchema

此时查看AD的计算机属性会出现两个新的属性,分别是ms-MCS-AdmPwd(存储密码)和ms-MCS-AdmPwd(存储过期时间)。

3.删除默认的扩展权限

密码存储属于机密内容,如果对电脑所在的OU权限配置不对,可能会使非授权的用户能读取密码,所以从用户和组的权限中删除“All extended rights”属性的权限,不允许读取属性 ms-Mcs-AdmPwd 的值。

  • 如果需要,请对每个放置电脑的OU重复以下操作,如果子OU且你禁用了权限继承,则每个子OU也要做相同的配置。
  • 打开ADSIEdit
  • 在你需要配置的计算机所在OU上点击右键、属性
  • 单击安全选项卡
  • 单击高级
  • 选择不想要能读取密码的组或用户,然后单击编辑。
  • 取消选中所有扩展的权限

4.使用PowerShell管理LAPS权限

Set-AdmPwdComputerSelfPermission–OrgUnit "OU=computerGroup,dc=contoso,dc=com"

所有计算机帐户本身都需要有写入ms-Mcs-AdmPwdExpirationTime 和 ms-Mcs-AdmPwd属性的权限,此命令是让计算机本机可以更新的管理本地管理员密码的密码和过期时间戳

Set-AdmPwdReadPasswordPermission-OrgUnit ComputerGroup -AllowedPrincipals willwang

设置willwang账号允许读取ComputerGroup的OU内的计算机本地管理员密码

Set-AdmPwdResetPasswordPermission-OrgUnit computerGroup-AllowedPrincipals willwang

设置willwang账号允许设置ComputerGroup的OU内的计算机本地管理员密码

Find-AdmPwdExtendedRights -OrgUnit ComputerGroup | %{$_.ExtendedRightHolders}

--查找ComputerGroup的OU内的密码权限分配

5.客户端安装GPO扩展(CSE)

有两种方式,可以使用组策略软件安装选项,也可以使用脚本。

组策略软件安装选项配置

开机脚本安装

msiexec /i \\server\share\LAPS.x64.msi /quiet

安装后,在客户端上可看到此安装选项。

6.组策略下发

按照此配置选项进行策略配置。

Password Settings配置密码参数

密码复杂性

生成新密码时使用哪些字符

默认值

大字母+小写字母+数字+特殊字符

密码长度

最少:8个字符

最大值:64个字符

默认值:14个字符

密码年龄(天)

最少:1天

最长:365天

默认值:30天

Name of administrator account to manage本地管理员名称管理

管理员帐户名称——要为其管理密码的本地帐户的名称。

使用内置管理员帐户时请勿配置。即使重命名,内置的管理员帐户也会由知名的SID自动检测

在使用自定义本地管理员帐户时进行配置

Do not allow password expiration time longer than required by policy密码到期时间可能比“密码设置”策略所需的时间长

启用此设置时,不允许计划密码到期时间长于“密码设置”策略规定的密码时间。当检测到此类到期时,立即更改密码并根据策略设置密码到期。

禁用或未配置此设置时,密码到期时间可能比“密码设置”策略所需的时间长。

Enable local admin password management启用本地管理员帐户的密码管理

如果启用此设置,则管理本地管理员密码

如果禁用或未配置此设置,则不管理本地管理员密码

7.客户端刷新策略,生效

在使用LAPS UI修改密码时,客户端必需刷新策略,客户端更改后再写入到AD中。

参考链接:

https://docs.microsoft.com/en-us/previous-versions/mt227395(v=msdn.10)?redirectedfrom=MSDN

作者:王志辉