本地管理员密码解决方案(LAPS)配置介绍

本地管理员密码管理详细技术规范

出版:2015年6月

上次更新时间:2018年6月

作者:

TomAusburne,微软

JiriFormacek,微软

摘要:本文档总结了本地管理员密码解决方案(LAPS)的基本操作过程

版权所有©2015MicrosoftCorporation。版权所有。

目录

1安装

1.1管理计算机

1.2托管客户

2AD准备

2.1扩展AD架构

2.2权限

2.2.1删除扩展权限

2.2.2添加机器权限

2.2.3添加用户权限

3组策略

3.1更改组策略设置

3.2启用本地管理员密码管理

3.3密码参数

3.3.1管理员帐户名

3.4防止密码重置计划时间过长

4管理客户端

4.1查看密码设置

4.2重置密码

5故障排除

5.1事件记录和审核

5.1.1客户记录

5.1.2事件标识

5.2问题情景

5.3审核

一、安装

安装分为两部分:管理计算机(服务器端)和要管理的客户端。

二进制文件和相关文件的均已经打包为MSI软件包。这将安装以下组件:

1.GPOCSE:必须存在于每个托管计算机上

2.管理工具:

Ø 胖客户端用户界面

Ø powershell模块admpwd.ps

Ø 组策略编辑器管理模板

默认设置是仅安装CSE。管理工具按需安装。

文件使用:

1.胖客户端用户界面的安装已完成到文件夹:

%ProgramFiles%\laps

admpwd.ui.exe

admpwd.utils.config

admpwd.utils.dll

clip_image001

2.powershell模块安装到文件夹:

%windir%\system32\windowspowershell\v1.0\modules\admpwd.ps

admpwd.ps.dll

admpwd.ps.format.ps1xml

admpwd.ps.psd1

admpwd.utils.config

admpwd.utils.dll

%Windir%\system32\WindowsPowershell\v1.0\modules\admpwd.ps\en-us

admpwd.ps.dll-help.xml

clip_image003

clip_image005

3.CSE的安装已完成到文件夹:

%ProgramFiles%\laps\cse

admpwd.dll

clip_image006

4.组策略文件的安装已完成到文件夹:

%windir%\policyDefinitions

admpwd.admx

%windir%\policyDefinitions\en-us\ADMPWD.ADML

clip_image008
clip_image009
1.1管理计算机

双击x86或x64位(laps.<platform>.msi)的MSI安装程序开始。

clip_image010

单击“下一步”。接受许可协议并单击“下一步”

对于第一台管理计算机,应启用管理工具的所有安装选项

clip_image011

单击“下一步”。

clip_image012

单击“安装”。

clip_image013

单击“完成”。

1.2托管计算机

此安装使用与管理计算机上相同的安装文件admpwd.setup.x64.msi和admpwd.setup.x86.msi。可以使用多种方法在客户机上安装/更新/卸载它们,包括使用组策略推送安装、sccm、登录脚本、手动安装等。

如果要编写脚本,可以使用此命令行执行静默安装:

msiexec/i<filelocation>\laps.x64.msi/quiet或

msiexec/i<filelocation>\laps.x86.msi/quiet

只需将<filelocation>更改为本地或网络路径。

示例:msiexec/i\\server\share\laps.x64.msi/quiet

托管客户端的另一种安装方法是将admpwd.dll复制到目标计算机并使用以下命令:

regsvr32.exeadmpwd.dll

clip_image014

注意:如果仅通过注册dll进行安装,则它不会显示在程序和功能中,如下所示。

安装后,您可以在程序和功能中看到它。

clip_image015

二、AD准备
2.1扩展AD架构

需要用两个新属性扩展活动目录架构,这些属性存储每台计算机的托管本地管理员帐户的密码和密码过期时间戳。这两个属性都被添加到计算机类的may-contain属性集中。

ms-Mcs-AdmPwd以明文形式存储密码

ms-Mcs-AdmPwdExpirationTime存储重置密码的时间

要更新架构,首先需要导入powershell模块。打开管理powershell窗口并使用以下命令:

Import-moduleAdmPwd.PS

clip_image016

使用以下命令更新架构:

Update-AdmPwdADSchema

clip_image017

