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

[玩转系统] 保护 Active Directory 密码免遭泄露

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

保护 Active Directory 密码免遭泄露


安全对于每个组织都至关重要。当帐户密码被破坏并访问环境时,大量机密信息将被收集和泄露。这对每个公司来说都是一个大问题。更不用说您将花在这个问题上的时间了。安全性始于在基础设施中实施基础知识并通知用户,以便他们了解。在本文中,您将了解如何审核 Active Directory 密码并确保其免遭泄露。

审核和保护帐户密码

重要的是要了解您需要在组织中执行两项关键配置:

  1. 审核帐户密码:创建导出并检查是否存在弱/被破坏的密码。

  2. 安全帐户密码:创建策略,以便用户和管理员无法创建弱/被破坏的密码。

要配置上述两个选项,您必须下载并安装适用于 Active Directory 的 Lithnet 密码保护。这是因为您将使用它来根据 HIBP(我是否被破解)密码列表检查是否有被破坏的密码,并防止在 Active Directory 中创建弱/被破坏的密码(更多内容见下文)。

注意:假设您有混合 Azure AD 配置,那么我们建议您为本地配置 Azure AD 密码保护。

为 Active Directory 安装 Lithnet 密码保护

登录域控制器。

从 GitHub 下载 Lithnet 密码保护。

[玩转系统] 保护 Active Directory 密码免遭泄露

启动 Lithnet Active Directory 密码保护安装程序并完成安装向导。设置很简单,您可以单击它。

[玩转系统] 保护 Active Directory 密码免遭泄露

Active Directory 的 Lithnet 密码保护已成功安装。

下载 HIBP 密码列表

获取最新密码的最佳方法是使用 Pwned Passwords 下载程序。

您需要安装 .NET 6 才能安装该工具。

[玩转系统] 保护 Active Directory 密码免遭泄露

以管理员身份启动命令提示符并运行以下命令。

dotnet tool install --global haveibeenpwned-downloader

如果安装程序无法解析该包,请运行以下命令,然后重试。

dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org

将所有 NTLM 哈希值下载到名为 pwnedpasswords_ntlm.txt 的单个 txt 文件中,并将其保存在 C:\temp 中。

haveibeenpwned-downloader.exe -n C:\temp\pwnedpasswords_ntlm

下载的 pwnedpasswords_ntlm.txt 文件大小为 11.7 GB

[玩转系统] 保护 Active Directory 密码免遭泄露

提取 pwned-passwords-ntlm-ordered-by-hash-v8.7z 文件。您可以使用 7-Zip 或 WinRar 来解压该文件。

提取的 .txt 文件大小为 28.5 GB

[玩转系统] 保护 Active Directory 密码免遭泄露

删除您下载的 7z 文件,因为它已被解压,可以节省空间。

纯文本哈希文件为 28.4 GB,但是当您将其导入 Lithnet 存储时,它将需要 11.1 GB 大小(更多信息见下文)。

导入 HIBP 密码列表

以管理员身份运行 PowerShell 并运行以下命令将 pwned-passwords-ntlm-ordered-by-hash-v8.txt 文件导入到 Lithnet 存储区。

PS C:\> Import-CompromisedPasswordHashes -Filename "C:\temp\pwned-passwords-ntlm-ordered-by-hash-v8.txt"

读取文本文件并将哈希值转换为更小的二进制格式将需要时间。

[玩转系统] 保护 Active Directory 密码免遭泄露

检查 Lithnet 密码保护数据库

启动文件资源管理器并转到 Lithnet 密码保护数据库路径。

C:\Program Files\Lithnet\Active Directory Password Protection\Store\v3\p

检查数据库文件是否已创建。

[玩转系统] 保护 Active Directory 密码免遭泄露

存储大小为11.1 GB

[玩转系统] 保护 Active Directory 密码免遭泄露

删除您提取的文本文件,因为它已导入到商店中,可以节省您的空间。

检查 Active Directory 中的密码泄露

下载 Audit-Passwords.ps1 脚本并将其粘贴到域控制器上的 C:\scripts 中。

确保该文件未被阻止,以防止运行脚本时出现任何错误。请阅读文章运行 PowerShell 脚本时出现未数字签名错误来了解更多信息。

