DNS安全和性能最佳实践
2020-03-12 20:32:32 【

域名系统(DNS)使所有网络通信成为可能。DNS可能看起来像是看不见的力量或实体,直到出现问题为止,这很明显:如果DNS服务出现故障,则没有任何作用。

本文将概述最佳做法和最重要的安全措施,以确保您的DNS基础结构保持健康。确保考虑以下几点以构建安全可靠的DNS。


DNS性能最佳做法

确保DNS冗余和高可用性

由于DNS是网络应用程序的基础,因此DNS基础结构需要高度可用。为了实现基本的冗余,您至少需要在组织中拥有主要和辅助DNS服务器。

为了使关键业务服务保持运行,必须至少拥有两个内部DNS服务器。所有活动目录,文件共享和电子邮件服务都依赖于正确的DNS操作。如果没有正常运行的内部DNS服务器,内部设备将无法通信。


如果一台DNS服务器遇到问题,另一台DNS服务器将立即接管。管理员将计算机配置为在主服务器无响应时自动使用辅助DNS。内部DNS服务器的IP可以是专用网络IP范围内的任何地址。

通过使DNS服务器冗余,可以实现 DNS基础结构的高可用性。从主服务器到辅助服务器的连续复制将使您的DNS记录保持同步,并确保不会出现故障。您可以确保永远不会有最终用户无法使用的服务。

隐藏DNS服务器和DNS信息

并非每个DNS服务器和每条信息都必须对所有用户可用。

首先,仅使服务器和使用这些服务器的个人所需的数据可访问。如果您的域名需要公开显示,这一点尤其重要。

其次,隐藏您的主DNS服务器。主服务器必须对外部用户不可见。这些服务器的记录不应在任何可公开访问的名称服务器数据库中提供。仅辅助DNS服务器应处理最终用户的请求。

如果可以从网络外部访问DNS服务器,则该服务器必须是仅权威的DNS服务器。无需外部用户查询您的递归DNS服务器。高性能配置仅对服务器具有权威性的各个区域的迭代查询作出响应。

最后,只有系统管理员和IT人员才可以访问组织内的主服务器。如果您使所有内部用户都可以看到主要的DNS服务器,则可能会成为严重的安全问题。根据经验,对不需要访问它们的用户隐藏DNS服务器和数据。


我应该使用外部还是内部DNS服务器?

该问题的答案取决于内部设置。

为了允许一个域上的设备相互通信,您需要将它们指向内部DNS服务器。外部DNS服务器无法解析内部设备的主机名。

例如,当一台计算机桌面1发送一个DNS查询的办公室打印机或服务器HR- 1,只是一个内部DNS可以提供一个资源记录。如果您将设备设置为使用外部DNS(例如Google的8.8.8.8),则将无法使用内部资源。

在内部环境中,您需要将主DNS和辅助DNS都设置为内部名称服务器。即使主DNS服务器发生故障,也不会出现连接问题。辅助DNS服务器包含所有记录,并充当备份。出现问题时,此服务器将响应所有查询,直到备份并运行主服务器。

使用本地或最近的DNS服务器

大型组织通常在全球设有办事处。如果基础结构允许,则应在每个办公室中设置本地DNS服务器。

原因是本地服务器减少了DNS请求的响应时间。当查询通过WAN传播到远程名称服务器时,用户的加载时间会更长。


随着客户端数量的增加,DNS查询的数量也在增长。一组集中的DNS服务器可以处理所有请求,但延迟更多。通过将用户的计算机指向本地或最接近的名称服务器,响应时间可以减少到最少。

在这种情况下,延迟不会超过50ms。此外,该数字通常远低于该值。使用最近的DNS服务器可以缩短所有计算机的加载时间。这样,您还可以减轻总部的远程服务器的负担,并提高其性能。关于至少拥有两个DNS服务器的建议在这里仍然有效。

DNS安全最佳做法

DNS服务器是网络攻击的常见目标。DNS基础结构的安全是防止组织遭受破坏的关键步骤。为避免对您的DNS设置产生重大影响,请确保采用以下概述的安全措施。