注意注:如果您在环境中安装了rodc,并且需要将属性ms-Mcs-AdmPwd的值复制到rodc,则需要将ms-Mcs-AdmPwd架构对象的searchflags属性值的第10位更改为0(从searchflags属性的当前值减去512)。有关向RODC筛选属性集添加属性或从中删除属性的详细信息,请参阅。http://technet.microsoft.com/en-us/library/cc754794(v=ws.10).aspx网站

2.2权限

通过允许按属性访问列表(acl)和实现密码存储的机密属性,activedirectory基础结构为实现此解决方案的安全模型提供了高级工具。有四组权限需要修改。

2.2.1删除扩展权限

要限制特定用户和组查看密码的能力,您需要从不允许读取属性ms-Mcs-AdmPwd值的用户和组中删除“所有扩展权限”。这是必需的,因为“所有扩展权限/权限”权限还授予读取机密属性的权限。

2.2.1.1继承权限

如果要对所有计算机执行此操作,则需要对包含这些计算机的每个ou重复以下步骤。除非已禁用权限继承,否则不需要对已处理OU的子容器执行此操作。

1.打开adsiedit.msc

2.右键单击包含要在其上安装此解决方案的计算机帐户的OU,然后选择“属性”。

3.单击“安全”选项卡

4.单击“高级”

5.选择不想读取密码的组或用户,然后单击“编辑”。

6.取消选中所有扩展权限

clip_image018

重要提示:这将删除所有扩展权限,而不仅仅是控制访问权限,因此请确保所有角色将保留其正常工作所需的所有必要权限。

若要快速查找哪些安全主体对ou具有扩展权限,可以使用powershell命令。如果这是一个新窗口,则可能需要运行Import-moduleAdmPwd.PS。

Find-AdmPwdExtendedrights-identity<OUname>|Format-Table

clip_image019

如果输出因具有权限的受信者数太长而被截断,请关注特定的OU并运行:

Find-AdmPwdExtendedrights-identityMemphis|Format-list

ObjectDN:OU=memphis,OU=members,DC=herbertm01,DC=lab

ExtendedRightHolders:{NTAUTHORITY\SYSTEM,HERBERTM01dom\DomainAdmins,contoso-dom\Member-HelpDesk1-Memhpis}

2.2.1.2直接权限

“所有扩展权限”也可以通过计算机对象上的直接、非继承的ACEs设置。这可能是由客户手动完成的,也可能是通过脚本或配置系统完成的。

具有扩展权限访问权限的ACEs的第二个公共源是计算机的默认架构。默认情况下,它包含具有完全控制权的“帐户操作员”组,该组还将授予读取本地管理员密码的足够权限:

clip_image020

在委派的管理环境中,帐户运算符仅用于域用户帐户,不应授予计算机任何或很少的权限,您可能需要检查是否更改了此ACE,甚至从架构默认值中删除了此ACE。

您还需要开发一个解决方案,将此ACE从所有由LAPS管理的计算机中删除。

2.2.2添加机器权限

必须将对所有计算机帐户的ms-Mcs-AdmPwdExpirationTime和ms-Mcs-AdmPwd属性的写入权限添加到自建帐户。这是必需的,以便计算机可以更新自己的托管本地管理员密码的密码和过期时间戳。这是使用powershell完成的。如果这是一个新窗口,则可能需要运行Import-moduleAdmPwd.PS

Set-AdmPwdComputerSelfPermission-OrgUnit<要委派权限的OU的名称>

clip_image021

对于包含在解决方案范围内且不是已处理容器的子容器的计算机帐户的任何其他OU,重复此过程。

2.2.3添加用户权限

将计算机帐户的“ms-Mcs-AdmPwd上的控制访问权限(扩展权限)”属性添加到允许读取托管计算机上托管本地管理员帐户的存储密码的组或用户。

Set-AdmPwdReadPasswordPermission-OrgUnit<ou的名称以委派权限>-AllowedPrincipals<users或groups>

使用与前一个命令中相同的–orgunit名称。

clip_image022

注意:可以在同一命令中使用多个组和用户,并用逗号分隔。

示例:Set-AdmPwdReadPasswordPermission-OrgUnitServers-AllowedPrincipalscontoso\Administrator,contoso\HelpDesk,contoso\PwdAdmins

将计算机帐户的ms-Mcs-AdmPwdExpirationTime属性上的写权限添加到允许在受管计算机上强制重置受管本地管理员帐户密码的组或用户。

Set-AdmPwdResetPasswordPermission-OrgUnit<ou的名称以委派权限>-AllowedPrincipals<users或groups>

