Active Directory最佳实践:让攻击者头疼的Webcast与文章
Kent Ickler & Jordan Drysdale //
BHIS Webcast与Podcast
本文伴随BHIS于2018年8月7日录制的Webcast《让攻击者头疼的Active Directory最佳实践》发布,您可在下方观看。Podcast版本可在此处获取:
此外,幻灯片可在此处查看:https://blackhillsinformationsecurity.shootproof.com/gallery/7214618/
前言
Active Directory的默认配置不足以保护您的网络安全。以下是关于在Active Directory环境中让攻击者头疼的行业共识。
让事情变复杂很容易,但让事情变简单却不难。
无论您如何理解这句话,高效运行Active Directory未必简单,但让攻击者在您的环境中举步维艰却可以很简单。以下是一些基础措施,能让您的Active Directory环境令攻击者感到沮丧。攻击者的主要资源是时间,如果您能拖慢他们的进度并让他们受挫,就更有可能迫使攻击者寻找更容易的目标,或为您的响应团队争取更多时间来识别和保护资产。
记住,在Active Directory中执行任何操作前,务必先考虑清楚您在做什么。
动手实验Active Directory!
亚马逊现提供即用型Active Directory环境,您可按需构建和调整配置与设置。通过随意创建隔离沙箱,确定哪些方案适合或不适合您的环境。
点击几下、设置几个密码,一小时内您就能运行一个功能齐全的最新AD环境:https://aws.amazon.com/quickstart/architecture/active-directory-ds/
命名规范与功能
在讨论如何让攻击者头疼时谈论命名规范颇具讽刺。我本可能建议您隐藏一切,但并非如此。命名规范和周密计划为支持台和IT基础设施团队带来的效率,远超过攻击者得知安全组以“sec_”开头所获的收益。
电子邮件地址与用户名
电子邮件地址对沟通很有用,但当它们不仅用于邮件投递还用作用户名时,对安全性就不太友好了。有多种方法可以让电子邮件地址与用户名不同。我喜欢让用户名相对常见且类似于电子邮件地址,但附加一个只有用户自己需要记住的代码。例如:
电子邮件地址:[email protected]
电子邮件用户名:[email protected]
这将确保即使有人发现了电子邮件地址,任何假设其为用户名的尝试都是错误的。这也意味着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
最后时刻的事项:
进行渗透测试。扫描、清理、重复。 如需帮助,请联系[email protected]。
不要外部披露内部网络知识。 不要透露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安全和黑客技术。问他们如果被要求入侵您的组织,他们会怎么做。如果允许并具备识别安全漏洞的知识,您的帮助台会准确告诉您Active Directory基础设施配置中的安全缺陷所在。
https://www.sans.org/course/hacker-techniques-exploits-incident-handling
策略和程序! 有一个流程要求密码管理请求联系员工的主管或直接汇报人。主管可以识别密码更改请求是否合法。而且…让员工与主管交谈可能有助于他们记住密码!
https://www.sans.org/security-resources/policies
如需更多信息,请查看以上链接或收听我们关于让攻击者头疼的Active Directory最佳实践的Webcast/Podcast。