保护Active Directory中的管理(特权)帐户
在本文中,我尝试收集使用组织中的特权/管理帐户来提高Windows网络安全性的所有主要组织和技术规则。遵循这些建议,我们将大大增强Active Directory域中的计算机和服务器的保护,使其免受类似于Petya勒索软件的夏季事件的攻击,后者使用从LSASS内存获得的管理员凭据(通过类似于Mimikatz的工具)远程渗透到域计算机)和SMB v1.0漏洞。在某些情况下,某些建议可能会引起争议或者不适用,但我们最好遵循这些建议。
因此,在上一篇文章中,我们考虑了防止使用Mimikatz从内存中提取密码的基本技术。但是,如果我们不遵循基本的安全规则将管理帐户保留在Windows域中,则所有这些技术手段可能都没有用。
我们应该使用的主要规则是对用户和管理员的"管理特权的最大限制"。我们应该仅向用户和支持团队授予执行日常任务所需的最小权限。
这是规则的基本列表:
- 域/企业管理员帐户应仅用于管理域或者域控制器。不要使用这些帐户访问和管理工作站。服务器管理员帐户也有类似要求。
- 值得为域管理员帐户使用两因素身份验证(2FA)
- 管理员必须使用常规(受限制的)用户帐户登录其工作站
- 为了保护特权帐户(域,Exchange,服务器管理员),请考虑使用"受保护的用户"组的功能
- 切勿使用取消个性化的共享管理帐户。所有管理员帐户必须人格化
- 永远不要使用管理员帐户运行任何服务(域管理员帐户也是如此),最好使用专用帐户或者托管服务帐户
- 不允许用户使用本地管理员权限
使用GPO,我们必须启用密码策略,以便为用户和管理员提供足够的密码长度和复杂性,以及帐户锁定设置。这些策略位于"计算机配置-> Windows设置->安全设置->帐户策略"部分:
- 密码策略
- 帐户锁定策略
我们可以在精细密码策略的帮助下,对长度和存储的密码历史记录提出更严格的要求。
至于用户计算机上的内置帐户,则永远不要在所有PC上使用相同的本地管理员密码。最好完全禁用(或者至少重命名)本地管理员帐户。要将此帐户的常规密码更改为网络中每台计算机上的唯一密码,可以使用LAPS。
在GPO的帮助下,阻止对本地帐户下的计算机的远程访问以及使用RDP(NT AUTHORITY\Local帐户和Administrators组成员)的远程访问。这些设置位于GPO中:计算机配置-> Windows设置->安全设置->本地策略->用户权限分配。
- 拒绝从网络访问这台计算机
- 通过远程桌面服务拒绝登录
- 拒绝作为批处理作业登录
- 拒绝以服务登录
在管理会话(软件安装,系统配置等)结束后,最好重新启动用户计算机。我们也可以使用以下部分中的策略在RDS服务器上强制终止空闲/断开连接的会话:计算机配置->策略->管理模板-> Windows组件->远程桌面服务->远程桌面会话主机->会话时间限制。
在Windows Server 2015域中,我们可以使用新的"临时组成员身份"功能来授予临时管理特权。
在本文中,我描述了最重要的规则,这些规则将增强对Windows域上管理帐户的保护。实际上,本文并未提供有关管理员帐户的安全性和特权限制的完整准则,但是可以将其用作构建安全基础结构的起点。若要获取更多信息,我建议从Microsoft文档"保护Active Directory安全的最佳实践"开始。