挫败攻击者的Active Directory最佳实践:网络研讨会与文章详解

本文详细介绍了如何通过Active Directory最佳实践来挫败攻击者,包括命名约定、组策略、密码管理、禁用LLMNR、实施LAPS等技术措施,提升企业网络安全防护能力。

挫败攻击者的Active Directory最佳实践:网络研讨会与文章详解

Kent Ickler & Jordan Drysdale //

BHIS网络研讨会与播客
本文伴随BHIS于2018年8月7日录制的网络研讨会《挫败攻击者的Active Directory最佳实践》发布,您可在下方观看。播客版本可在此处获取:
[播客链接]
幻灯片可在此处获取:
https://blackhillsinformationsecurity.shootproof.com/gallery/7214618/

前言

Active Directory的默认设置不足以保护您的网络安全。以下是关于在Active Directory环境中挫败攻击者的实用建议。
让事情变复杂很容易,但让事情变简单并不难。
高效运行Active Directory不一定简单,但让攻击者在您的环境中举步维艰却可以很简单。以下是一些基础措施,能让您的Active Directory环境对攻击者充满挫折感。攻击者的主要资源是时间,如果您能拖慢他们的步伐并挫败他们,就更有可能迫使攻击者寻找更容易的目标,或为您的响应团队争取更多时间来识别和保护资产。
记住,在Active Directory中执行任何操作前,务必先考虑其影响。

实验Active Directory!

亚马逊现提供即用型Active Directory环境,您可以根据需要构建和操纵配置及设置。通过使用可随时创建的隔离沙盒,确定哪些措施适合您的环境:
https://aws.amazon.com/quickstart/architecture/active-directory-ds/

命名约定与功能

在讨论如何挫败攻击者时谈论命名约定颇具讽刺意味。我可能建议您隐藏一切,但并非如此。命名约定和周密计划为支持台和IT基础设施团队带来的效率提升,远超过攻击者知道安全组以“sec_”开头所带来的好处。

电子邮件地址与用户名

电子邮件地址对于通信非常有用,但当它们不仅用于邮件投递还用作用户名时,对安全性就不太友好了。有多种方法可以让电子邮件地址与用户名不同。我喜欢让用户名相对常见且类似于电子邮件地址,但附加一个只有用户自己需要记住的代码。例如:

  • 电子邮件地址:Firstname.Lastname@Domain.com
  • 电子邮件用户名:Firstname.Lastname.5RandomCharacters@Domain.com
    这确保了即使有人发现了电子邮件地址,任何假设其为用户名的尝试都是错误的。这也意味着Sally不需要知道Rick的用户名就能给他发送邮件。

让组对您的支持团队易于管理,但务必理解Active Directory中不同类型的组及其如何协同工作。记住JUGULAR方法,根据就业的共同特征分配组,直至特定资源的访问控制列表(ACL)。这样做可以防止ACL中废弃SID和数据对象失去所有者等长期遗留问题。
不要将用户直接分配给资源,而是将组分配给资源,将用户分配给组!

组策略、文件共享、打印机及其他

对如何命名组策略、文件共享、打印机等有一个周密的计划。记住,根据Jugular,资源的ACL应标识一个安全组(域本地组),该组应标识通用组、全局组或偶尔的直接用户。组策略应根据其功能命名。文件共享应指示部门或上下文信息,说明数据对某人的重要性,例如“Accounting”、“Accounts Receivable”、“Onboarding Forms”等。打印机可以按地理命名以帮助用户。打印总是令人头疼,不要通过让打印机更难找到来加剧问题。

分离用户和管理员账户

您是管理员吗?99%的日常操作使用无特权普通用户账户进行。仅在需要进行管理更改时使用您的第二个账户,即管理员账户。从跳板主机或限制访问的系统/网络进行这些更改,不要使用无特权账户。或者:使用“以…身份运行(应用程序)”而不是为管理员用户使用完整桌面。将管理员账户限制为仅进行管理更改(而不是检查电子邮件等),减少管理员账户在日常活动和点击快乐中的暴露。

