当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

作者:精品下载站 日期:2024-12-14 18:55:04 浏览:12 分类:玩电脑

如何部署 Microsoft LAPS - 完整指南


Microsoft LAPS 可用于管理加入域的设备上的本地管理员密码。 LAPS(本地管理员密码解决方案)为网络中的每个设备客户端创建唯一的随机密码,并将该密码存储在 Active Directory 中。

Microsoft LAPS 的优点是只有具有正确权限的用户才能访问密码和本地管理员帐户。更重要的是,当一个帐户被盗时,攻击者将无法访问和感染其他计算机。

在本文中,我们将部署和配置 Microsoft LAPS。请记住,这是 Microsoft LAPS 的旧版本。新版本 Windows LAPS 将于 2023 年第二季度左右提供公开预览版。

笔记

Windows LAPS 现已发布公共预览版。我建议推出 Windows LAPS,而不是旧的 Microsoft LAPS 解决方案。您可以在这里找到完整的指南。

什么是 Microsoft LAPS?

在新计算机上部署 Windows 时,管理员通常对每台设备使用相同的密码。在对计算机上的问题进行故障排除时,可以使用此本地管理员帐户作为登录的替代方式。但在每台设备上使用相同的密码会带来巨大的安全风险,这就是微软的 LAPS(本地管理员密码解决方案)的用武之地。

当攻击者获得对一个本地管理员帐户的访问权限时,他们可以使用相同的凭据来访问网络中的所有其他设备。因此,建议为每个设备使用唯一的密码。但我们需要一种方法来管理这些密码。使用 LAPS,每个设备的密码都是随机生成的并存储在 Active Directory 中。只有具有适当权限的用户才能从 Active Directory 读取密码并使用本地管理员帐户。

要查找 LAPS 密码,我们可以使用 PowerShell、LAPS 客户端 UI,或在 Active Directory 中查找。

要求

安装和使用 Microsoft LAPS 时有几个要求:

  • 它仅适用于加入域的设备

  • 仅保护一个本地管理员帐户(建议禁用任何其他帐户)

  • 我们需要扩展 Active Directory 方案

  • 配置是通过组策略完成的

  • LAPS客户端需要安装在所有客户端设备上

安装 LAPS

LAPS 的安装分 3 部分完成。我们首先要在域控制器上配置 Active Directory 和策略。接下来,我们将在自己的计算机上安装管理工具,最后一步是将 LAPS 客户端部署到所有客户端设备。

第 1 步 - 配置域控制器

我们首先要在域控制器上执行所有必要的步骤。这意味着我们将扩展 Active Directory 架构、创建一个包含允许读取 LAPS 密码的用户的安全组、设置正确的权限并配置组策略。

第一步是下载本地管理员密码解决方案。选择并下载 LAPS.x64.msi 文件,下载后打开安装程序。在域控制器上,我们只需要安装以下组件:

  • PowerShell模块

  • GPO 编辑器模板

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

扩展 Active Directory 架构

我们需要扩展 Active Directory 架构以添加 LAPS 密码的新属性字段。现在,要扩展 AD 架构,您需要成为安全组架构管理员的成员,您可以在 Active Directory 中找到该安全组。如果您不是架构管理员的成员,那么您将收到错误用户没有足够的访问权限

  1. 在域控制器上打开 PowerShell

  2. 键入以下命令来扩展 AD 架构:

Import-Module AdmPwd.ps
Update-AdmPwdADSchema

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

在 Active Directory 中设置权限

在 PowerShell 窗口仍然打开的情况下(否则,再次导入 AdmPwd.ps),我们将设置 LAPS 所需的权限。我们需要为 SELF 内置帐户提供计算机的写访问权限,以便它可以更新 Active Directory 中的密码。我们需要授予管理员读取(也可能是写入)权限来读取存储的 LAPS 密码。

对于计算机,我们将使用 OU 来定位它们。该设置也将应用于所有嵌套 OU。您可以对拥有计算机的任何 OU 重复以下步骤。在 PowerShell 中键入以下命令以设置计算机 OU 的权限:

笔记

要定位 OU,您可以使用 OU 名称(如果它是唯一的)或专有名称。
Set-AdmPwdComputerSelfPermission -OrgUnit Computers

如果 OU 名称不唯一,则会显示所有匹配的 OU,并会抛出错误,指出找到多个对象。使用 DistinguishedName 定位正确的 OU:

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

