Active Directory 是 Windows Server 的最佳功能之一,但它也是一个很大的目标。如果受到攻击,攻击者就会利用您的 Windows 网络。
在具有面向外部的 Windows 服务器(在我的情况下是 Web 服务器)的环境中,需要采取哪些步骤来保护 Active Directory 免受攻击?如果域成员受到攻击,如何降低潜在的损害?最后,如果域控制器受到攻击,有什么方法可以降低潜在的损害?
我正在寻找与 Active Directory (2003 和 2008) 特别相关的信息。应该提供通用最佳实践(阅读日志、保护管理员密码等)。
答案1
除了您的 DC 外,请勿使用域管理员或类似特权帐户登录网络上的任何计算机。这样,受感染的系统就无法窃取您的凭据。
拥有一个单独的特权帐户来管理面向 Web 的机器。
如果可能的话,在面向 Web 的机器上安装严格的网络级防火墙。
如果可能的话,将面向 Web 的机器放在 DMZ 中 - 这基本上只是一个与其余内部网络具有有限连接性的子网。
如果域控制器被攻破……严格来说,您的域已消失,需要重建。更实际的是,这取决于攻破的类型,您必须根据具体情况进行评估。我继承了两个严格意义上“被攻破”的域,我重建了一个域并修复了第二个域。有很多因素需要考虑。
答案2
以下是我使用的一般方法。希望我能补充更多内容:
域控制器位于其自己的网段上。所有往返于域控制器的流量都必须通过网络防火墙。
域控制器不运行任何可外部访问的服务。
所有域控制器/成员上的 RPC 端口范围均限制为已知端口组:
- 管理工具 -> 组件服务 -> 组件服务 -> 计算机
- 我的电脑 -> 属性 -> 默认协议 -> 面向连接的 TCP/IP -> 属性
- 添加
- 设置端口范围(例如 6051-6071)。网络越大,使用的 RPC 越多,所需的范围就越大。对于 25-30 台 Windows 机器的网络,我发现 20 个端口就足够了。
- 将端口范围分配和默认动态端口分配都设置为“Internet 范围”
- 好的
- 重启
仅允许域成员对域控制器进行以下访问(在网络防火墙、域控制器的主机防火墙和域成员的主机防火墙中 - 使用组策略来强制执行此操作):
- TCP/UDP 端口 53 (DNS)
- TCP/UDP 端口 88 (Kerberos)
- UDP 端口 123 (NTP)
- TCP/UDP 端口 135(RPC 端点映射器)
- TCP/UDP 端口 137 (NetBIOS)
- UDP 端口 138 (NetBIOS)
- TCP 端口 139 (NetBIOS)
- TCP/UDP 端口 389 (LDAP)
- TCP/UDP 端口 445 (SMB-over-IP)
- TCP 端口 3268(LDAP 全局目录)
- TCP/UDP 端口 6051-6071(RPC - 用您上面选择的任何范围替换)
设置 IPSec 策略,以便所有域控制器到域控制器的流量都通过线路加密
使用组策略在主机防火墙处加强网络防火墙规则。具体来说:
- 将远程桌面限制在您的管理工作站/网络
- 将 SNMP 限制到您的管理员和监控工作站/网络
- 将出站系统日志(我使用事件到系统日志)限制到您的日志服务器
- 限制到您的邮件服务器的出站 SMTP
- 标准的“限制所有输入/输出仅符合服务器要求”策略
将所有网络服务配置为以 Active Directory 用户身份运行(IIS 应用在名为“svc-servicename”的用户下运行)。这些用户被分配到一个具有削弱权限的组,并从域用户组中删除。
将管理员帐户重命名为其他名称,将“管理员”添加为禁用的来宾帐户(很容易克服,但它可以阻止一些愚蠢的脚本)。
面向外部的服务器与 HQ/Office 机器位于不同的域中。我有一个单向信任(DMZ 信任 HQ)来简化一些登录,但我正在考虑逐步淘汰它。
答案3
我曾经读过一份 Microsoft 最佳实践文档,其中建议面向 Internet 的服务器(Web、电子邮件等)要么是独立机器,要么位于与企业林不同的 Active Directory 林中。这个独立林应该完全位于 DMZ 中,而企业 AD 林应该完全位于企业防火墙最严格的边界内。需要访问面向 Internet 的服务器的用户比需要访问常规企业计算资源的用户少得多,因此以这种方式设置系统不会在用户支持方面带来大量额外的管理开销。您只需记住每个域的单独用户名和密码即可。
答案4
我建议阅读保护 Active Directory 安装的最佳实践指南。
我认为在不受信任的网络上重要的事项:
- 用于身份验证流量的 IPSec
- 使用双因素身份验证(智能卡或质询响应较便宜)
- 禁用 NTLM
前两个建议要求您设置 PKI 服务。实施 PKI 可能非常麻烦,但它可以为您提供许多真正有趣的功能,并允许您在不受信任的环境中有效而安全地操作。