挫败攻击者的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/
只需点击几下、设置几个密码,一小时内您就能运行一个功能齐全的最新AD环境。
命名规范与功能
在讨论如何挫败攻击者时谈论命名规范颇具讽刺意味。我可能建议您隐藏一切,但并非如此。命名规范和周密计划为支持台和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
最后时刻的事项:
进行渗透测试。扫描、清理、重复。如果需要帮助,请咨询consulting@blackhillsinfosec.com。
不要对外披露内部网络知识。不要透露Exchange、SSL或Web服务。攻击者知道的越多,他们能用来对付您的就越多。
https://www.exploit-db.com/exploits/34817/
https://www.exploit-db.com/exploits/21057/
对所有内容使用Bitlocker。
对无法使用Bitlocker的内容使用Vera-Crypt。
https://www.veracrypt.fr/en/Home.html
赋能您的支持团队/帮助台。他们是您在网络和基础设施安全方面持续的外部眼睛和耳朵。
培训您的帮助台关于社会工程、IT安全和黑客技术的知识。问他们如果被要求入侵您的组织,他们会怎么做。如果允许并具备识别安全漏洞的知识,您的帮助台会准确告诉您Active Directory基础设施配置中的安全缺陷所在。
https://www.sans.org/course/hacker-techniques-exploits-incident-handling
策略和程序!有一个流程要求密码管理请求联系员工的上级或直接报告人。上级可以识别密码更改请求是否合法。而且…让员工与上级交谈可能有助于他们记住密码!
https://www.sans.org/security-resources/policies
欲了解更多信息,请查看以上链接或收听我们关于挫败攻击者的Active Directory最佳实践的网络研讨会/播客。