Set-AdmPwdComputerSelfPermission -OrgUnit "OU=Computers,OU=Amsterdam,OU=Sites,DC=a-d,DC=nl"

下一步是创建一个新的安全组,其中包含允许读取 LAPS 密码的用户。我喜欢创建两个组,一组具有读/写权限(这些用户可以强制重置 LAPS 密码),一组仅具有读访问权限。您可以在 Active Directory 中创建组或使用 PowerShell:

# AD Security Group for LAPS read/write access
New-ADGroup -name 'LAPS Admins' -GroupCategory Security -GroupScope Global

# AD Security Group for LAPS readonly  access
New-ADGroup -name 'LAPS ReadOnly' -GroupCategory Security -GroupScope Global

我们现在可以为新的安全组授予适当的权限。首先,我们将授予两个组对 LAPS 密码的读取权限(ms-Mcs-AdmPwd 属性):

Set-AdmPwdReadPasswordPermission -OrgUnit Computers -AllowedPrincipals 'LAPS Admins','LAPS ReadOnly'

管理员还应该能够重置密码,因此我们将同时授予 LAPS Admins 组重置权限:

Set-AdmPwdResetPasswordPermission -OrgUnit Computers -AllowedPrincipals 'LAPS Admins'

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

设置 LAPS GPO

获得所有权限后,我们可以配置 LAPS GPO(组策略对象)。首先,我们需要将 LAPS Admx 文件复制到 Active Directory 中央存储。

  1. 在域控制器上,导航至 C:\Windows\PolicyDefinitions

  2. AdmPwd.admx 复制到 \contoso.local\SysVo

对语言文件夹中的 Adml 文件执行相同的操作:

  1. 在域控制器上,导航到 C:\Windows\PolicyDefinitions n-US

  2. AdmPwd.adml 复制到 \contoso.local\SysVo

我们现在可以为 LAPS 创建一个新的 GPO:

  1. 打开组策略管理控制台

  2. 在您的计算机 OU 中创建新组策略

  3. 右键单击新策略并选择编辑

  4. 导航至:计算机配置 > 策略 > 管理模板 > LAPS

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

  1. 打开密码设置

  2. 启用设置

  3. 配置密码复杂性(大多数情况下默认设置就可以了)

  4. 完成后点击确定

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

  1. 接下来,打开设置要管理的管理员帐户的名称

  2. 启用设置

  3. 管理员帐户名称下输入LAPSAdmin

笔记

LAPS 只能保护一个本地管理员帐户。使用不同的本地管理员帐户名可以让我们轻松验证计算机是否受到 LAPS 保护。另外,内置管理员帐户通常默认处于禁用状态。

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

  1. 打开设置启用本地管理员密码管理

  2. 单击启用并关闭窗口

可选 GPO 设置

以下设置是可选的。例如,如果已有本地管理员帐户,请命名为 a-d。那么您可能想在部署 LAPS 时禁用此帐户。我们可以在我们刚刚创建的同一策略中执行此操作:

  1. 编辑CPO_LAPS 政策

  2. 导航至:计算机配置 > 首选项 > 控制面板设置 > 本地用户和组

  3. 在白色区域右键单击并选择新建>本地用户

  4. 操作设置为更新

  5. 输入当前本地管理员帐户的名称

  6. 取消选中用户下次登录时必须更改密码

  7. 检查帐户已禁用

  8. 单击确定

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

现在,我们已成功配置 Microsoft LAPS 的 Active Directory 和组策略。确保将新创建的策略应用到包含要使用 LAPS 的计算机的所有 OU。

步骤 2 - 安装 LAPS计算机上的客户端

我们需要在所有 Windows 计算机上安装 LAPS 客户端组件。现在,在多个客户端上安装软件的最佳方法是使用 PDQ Deploy 或 Action1 等部署工具。

在 PDQ Deploy 中,您可以创建一个新包并使用我们之前下载的 LAPS.x64.msi 文件。确保在包中添加参数 CUSTOMADMINNAME=LAPSAdmin。使用 gpupdate 命令添加 PowerShell 或命令步骤也是一个好主意。

笔记

CUSTOMADMINNAME 参数将在计算机上使用用户名 LAPSAdmin 创建本地管理员帐户。

如果您没有可以使用的部署工具,那么也可以使用组策略来部署客户端。唯一的问题是您无法轻松地将所需的参数 CUSTOMADMINNAME 添加到 MSI 文件中。您需要使用名为 ORCA 的工具修改 MSI 文件,但这超出了本文的范围。