组策略

关于组策略需要记住的几点:

  • Active Directory组策略默认值不足以充分保护您。
  • 密码策略(年龄、长度、复杂性等)
  • 账户锁定(尝试次数、持续时间、阈值)
  • Windows防火墙/Defender(未来博客文章,敬请关注!)

GPP与密码 – 不要在组策略或SysVol中的脚本中保存密码
LSD-OU – 记住LSD-OU用于组策略应用

其他必须做的挫败和拖慢攻击者的措施:

禁用LLMNR!
如何以及为何禁用LLMNR:
https://www.blackhillsinfosec.com/how-to-disable-llmnr-why-you-want-to/

密码长度 – 最少超过15个字符!
2016/Win10 1803+:组策略更新支持20个字符最小密码长度:
http://www.grouppolicy.biz/2018/05/group-policy-updated-to-support-20-character-minimum-password-length/
2016之前:如何增加Active Directory中的最小字符密码长度(15+)策略:
https://www.blackhillsinfosec.com/increase-minimum-character-password-length-15-policies-active-directory/

LAPS:本地管理员密码解决方案!
Microsoft LAPS安全与Active Directory LAPS配置侦察:
https://adsecurity.org/?p=3164
本地管理员密码解决方案(LAPS)现已可用:
https://technet.microsoft.com/en-us/library/security/3062591.aspx

应用程序白名单
在Windows Server 2016中实施AppLocker规则:
https://www.rootusers.com/implement-applocker-rules/

启用基于主机的防火墙
Windows Defender高级安全防火墙:
https://docs.microsoft.com/en-us/windows/security/identity-protection/windows-firewall/windows-firewall-with-advanced-security
敬请关注BHIS关于Windows Defender和防火墙最佳实践的即将发布的博客文章!

PowerShell和CMD限制
使用组策略禁用PowerShell:
https://community.spiceworks.com/topic/1183987-disabling-powershell-with-group-policy
被要求禁用PowerShell:
https://community.spiceworks.com/topic/2084436-been-asked-to-disable-powershell

使用Sysmon查找所有内容
sysmon-config | 供所有人分叉的Sysmon配置文件:
https://github.com/SwiftOnSecurity/sysmon-config

清除旧会话!
交互式登录:计算机不活动限制:
https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/interactive-logon-machine-inactivity-limit
不活动/空闲后自动注销:
https://social.technet.microsoft.com/Forums/windows/en-US/d358382c-e91b-4e91-a1e8-04c53cfd91ce/automatic-logout-after-inactivityidle?forum=w7itprogeneral

最后时刻的事项:

进行渗透测试。扫描、清理、重复。如果需要帮助,请咨询consulting@blackhillsinfosec.com。

不要对外披露内部网络知识。不要披露Exchange、SSL或Web服务。攻击者知道的越多,他们用来对付您的就越多。
https://www.exploit-db.com/exploits/34817/
https://www.exploit-db.com/exploits/21057/

对所有内容使用Bitlocker。
https://docs.microsoft.com/en-us/windows/security/information-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies

对无法使用Bitlocker的内容使用Vera-Crypt。
https://www.veracrypt.fr/en/Home.html

赋能您的支持团队/帮助台。 他们是您在网络和基础设施安全方面持续的外部耳目。

培训您的帮助台关于社会工程、IT安全和黑客技术的知识。询问他们,如果 tasked with breaking into your organization,他们会如何做。如果允许并具备识别安全漏洞的知识,您的帮助台会准确告诉您Active Directory基础设施配置中的安全缺陷所在。
https://www.sans.org/course/hacker-techniques-exploits-incident-handling

策略和程序! 有一个流程要求密码管理请求联系员工的主管或直接报告。主管可以识别密码更改请求是否合法。而且…让员工与主管交谈可能有助于他们记住密码!
https://www.sans.org/security-resources/policies

欲了解更多信息,请查看以上链接或收听我们的网络研讨会/播客《挫败攻击者的Active Directory最佳实践》。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计