Microsoft Windows环境中面临的最重要问题之一是窃取凭据并利用这些凭据横向移动整个网络的能力。

当在整个环境中使用单个备份本地管理凭据集时,此任务使对手异常容易。如果通过组策略首选项部署管理帐户,则可以根据SYSVOL搜索CPASSWORD,并且可以轻松地对其进行解密。但是,为每台计算机管理一组单独的本地凭据是管理上的噩梦。幸运的是,Microsoft发明了针对此问题的解决方案,称为本地管理员密码解决方案(LAPS)。

LAPS为每台机器设置一个随机密码,该密码会按设定的时间间隔自动更改。本地管理员密码作为计算机对象的属性存储在活动目录中,并且可以通过ACL进行严格保护。密码在传输过程中受Kerberos加密保护。了解如何使用PowerShell自动执行IT任务。 下载此电子书。 

安装LAPS

LAPS具有服务器软件应用程序以及每个客户端的应用程序。可通过以下链接获得LAPS:  //www.microsoft.com/en-us/download/details.aspx?id=46899

在活动目录管理计算机上安装LAPS服务器。如果直接在Active Directory上安装,请选择在本地硬盘驱动器上安装所有功能。注意不要重置您的本地AD管理员帐户!

配置活动目录

接下来,您将需要扩展Active Directory架构以为LAPS添加两个附加属性:ms-MCS-AdmPwd(用于以明文形式存储密码)和ms-Mcs-AdmPwdExpirationTime(用于存储密码到期时间)。

接下来,您需要确保您的帐户是Schema Admins安全组的成员。以管理员身份打开Powershell并运行以下命令。

Import-module AdmPwd.PS

Update-AdmPwdADSchema

添加机器权限

接下来,必须为每台计算机授予在本地修改管理员密码字段的权限。为此,首先导入ActiveDirectory模块。

Import-module –name ActiveDirectory

接下来,您将需要获取AD组织单位名称。 使用以下命令。

Get-ADOrganizationalUnit -filter *

最后,您将利用 Set-AdmPwdComputerSelfPermission 委托权限以允许计算机对象写入 ms-MCS-AdmPwd and ms-Mcs-AdmPwdExpirationTime 属性。使用可从“可分辨名称”字段中找到的组织单位信息 Get-ADOrganizationalUnit –过滤器* command.

LAPS2

接下来,确保仅列出您希望具有ExtendedRights权限的帐户,能够读取特定OU的本地密码的帐户和组。

Find-AdmPwdExtendedRights -identity:"OU=Computers, DC=activedir, DC=test, DC=com" | Format-Table ExtendedRightHolders
LAPS3

如果您需要删除查看组或用户密码(ms-MCS-AdmPwd)的权限,请执行以下操作。

打开 广告编辑。单击连接以连接到活动目录。

右键单击包含要安装此解决方案的计算机帐户的OU,然后选择 属性|安全性高级.

编辑不应该读取密码的组或用户。

取消选中 所有扩展权利。

委派安全组查看和重置LAPS的权限

现在,我们将添加一个附加的安全组LAPS,并使它能够读取和写入管理员密码字段。首先,在Active Directory用户和计算机中,添加一个组并将其命名为“ LAPS”。 接下来,运行以下两个命令以授予该组权限。

Set-AdmPwdReadPasswordPermission -OrgUnit "OU=Computers, DC=activedir, DC=test, DC=com" -AllowedPrincipals "LAPS"

Set-AdmPwdResetPasswordPermission -OrgUnit "OU=Computers, DC=activedir, DC=test, DC=com" -AllowedPrincipals "LAPS"
LAPS4

这样就完成了Active Directory上的设置。

在客户端上部署LAPS

将由LAPS管理的每台计算机都将需要安装客户端。如果您希望排除特定计算机以使其不接收LAPS密码,只需不安装LAPS客户端即可。 可以通过组策略,SCCM,登录脚本,手动安装或用于通过网络推送安装文件的任何其他方法来部署LAPS。安装LAPS客户端的命令行如下。

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

您还可以在安装过程中使用以下可选命令创建自定义管理员帐户。

msiexec /q /i \\server\share\LAPS.x64.msi CUSTOMADMINNAME=LocalAdmin

如果要通过组策略部署新的自定义本地管理员帐户,由于软件安装的限制,您将需要使用Orca或InstEd生成MST来传递CUSTOMADMINNAME值。编辑属性表,然后将__null__替换为要创建的本地管理员的名称。

要确认安装成功,请确认存在C:\ Program Files \ LAPS \ CSE \ AdmPwd.dll。

设置Active Directory中央存储

要利用.admx文件的优点,必须在Windows域控制器上的SYSVOL文件夹中创建中央存储。中央存储是默认情况下由组策略工具检查的文件位置。组策略工具使用中央存储中的所有.admx文件。中央存储中的文件被复制到域中的所有域控制器。

若要为.admx和.adml文件创建中央存储,请在域控制器的以下位置(例如)创建一个名为PolicyDefinitions的新文件夹:

C:\ Windows \ SYSVOL \ sysvol \ activedir.test.com \ Policies \ Policy定义

将以下两个文件复制到上面的文件夹中。

%WINDIR%\ PolicyDefinitions \ AdmPwd.admx

%WINDIR%\ PolicyDefinitions \ zh-CN \ AdmPwd.adml

主题: 安全如何系统管理员

资源: //blog.ipswitch.com/protecting-local-credentials-with-laps