当您可以重复使用现有的本地管理员帐户时,也可以通过 GPO 进行部署:

首先,将 LAPS.x64.msi 文件复制到 Netlogon 文件夹 (\contoso.local 埃特洛贡)

  1. 打开组策略管理控制台

  2. 在您的计算机 OU(与 LAPS GPO 相同的位置)中创建一个新 GPO,并将其命名为 CPO_LAPS_Install

  3. 编辑新政策

  4. 导航至:计算机配置 > 策略 > 软件设置 > 软件安装

  5. 右键单击空白处并选择新建>包...

  6. 导航到您的 Netlogon 文件夹并选择 LAPS.x64.msi 文件

  7. 选择已分配

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

另一种选择是手动安装 MSI 或使用 PowerShell 脚本:

if (-not(Get-Package -name "local administrator password solution" -ErrorAction Ignore)) {
    Start-Process msiexec.exe -Wait -ArgumentList "/i '\contoso.local\netlogon\LAPS.x64.msi /qn /norestart /l*v 'c:\temp\laps-install.log' CUSTOMADMINNAME=LAPSAdmin"
}

您可以通过检查客户端上是否创建了 LAPS 管理员帐户来轻松验证 LAPS 客户端是否安装成功:

  • Windows 键 + R

  • 输入 lusrmgr.msc 查看本地用户帐户

  • 应列出 LAPSAdmin

第 3 步 - 安装 LAPS 管理 UI

要查找客户端的 LAPS 密码,我们需要使用 LAPS 客户端 UI 或 PowerShell 模块。您可以在任意数量的机器上安装管理部件。仅当要查看或重置密码时,用户才需要是我们之前创建的安全组之一(LAPS Admin 或 LAPS ReadOnly)的成员。

再次从 Microsoft 下载本地管理员密码解决方案。选择并下载 LAPS.x64.msi 文件,下载后打开安装程序。我们将安装 Fat 客户端 UI PowerShell 模块

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

检索 Microsoft LAPS 密码

安装完成后,您将在开始菜单中找到Microsoft LAPS客户端。如果您打开LAPS UI,您可以输入计算机名称并单击搜索来查找LAPS密码:

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

如果您有重置权限,则还可以通过单击“设置”来重置密码。这将立即重置密码。另一个选项是设置 LAPS 密码的到期日期。

使用 PowerShell 获取 LAPS 密码

我们还可以使用 PowerShell 查找并重置 LAPS 密码。确保您已通过本地管理员密码解决方案安装安装了 PowerShell 模块。我们可以使用 cmdlet Get-AdmPwdPassword 从特定计算机获取密码:

Get-AdmPwdPassword -ComputerName LA-WIN11-LAB03

# Or to return only the password:
Get-AdmPwdPassword -ComputerName LA-WIN11-LAB03 | Select Password

# Result
Password
--------
FT7dSRPX12/AgK

正如您在下面的屏幕截图中看到的,cmdlet 不仅返回密码,还返回计算机名称、可分辨名称和过期时间戳。通过简单的选择,我们可以确保只返回密码。

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

我们还可以通过在密码后面传递 Set-Clipboard cmdlet 将密码自动复制到剪贴板。为此,我们需要首先扩展密码属性,以便仅复制值,而不是完整的对象:

Get-AdmPwdPassword -ComputerName LA-WIN11-LAB03 | Select -ExpandProperty Password | Set-Clipboard

使用 Active Directory

我们还可以在 Active Directory 中查找 Microsoft LAPS 密码。密码存储在 ms-MCS-AdmPwd 属性中。因此,要检索它,我们需要打开计算机对象的属性编辑器:

  1. 打开Active Directory 用户和计算机

  2. 导航至计算机 OU

  3. 双击计算机对象

  4. 打开属性编辑器选项卡

  5. 向下滚动到 ms-MCS-Adm-Pwd 属性以查看密码

[玩转系统] 如何部署 Microsoft LAPS - 完整指南

总结

Microsoft LAPS 是管理本地管理密码的绝佳解决方案。请记住,名为 Windows LAPS 的新版本 LAPS 将于 2023 年下半年发布。该版本还可以将密码存储在 Azure Active Directory 中,此外还有其他好处。

我希望本文对您配置本地管理员密码解决方案有所帮助。如果您有任何疑问,请在下面发表评论。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