本地 Windows 管理员账户是黑客和恶意软件梦寐以求的目标。如果黑客能够破解你某台服务器上的本地管理员账户,可能会发生很多不好的事情。
有人还会使用管理员账户下载恶意软件变种,从而通常会发生可怕的事情。如果你为每台类似的机器都使用默认管理员账户,并且让它们使用相同的密码,那么这些问题的严重程度会被进一步放大。
你可以使用世上最复杂的密码,但一旦它在一台机器上被泄露,就会对所有使用相同本地管理员凭据的其他设备形成“公开狩猎”。
当然,你可以为每一台 Windows 设备自定义本地管理员凭据,但这可能会非常耗时,更不用说还需要对大量凭据集进行清点盘点。启用密码刷新后(当然你应该启用),这个流程几乎就无法运作。这就是为什么许多管理员往往只是选择直接禁用它。
不过,拥有某种本地管理员账号以便“走过去就能修复这台机器”是可以理解的,例如重置它的域信任关系、或手动写死 IP 地址等等。
如果在每台机器上使用相同的本地管理员密码是一个糟糕的做法,那么应该怎么做呢?
提示 1:使用 Microsoft Local Administrator Password Solution (LAPS)
Microsoft Local Administrator Password Solution (LAPS) 是一款 Microsoft 工具,可让 AD 管理员能够管理加入域的计算机上的本地账户密码,并将其存储到 AD 中。
当通过 组策略 实现时,LAPS 会在每台机器上创建长度和复杂度已定义的随机密码,该密码具备密码学安全性,并且每次都会不同。随后,它会将新创建的密码应用到“本地管理员”账户,并在你的 Active Directory 架构中的安全字段中记录该密码。需要访问该账户时即可检索密码。当满足组策略中定义的密码刷新到期条件时,该过程会自动执行。
要实现 LAPS 确实有一些要求:
- 仅适用于 Windows 设备
- 设备必须加入域
- 需要一个免费的组策略(Group Policy)客户端扩展
- 需要一个架构扩展(别慌。)
- 仅适用于本地管理员账户
- 仅适用于一个本地管理员账户(如果你有多个的话)。
提示 2:LAPS 和 组策略(Group Policy)
如前所述,LAPS 使用组策略进行部署,这意味着需要创建一个 GPO。你首先需要下载 LAPS,你可以在此处进行下载此处。
然后使用向导将其安装到你的 Group Policy Management 机器上。你需要手动完成此操作,通常不要用某种自动化方式来做。
请确保至少选择“GPO Editor Templates(GPO 编辑器模板)”,以便访问所需的 ADMX 文件。Fat client(胖客户端)是一种图形用户界面,它使具有适用权限的用户能够查询指定设备的密码。你只需要在你的计算机上安装管理工具,而无需安装“AdmPwd GPO Extension”(也就是安装了 GPMC 的那台)。
然后进入你本地的 PolicyDefinitions 文件夹,复制 AdmPwd.admx 和 AdmPwd.adml 文件,并将它们粘贴到你的 AD 中央存储(central store)中。(查看关于此过程的视频。)
接下来,我们需要扩展 AD Schema(架构),以便容纳本地密码。
需要的两个属性是:
- ms-Mcs-AdmPwd – 将密码以明文形式存储
- ms-Mcs-AdmPwdExpirationTime – 存储用于重置密码的时间
要更新架构,只需导入 AdmPwd PowerShell 模块,并按照下方所示使用 update-AdmPwdADSchema 命令。
下一步是创建计算机端的 GPO。此示例中,我将其命名为 LAPS Policy。现在,LAPS 设置会出现在 Computer Configuration > Administrative Templates > LAPS 下,如下所示,其中有 4 项设置可用。
你可以使用 LAPS GPO 来管理默认本地管理员,或自定义本地管理员帐户的密码。下面我已启用 “Enable local admin password management ” 设置.”
如果你已重命名本地管理员帐户(你应该这样做),那么你可以指定更新后的名称。选择管理员帐户后,最后一步是启用 Group Policy setting ,该设置用于配置密码设置(包括密码长度和有效期)。
配置完成后,只需通过你希望的部署方式(例如 PDQ Deploy)来部署 LAPS 客户端侧扩展软件。如果你要手动进行最初测试,那么只需要“GPO Extension”这一部分。你可以在这里查看。
你还可以使用 PolicyPak 来更好地控制部署过程。相关内容马上就会介绍。
提示 #3:通过 LAPS 在需要时获取密码
总有一天,你需要知道某台 Windows 机器当前生成的密码是什么。要怎么做呢?有几种方法。其中一种是使用下面的 PowerShell 命令。
Get-AdmPwdPassword -Computername “计算机名称”
如果你安装了 LAPS Fat Client,可以在“开始”菜单中访问 LAPS UI 应用程序。
提示 #4:通过“按项级目标”将精细化的 LAPS 策略分配给用户
PolicyPak 在 PolicyPak Admin Templates Manager 中提供其全部 ADMX 模板设置,并会在每次发布新的 ADMX 时进行更新。与标准组策略相比,使用 Admin Templates Manager 的优势很多。
PolicyPak 使用的是下方所示的组策略编辑器,但还加入了一种秘密的超能力。
主要优势在于:PolicyPak 可对任意 Group Policy 设置(包括 LAPS)使用“按项级别定向(Item-level Targeting)”。
如果你熟悉 Group Policy Preferences,那么你已经知道 ILT 在策略分配方面能提供更细粒度的控制。比如,假设你的服务器上所有本地管理员账户的名称都叫 ServAdm1n,并且你想为这些管理员创建一套单独的 LAPS 策略。由于这些并非管理员域账户,你无法使用组策略对它们进行定向,但你可以使用 ILT 来定向运行 Windows Server 2016 的那些机器。
接下来,我们为 C-Level 高管笔记本创建一套 LAPS 策略。自然地,我们希望为这些本地管理员账户设置强密码。在这种情况下,我想通过使用最强的复杂度来强制使用 20 位字符的密码。然后我将使用 ILT 来定向 C-Level 安全组。正如你在下面的截图中所看到的那样,提供了许多可定向的选项,包括计算机名称、OU 匹配、站点匹配、计算机形态(笔记本与台式机)等!
另外的好处是:虽然在 Group Policy Editor 中创建的传统 GPO 通常只能通过 Group Policy 部署,但 PolicyPak 设置可以通过多种方式部署,例如 SCCM、KACE 或你偏好的 MDM 服务。
你可以通过观看 这段视频 来了解该过程——无需依赖 Group Policy 引擎本身,即可演示如何交付 Group Policy 设置。
提示 5:将 LAPS 与 PolicyPak Least Privilege Manager 配合使用
Local Administrator Password Solution 是一款出色的工具,可帮助您强化对最重要设备的管理访问权限。事实上,它还能与 PolicyPak Least Privilege Manager 形成强强组合。PolicyPak Least Privilege Manager 可彻底消除对本地管理员权限的需求,使标准用户能够执行诸如管理员一样的特殊功能……但不具备实际的管理员权限。
两者结合,您就可以在所有企业设备上实施 LAPS……因为您将不再需要本地管理员访问权限。
归根结底,无论您能用组策略(Group Policy)做什么,都可以用 PolicyPak 做得更好。实施 LAPS,并添加 PolicyPak,获得更强的安全性、更强的能力与更高的敏捷性。
分享到
了解更多
关于作者
Jeremy Moskowitz
产品管理副总裁(端点产品)
Jeremy Moskowitz 是计算机与网络安全领域备受认可的专家。作为 PolicyPak Software 的联合创始人兼 CTO(现已成为 Netwrix 的一部分),他同时还是微软在组策略、企业移动性与 MDM 领域的前 20x MVP。Jeremy 撰写了多本畅销书,包括《Group Policy: Fundamentals, Security, and the Managed Desktop》和《MDM: Fundamentals, Security, and the Modern Desktop》。此外,他还是桌面设置管理等主题备受追捧的演讲嘉宾,并且是 MDMandGPanswers.com 的创办人。