以管理员身份运行 PowerShell。更改脚本文件夹的路径。运行 PowerShell 脚本来审核 Active Directory 中被泄露的密码。等到它完成。

PS C:\> cd c:\scripts
PS C:\scripts> .\Audit-Passwords.ps1

PS 输出显示哪些帐户的密码被泄露。此外,还会在 C:\scripts 中生成一个名为 get-pwned-users.csv 的 CSV 文件。

[玩转系统] 保护 Active Directory 密码免遭泄露

这就是我们示例中的样子。只有一个帐户设置了密码,该密码列在 HIPB 破解密码列表中。

[玩转系统] 保护 Active Directory 密码免遭泄露

现在您已经拥有了密码已破解的帐户,您可以向他们发送电子邮件以更改其密码。

但如果他们更改密码并再次插入被破解的密码怎么办?您是否想要每天或每周检查 AD 是否存在密码泄露并向用户发送电子邮件以更改其密码?好吧,这不是你想要的。这很耗时,而且组织也不安全。

在下一步中,您将配置一个组策略来阻止用户创建被破解的密码。

防止用户创建被破解的密码

最好的方法是配置一个策略,当用户想要创建密码时,将使用 HIPB 密码列表进行检查。

如果密码在已破解的密码列表中,则用户不能使用该密码。但是,如果设置了密码,则意味着它没有被破坏并且足够安全,可以应用密码。

配置组策略

启动组策略管理。右键单击域控制器 OU,然后单击在此域中创建 GPO,并将其链接到此处

[玩转系统] 保护 Active Directory 密码免遭泄露

将该策略命名为 LithnetPP,然后单击确定

[玩转系统] 保护 Active Directory 密码免遭泄露

右键单击LithnetPP GPO 对象并选择编辑

[玩转系统] 保护 Active Directory 密码免遭泄露

在组策略编辑器中,导航至:

Computer Configuration\Policies\Administrative Templates\Lithnet\Password Protection for Active Directory\Default Policy

双击拒绝在泄露的密码存储中找到的密码

[玩转系统] 保护 Active Directory 密码免遭泄露

选中启用复选框并启用启用密码设置操作启用密码更改操作选项。单击确定

[玩转系统] 保护 Active Directory 密码免遭泄露

注意:还有更多 GPO 选项,您应该仔细查看它们。但请注意,您配置的选项越多,用户创建密码就会变得越复杂。

重新启动域控制器以使更改生效。

测试密码策略

测试 GPO 是否正常工作并执行以下步骤:

  1. Active Directory 用户和计算机:在 HIBP 列表中创建一个带或不带密码的新 AD 用户帐户。

  2. Active Directory 用户和计算机:重置 HIBP 列表中包含或不包含密码的现有 AD 用户帐户的密码。

  3. 加入 Windows 设备域:使用用户帐户登录,并在 HIBP 列表中使用或不使用密码重置密码。

在我们的示例中,我们将仅显示第一个示例。

启动Active Directory 用户和计算机。右键单击用户帐户,然后选择重置密码

[玩转系统] 保护 Active Directory 密码免遭泄露

填写 HIBP 列表中显示的密码,或者您可以随时转到 HIBP Pwned Passwords 并填写该密码,以检查该密码是否以前出现在数据泄露中。

[玩转系统] 保护 Active Directory 密码免遭泄露

填写密码两次,然后单击确定。在我们的示例中,我们将使用Password01

[玩转系统] 保护 Active Directory 密码免遭泄露

出现错误:

Windows 无法完成用户的密码更改,因为: 密码不符合密码策略要求。检查最短密码长度、密码复杂性和密码历史记录要求。

[玩转系统] 保护 Active Directory 密码免遭泄露

现在执行相同的步骤,但使用未被破坏的密码,它将成功完成密码更改。

阅读更多:使用随机密码批量创建 AD 用户 »

结论

您学习了如何审核 Active Directory 密码并保护 Active Directory 密码免遭泄露。始终进行审核并通知管理层如何在 Lithnet 密码保护的帮助下使密码要求更加严格。不要忘记在此基础上配置 MFA。因此,如果将来密码被泄露,那么总会有第二层保护。

您喜欢这篇文章吗?您可能还喜欢使用 Azure AD Connect 强制密码同步。不要忘记关注我们并分享这篇文章。

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

取消回复欢迎 发表评论:

关灯