使用与前面命令中相同的–orgunit名称。

clip_image023

注意:可以在同一命令中使用多个组和用户,并用逗号分隔。

示例:Set-AdmPwdResetPasswordPermission-OrgUnitServers-AllowedPrincipalscontoso\Administrator,contoso\HelpDesk,contoso\PwdAdmins

三、组策略
3.1更改组策略设置

这些设置位于“计算机配置\管理模板\LAPS”下。

clip_image024

3.2启用本地管理员密码管理

必须启用本地管理员帐户的密码管理,以便CSE可以开始管理它:

clip_image025

3.3密码参数

默认情况下,此解决方案使用密码最大密码复杂度为14的字符,并每30天更改密码。您可以通过编辑组策略来更改值以满足您的需要。

您可以根据需要更改单个密码设置。

clip_image026

3.3.1管理员帐户名

如果已决定管理自定义本地管理员帐户,则必须在组策略中指定其名称。

clip_image027

注:使用内置管理帐户时不要进行配置,即使已重命名该帐户。该帐户由已知的SID自动检测。请在使用自定义本地管理帐户时进行配置。

3.4防止密码重置计划时间过长

如果您不想让管理帐户的计划口令到期时间超过最大密码期限,您可以在GPO中执行:

clip_image028

四、管理客户端
4.1查看密码设置

配置完所有内容并在客户端上刷新组策略后,您可以查看计算机对象的属性并查看新设置。

clip_image029

密码以纯文本存储。失效日期存储为从1601年1月1日0小时到存储的日期/时间之间经过的100纳秒间隔数。时间始终存储在活动目录中的格林威治标准时间(GMT)中。如果要手动转换,请使用以下命令:

w32tm/ntte<要转换的数字>

clip_image030

还有一个图形界面可用。在希望能够轻松检索密码的计算机上安装程序时,只需选择胖客户端ui选项。

clip_image031

要运行的程序是C:\ProgramFiles\laps\admpwd.ui.exe。它将出现在菜单中,如下所示:

clip_image032

或者在Windows7上。

clip_image033

启动界面,输入客户端名称并单击搜索。

clip_image034

您还可以使用powershell获取密码。

Get-AdmPwdPassword-ComputerName<计算机名称>

clip_image035

如果未被授予查看本地管理员密码权限的用户尝试访问该密码,会发生什么情况?如果要访问gui界面,则不会显示密码。

clip_image036

如果他们安装了RSAT工具并运行“AD用户和计算机”(aduc)来查看密码,则密码将显示为<notset>。

clip_image037

此信息不可见,因为扩展的权限已被删除,只有某些个人和组被授予查看此信息的权限。

4.2重置密码

要手动重置密码,只需单击lapsui工具中的set按钮。运行组策略刷新时,将重置密码。

您还可以为将来计划密码过期时间。为此,请在相应字段中输入所需的到期日期/时间。

clip_image038

您还可以使用powershell重置密码。

Reset-AdmPwdPassword-ComputerName<computername>-WhenEffective<datetime>

五、故障排除

此解决方案有多种日志记录选项,可用于故障排除。

5.1事件记录和审核

5.1.1客户记录

CSE将所有事件记录在本地计算机的应用程序事件日志中。日志消息仅限英语,但可以本地化,或在必要时添加其他语言。

记录的事件量可通过以下注册表注册表注册表项值进行配置:

hkey_local_machine\software\microsoft\windowsnt\currentversion\winlogon\gpextensions\{d76b9641-3288-4f75-942d-087de603e3ea}}\extensiondebuglevel

默认情况下,此值不存在,必须添加。

clip_image039

可能值如下:

价值

意义

0

静默模式;仅记录Error

如果没有发生Error,则不会记录有关CSE活动的信息

这是默认值

1

记录Error和警告

2

详细模式,记录所有内容

5.1.2事件标识

CSE报告的所有事件的事件源始终是“admpwd”。下表总结了事件日志中可能发生的事件:

身份证件

严重程度

说明

评论

2

Error

无法从AD获取计算机对象。Error%1

如果CSE无法连接到AD中本地计算机的计算机帐户,则会记录此事件。

%1是函数返回的Error代码的占位符,该函数检索本地计算机名,将其转换为DN并连接到由DN指定的对象

3

Error

无法获取本地管理员帐户。Error%1

