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

[玩转系统] 本地 Azure Active Directory 密码保护

作者:精品下载站 日期:2024-12-14 07:05:21 浏览:15 分类:玩电脑

本地 Azure Active Directory 密码保护


去年,我写了一篇关于 Azure Active Directory 密码的博文(选择一个人们更难猜到的密码 - https://jaapwesselius.com/2018/10/15/choose-a-password-thats-harder-for-people -to-guess/),其中我提到了禁止的密码列表和 Azure AD 密码保护功能。当时这仅适用于 Azure AD,但现在它也可用于本地域控制器(已经有一段时间了)。本地域控制器可以使用 Azure AD 中的密码保护功能,从而阻止在本地环境中使用弱密码的可能性。让我们看看它是如何工作的。

本地密码保护功能使用在本地域控制器上运行的密码保护代理。当用户启动密码更改时,新密码将由 Azure AD 密码保护代理验证,该代理会向 Azure AD 密码保护代理服务请求密码策略。此密码保护服务向 Azure AD 请求密码策略。新密码永远不会发送到 Azure AD。如下图所示(借自微软网站):

[玩转系统] 本地 Azure Active Directory 密码保护

代理收到密码策略后,返回新密码的通过或失败。如果失败,用户必须重试。

密码保护的安装包括两个步骤:

  • 使用 AzureADPasswordProtectionProxySetup.exe 软件安装程序的 Azure AD 密码保护代理服务。它安装在加入域的计算机上,该计算机可以访问 Internet 并将密码策略请求代理到 Azure Active Directory。
  • 使用 AzureADPasswordProtectionDCAgentSetup.msi 包的密码保护 DC 代理服务。它在域控制器上运行,并将密码策略请求发送到运行代理服务的服务器。

两者都可以从 Microsoft 下载中心下载:https://www.microsoft.com/en-us/download/details.aspx?id=57071

密码保护代理安装

第一步是安装密码保护服务。该服务器应该能够访问 Azure AD,并且由于域控制器没有 Internet 连接,因此应将其安装在单独的服务器上。在我的实验室环境中,我已在 Azure AD Connect 服务器上安装了密码保护服务。

密码保护代理的安装非常简单;您可以使用 GUI 或带有 /quit 开关的命令行设置来进行无人值守安装(和服务器核心)。安装后,使用 PowerShell 通过以下命令在 Azure AD 中注册代理:

[PS] C:\> Import-Module AzureADPasswordProtection
[PS] C:\> Register-AzureADPasswordProtectionProxy -AccountUpn '[email protected]'

当您为管理员帐户启用 MFA 时,此命令可以工作,如果您不需要在管理员帐户上启用 MFA(恕我直言,这是一个不好的做法),您可以使用以下命令:

[PS] C:\> $globalAdminCredentials = Get-Credential
[PS] C:\> Register-AzureADPasswordProtectionProxy -AzureCredential $globalAdminCredentials

最后一步是在 Azure Active Directory 中注册林。这与代理服务的注册过程非常相似。您可以使用以下 PowerShell 命令来注册林:

[玩转系统] 本地 Azure Active Directory 密码保护

[PS] C:\> Register-AzureADPasswordProtectionForest -AccountUpn ‘[email protected]

同样,当未启用 MFA 时,您可以使用以下命令在 Azure AD 中注册您的林:

[PS] C:\> $globalAdminCredentials = Get-Credential '[email protected]'
[PS] C:\> Register-AzureADPasswordProtectionForest -AzureCredential $globalAdminCredentials

注意。密码保护服务支持多林方案,您可以使用这些命令安装多个林。支持一个租户的多个域,不支持多个租户的一个域。

一些备注:

  • 安装密码代理服务器的服务器应安装 .NET Framework 4.7 或更高版本。
  • 为了获得高可用性,建议在多台服务器上安装密码保护代理
  • 密码保护代理支持就地升级,因此无需卸载以前的版本即可安装新版本。

那么它是如何工作的,密码保护服务如何找到代理服务器(或多个服务器)?

安装密码保护代理后,它会使用众所周知的 GUID 在 Active Directory 中注册。密码保护代理会检查 Active Directory 中是否有此众所周知的 GUID,并找到安装密码保护代理的服务器。

您可以使用以下 PowerShell 命令来查找密码保护代理:

$SCP = "serviceConnectionPoint"
$Keywords = "{ebefb703-6113-413d-9167-9f8dd4d24468}*"
Get-ADObject -SearchScope Subtree -Filter {objectClass -eq $SCP -and keywords -like $Keywords }

它返回服务器,您可以使用 ADSIEdit 检查计算机:

[玩转系统] 本地 Azure Active Directory 密码保护

这与加入域的 Outlook 客户端在 Active Directory 中查找自动发现 SCP 的方式非常相似。

安装 DC 代理服务

安装并注册代理服务后,即可安装域控制器代理服务。它只是一个可以安装的 MSI 软件包(使用 GUI,接受许可协议并单击安装),或者您可以使用以下命令在命令行上安装它(使用提升的权限):

C:\> msiexec.exe /i AzureADPasswordProtectionDCAgentSetup.msi /quiet /qn

注意。安装 DC 代理需要重新启动,但您可以使用 /norestart 开关在更方便的时间重新启动。

重新启动域控制器后,密码保护服务即可使用。

一些备注:

  • Azure AD 密码保护服务需要 Azure AD Premium P1 或 P2 许可证。
  • 域控制器应该是 Windows 2012 或更高版本。
  • 域控制器应安装 .NET Framework 4.5 或更高版本。
  • 您永远不知道哪个域控制器将处理密码更改。因此,需要在所有域控制器上安装密码保护服务。对于简单的环境,这应该不是问题,但对于拥有大量 DC 的大型企业来说,这可能是一个问题(此时我故意不考虑安全官员:-))
  • 代理服务和DC代理都支持就地升级,因此无需卸载旧版本即可安装新版本。

测试 Azure AD 密码保护服务

因此,在安装了密码保护代理和 DC 代理之后,就可以测试一下哪个相对简单了。登录到已加入域的工作站,使用 CTRL-ALT-DELETE 更改密码。当使用“Summer2019”等简单密码或其他密码时,它会失败并显示以下错误消息。

[玩转系统] 本地 Azure Active Directory 密码保护

从现在起,将无法再使用由 Azure Active Directory 在本地强制执行的弱密码,这又向更安全的环境迈进了一步。

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

取消回复欢迎 发表评论:

关灯