随着互联网技术的不断发展,企业对信息安全的重视程度日益提升。终端管理是信息安全中的关键环节,由于终端用户和服务器管理员的安全意识和技术水平差异很大,如何在终端管理层面制定完善的制度并利用现有技术规范用户行为至关重要。其中,权限管理是重中之重,而企业内终端的密码管理则是权限管理的基础。

在小型企业中,PC客户端通常直接使用客户端,这种方式下终端上需要管理的密码仅有工作组账号密码。这种情况下的密码管理相对简单,可以通过Excel等工具进行管理即可。而在中大型企业中,通常会使用AD(活动目录)进行统一身份认证,此时域用户账号的密码集中存储在AD数据库中,用户权限也保留在AD中,AD的安全性远高于普通PC,因此安全性大大提升。
然而,使用活动目录时,如何管理加入域的计算机的本地管理员密码成为企业IT运维管理员的一大难题。由于计算机数量庞大且在处理故障时确实需要本地管理员账号,下面介绍几种在企业中常见的域内计算机本地管理员账号管理方式,并重点介绍LAPS(Local Administrator Password Solution)。
常见的几种本地管理员密码管理方式:
直接禁用本地管理员:这种方法简单直接,通过组策略禁用本地管理员账号,省去了管理本地账号的工作。问题在于,当电脑因故障脱离域或无法使用域账号登录时,电脑将无法登录,需要借助PE等工具启用本机管理员并设置密码。虽然管理简单,但安全性有一定保障。
使用统一的本地管理员密码:这种方式在企业中较为常见,本地administrator管理员密码由少数管理员掌握,公司或部门内保持一致的本地管理员密码(可以通过组策略实现)。这种方法便于helpdesk运维工作,但一旦密码泄露,将带来极大的安全隐患,并不推荐。
每台电脑设置不同的密码:每台电脑设置一个不同的管理员密码,由IT人员记录在Excel或笔记本上。这种方式的问题在于每次查找某台电脑的管理员密码时,需要查找文件或记录,且无法定期修改,增加了IT人员的运维工作量。
为每台PC本地管理员设置随机密码:在少数企业中,通过计算机开机脚本为每台计算机设置随机密码,并通过其他方法禁止具有本地管理员权限的用户更改本地账号密码。这种方式与直接禁用本地管理员账号的优缺点差异不大。
使用LAPS统一管理计算机本地管理员密码:Microsoft本地管理员密码解决方案(LAPS,Local Administrator Password Solution)为Active Directory中的每台计算机提供自动的本地管理员账号管理。安装在每台计算机上的客户端组件会生成随机密码,更新关联的AD计算机账号上的LAPS密码属性,并在本地设置密码。LAPS配置通过组策略进行管理,该组策略提供了密码复杂性、密码长度、密码更改的本地账号名称、密码更改频率等设置。当需要本地管理员密码时,可直接从AD中读取,当然前提是有权限。
优点:
- 全自动、可配置的计算机本地管理员账号更新
- 通过OU访问存储的密码的简单委派
- 利用了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 Framework 4.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安装部署:
-
安装LAPS.exe组件:

一般使用DC作为服务器端,安装时,务必不勾选第一项,防止策略误下发影响AD域管理员密码。
-
架构扩展在DC中运行:
Import-Module Admpwd.ps Update-AdmPwdADSchema

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

-
删除默认的扩展权限:
Shopxp购物系统Html版下载一个经过完善设计的经典网上购物系统,适用于各种服务器环境的高效网上购物系统解决方案,shopxp购物系统Html版是我们首次推出的免费购物系统源码,完整可用。我们的系统是免费的不需要购买,该系统经过全面测试完整可用,如果碰到问题,先检查一下本地的配置或到官方网站提交问题求助。 网站管理地址:http://你的网址/admin/login.asp 用户名:admin 密 码:admin 提示:如果您
密码存储属于机密内容,如果对电脑所在的OU权限配置不对,可能会使非授权的用户能读取密码,所以从用户和组的权限中删除“All extended rights”属性的权限,不允许读取属性 ms-Mcs-AdmPwd 的值。
如果需要,请对每个放置电脑的OU重复以下操作,如果子OU且你禁用了权限继承,则每个子OU也要做相同的配置。
- 打开ADSIEdit
- 在你需要配置的计算机所在OU上点击右键、属性
- 单击安全选项卡
- 单击高级
- 选择不想要能读取密码的组或用户,然后单击编辑
- 取消选中所有扩展的权限

-
使用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内的密码权限分配
-
客户端安装GPO扩展(CSE):
有两种方式,可以使用组策略软件安装选项,也可以使用脚本。
组策略软件安装选项配置:

开机脚本安装:
msiexec /i \\server\\share\\LAPS.x64.msi /quiet
安装后,在客户端上可看到此安装选项。

-
组策略下发:
按照此配置选项进行策略配置。

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启用本地管理员账号的密码管理:
- 如果启用此设置,则管理本地管理员密码
- 如果禁用或未配置此设置,则不管理本地管理员密码
-
密码复杂性:生成新密码时使用哪些字符
-
客户端刷新策略,生效:

在使用LAPS UI修改密码时,客户端必需刷新策略,客户端更改后再写入到AD中。
参考链接:
https://www.php.cn/link/8c2a967483e45118cda7e825e347ef88
作者:王志辉