如果CSE无法连接到托管的本地管理员帐户,则会记录此事件。

%1是函数返回的Error代码的占位符,该函数检测本地管理员帐户的名称并连接到该帐户

4

Error

无法从AD中的计算机帐户获取密码过期时间戳。Error%1。

CSE无法读取AD中计算机帐户的MSMCSADMPwdexPirationTime值时记录此事件

%1是函数返回的Error代码的占位符,该函数读取属性值并将该值转换为无符号的int64类型

5

Error

根据本地密码策略验证新的本地管理密码失败。Error%1。

当针对本地密码策略的密码验证失败时,会记录此事件。

5

信息

新本地管理密码的验证已通过。

根据本地密码策略成功验证密码时记录此事件

6

Error

无法重置本地管理员密码。Error%1

如果CSE无法重置托管本地管理员帐户的密码,则会记录此事件。

%1是netusersetinfo()api返回的Error的占位符

7

Error

无法将更改的密码写入AD。Error%1。

如果CSE无法向AD报告新密码和时间戳,则会记录此事件。

%1是LDAPmod_s调用返回的Error代码的占位符

10

警告

计算机的密码过期时间太长(%1天)。正在重置密码。

如果CSE检测到计算机的密码过期时间超过了策略允许的时间,并且启用了防止密码过期时间过长的保护,则会记录此事件

11

信息

现在还没有必要更改密码。要更改的天数:%1。

此事件在CSE检测到尚未重置密码时记录

%1是24小时间隔数的占位符,该间隔数在密码重置前保持不变

12

信息

本地管理员密码已更改。

CSE重置托管本地管理员帐户的密码后记录此事件

13

信息

本地管理员密码已报告给AD。

此事件在CSE向AD报告密码和时间戳后记录

14

信息

已成功完成

此事件在CSE执行所有必需任务并即将完成后记录

15

信息

开始处理

当CSE开始处理时记录此事件

16

信息

退出管理帐户管理,退出

未启用管理帐户管理时记录此事件

注意:通常,所有严重性为“Error”的事件都被阻塞。当出现任何Error时,不执行其他任务,CSE终止处理。

5.2问题情景

症状:客户端获取事件ID7,在事件日志中,“无法将更改的密码写入AD。Error0x80070032”。

解决方案:客户端不在托管OU中。将其移动到托管OU或运行powershell命令将计算机权限添加到客户端所在的OU。

症状:导入admpwd.ps模块时,会出现错误“Import-Module:无法加载或修改文件”file:///c:\windows\system32\windowspowershell\v1.0\modules\admpwd.ps\admpwd.ps.dll&apos;或其依赖项之一。此程序集是由比当前加载的运行时新的运行时生成的,无法加载。“

解决方案:您需要允许powershell加载.netframework4。要允许此操作,您需要更改powershell.exe.config以包含以下内容:

<?xmlversion="1.0"?>

<configuration>

<startupuseLegacyV2RuntimeActivationPolicy="true">

<supportedRuntimeversion="v4.0.30319"/>

<supportedRuntimeversion="v2.0.50727"/>

</startup>

</configuration>

症状:已安装所有内容,但客户端上没有更新密码,事件日志中也没有记录任何内容。

解决方案:尚未使用应用于客户端的组策略启用CSE。将策略“启用本地管理员密码管理”设置为“启用”

症状:运行架构更新后,新属性不会显示在计算机属性中。

解决方案:如果架构更新的状态成功,则可能遇到复制问题或延迟。在较大的环境中,此属性填充可能需要一些时间来传播。

clip_image040

症状:尚未明确授予权限的用户仍可以看到密码。

解决方案:这通常是因为没有从组和用户中删除“所有扩展权限”权限。检查有关计算机上的有效权限。

clip_image041

5.3审核

使用powershellcmdlet可以审核成功查询和读取计算机的本地管理员密码的用户。如果这是一个新窗口,则可能需要运行Import-moduleAdmPwd.PS

Set-AdmPwdAuditing–OrgUnit:<nameofOUonwhichyouwanttosetuptheauditing>-AuditedPrincipals::<identificationofusers/groupswhoseaccesstopasswordshallbeaudited>

clip_image042

成功读取密码时,域控制器的安全日志中将记录4662事件。

clip_image043

您将注意到schemaIDGUID反映在事件属性中。

clip_image044

猜你喜欢

转载自blog.51cto.com/mifeihu/2504334