启用DNS记录

DNS日志记录是监视DNS活动的最有效方法。日志可让您知道是否有人在干扰您的DNS服务器。除客户端活动外,调试日志还会在DNS查询或更新出现问题时告诉您。

DNS日志还显示了缓存中毒的痕迹。在这种情况下,攻击者更改了存储在缓存中的数据,并使客户端偏离路线。例如,www.123.com的IP地址可能会更改为恶意网站的IP地址。当客户将查询发送到123.com的DNS时,服务器现在返回错误的IP。然后,用户访问他们不想访问的网站,并成为黑客的目标。

即使DNS调试日志记录将安全性提高到了更高的水平,一些系统管理员还是决定禁用它。主要原因是要提高性能。监视网络活动可以帮助您检测某些攻击,例如DDoS,但不能检测缓存中毒。因此,我们强烈建议启用DNS调试日志。

锁定DNS缓存

只要有来自客户端的查询,DNS就会查找该信息并将其存储在缓存中以备将来使用。此过程使服务器可以更快地响应相同的查询。攻击者可以通过更改存储的信息来利用此功能。

启用DNS调试日志的进一步步骤是锁定DNS缓存。此功能确定何时可以更改缓存的数据。服务器在TTL定义的时间(生存时间)内保留查找信息。如果禁用了缓存锁定,则可以在TTL过期之前覆盖信息。这为缓存中毒攻击留出了空间。

根据操作系统的不同,默认情况下可能启用缓存锁定。缓存锁定比例上升到100%。将该值设置为70时,将无法覆盖TTL的70%的数据。通过将缓存锁定定义为100,阻止更改缓存信息,直到TTL过期。


筛选DNS请求以阻止恶意域

DNS筛选是防止用户访问网站或域的有效方法。阻止域名解析的主要原因是,如果该域名已知是恶意的。当客户端发送对被阻止网站的查询时,DNS服务器将停止它们之间的任何通信。

DNS过滤可大大减少病毒和恶意软件到达您的网络的机会。当客户端无法访问恶意页面时,可在您的基础结构内部爬行的威胁数量将降至最低。这样,您的IT员工就不必全天候清理病毒。

除了安全性,组织还可能由于业务策略或出于生产力原因而希望阻止域。被阻止域的列表可以包括社交媒体,赌博,色情,视频流页面或任何其他网站。DNS可以按用户,组过滤请求,或阻止所有用户访问。

现代软件安全和防火墙解决方案将DNS过滤作为标准配置。其中一些设备提供了定期更新的坏域列表。通过使用现成的软件解决方案,您可以自动进行DNS筛选,并避免手动添加新条目。

使用DNSSEC验证DNS数据完整性

域名系统安全扩展(DNSSEC)确保客户端收到对其查询的有效响应。DNSSEC通过对提供给名称服务器的DNS数据进行数字签名来实现数据完整性。当最终用户发送查询时,DNS服务器将在响应中提供数字签名。因此,客户知道他们收到了他们发送的请求的有效信息。

这种增加的安全性层有助于抵御DNS协议攻击。由于DNSSEC提供了数据完整性和原始授权,因此可以成功避免DNS欺骗攻击和缓存中毒。然后,客户有信心他们正在访问打算访问的页面。

配置访问控制列表

访问控制列表(ACL)是保护DNS服务器免受未经授权的访问 和欺骗攻击的另一种方法。只有IT管理员和系统管理员才能访问您的主DNS。配置ACL以允许从特定主机到名称服务器的入站连接可确保只有目标人员才能与您的服务器通信。

此外,ACL需要定义哪些服务器可以进行区域传输。攻击者可能试图通过辅助DNS服务器发送区域转移请求来确定您的区域设置。如果阻止通过辅助服务器的所有区域传输请求,则攻击者无法获取区域信息。此配置可防止第三方深入了解您如何组织内部网络。


】【打印关闭】 【返回顶部
上一篇服务器上执行预防性维护的流程 下一篇关于微软多个安全漏洞的通报CVE-2..