将 DNS 记录添加到我不管理的区域

将 DNS 记录添加到我不管理的区域

总结- 我想将 DNS 服务记录添加到我们母公司在本地 DNS 服务器中管理的区域,因为母公司不会提供帮助,但又不想为了执行此操作而维护其主要区域的完整副本。

完整故事

我管理着一个小型远程办公室(我们公司刚刚被一家大公司收购),里面有 20 名员工,还有许多用于工程和测试的本地服务器。我有一台安装了 Windows Server 2008 的机器,其中运行着 DNS,它可以解析我们所有的本地名称,然后通过服务器级转发将所有其他未知名称转发到 megacorp 的内部 DNS 服务器。到目前为止,这很有效。

然而,我们 minicorp 最近切换到了 megacorp 的 Exchange 服务器。当我们将 Outlook 客户端配置为连接到 Exchange 服务器时,我们可以连接,但会收到臭名昭著的“安全证书上的名称无效或不匹配”警告。这是因为 megacorp 使用的证书中的域名与 Outlook 自动发现机制中使用的域名不匹配。对于大多数 megacorp 用户来说,这不是问题,因为他们位于通过 SCP 推出正确自动发现 URL 的活动目录中。由于我们 minicorp 暂时不会加入 AD,所以我们只能解决这个问题。

微软在这里描述了一些修复此问题的方法: https://support.microsoft.com/en-us/kb/2772058

Megacorp 的 IT 人员被更高优先级的问题弄得不知所措(说得好听点,他们对 minicorp 解决这个问题毫无帮助),所以我需要想出一种方法来解决这个问题,而不需要他们做出改变。

根据那篇 Microsoft 文章,处理此问题的“正确”方法是通过 SCP,但由于 AD 不是一个选项,我们不能采用这种方式。因此 Outlook 选择了第三个选项,即尝试 autodiscover.megacorp.com URL,虽然可以,但会导致证书警告。此外,为了使它正常工作,我不得不将 autodiscover.megacorp.com 区域添加到我的本地 DNS 服务器,因为出于某种原因,该名称无法在 megacorp 的 DNS 服务器中解析。

根据该文章,下一个选项是使用 DNS 服务记录来提供与 SSL 证书中的名称匹配的正确自动发现 URL。问题是我没有管理 megacorp 域的主要区域,这最终让我产生了疑问... 我可以为我不管理的区域创建服务 DNS 记录吗?类似于我创建“autodiscover.megacorp.com”区域的方式,该区域仅包含该名称的正确 IP 地址,但 megacorp.com 域下的所有其他名称请求都会转发到 megacorp 的 DNS 服务器,我可以使用服务记录执行类似操作吗?就好像我想“子类化”megacorp 的 DNS,以便我可以扩展它来提供我自己的记录。

有这样的事吗,还是我走错了方向?也许还有其他方法可以解决此证书错误?我知道处理此问题的正确方法是让 megacorp IT 正确实施此操作,但是...是的...

感谢您耐心回答我这个问题;它比我预想的要冗长得多。

答案1

你的想法是可行的。只要你控制了需要操纵的客户端使用的 DNS 服务器,就没有什么可以阻止你拦截查询并以你喜欢的方式回复。

这个答案有三个注意事项:

  1. 显然,这是最后的选择。请确保您清楚当 Megacorp 的 DNS 管理员得知您正在拦截他们管理的 DNS 记录时会如何反应。
  2. 不要做混蛋。如果 Megacorp 解决了这个问题,你应该优先停止这样做,并将其 DNS 数据的控制权交还给他们。
  3. 拦截应该尽可能具体。如果你控制了blah.example.com,你就会拦截所有查询向左转blah,而不只是的blah。您控制的是整个子域,而不仅仅是特定的名称 + 记录类型的组合。

最后,这里有一个 Windows 特有的警告:DNS 管理单元不能用于创建顶点SRV记录。您可以使用它来创建区域,但记录本身必须使用以下方式填充:命令行

考虑到这一点:

  • 创建一个正向查找区域,其名称与要拦截的记录完全相同。如果您尝试拦截名为 的 SRV 记录_service._proto.example.com,则需要创建一个名为 的区域_service._proto.example.com。按照规则 3,避免_proto.example.comexample.com。这样做最终会拦截比您尝试捕获的流量多得多的流量。
  • SRV使用命令行在区域顶层 定义记录:

dnscmd /recordadd _autodiscover._tcp.example.com @ SRV 0 0 443 mail.example.com.

答案2

我认为,如果这是可能的,那么 DNS 就会出现一个巨大的安全漏洞 - 如果是小型办公室,您可以在主机文件上放置一些静态条目,或者抑制警告。

https://support.microsoft.com/en-us/kb/2783881

方法 4:配置 Outlook 以允许连接到不匹配的域名

重要说明本节、方法或任务包含一些步骤,告诉您如何修改注册表。但是,如果您错误地修改了注册表,则可能会出现严重问题。因此,请确保仔细遵循以下步骤。为了增加保护,请在修改注册表之前备份注册表。然后,如果出现问题,您可以还原注册表。有关如何备份和还原注册表的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:322756 如何在 Windows 中备份和还原注册表要将 Outlook 配置为忽略名称不匹配并连接到特定的 HTTP 终结点,您可以设置或部署注册表值。为此,请按照以下步骤操作:关闭 Outlook。启动注册表编辑器。为此,请根据您的 Windows 版本使用以下步骤之一。Windows 10 和 Windows 8:按 Windows 键 + R 打开“运行”对话框。键入 regedit.exe,然后按“确定”。Windows 7:单击“开始”,在搜索框中键入 regedit.exe,然后按 Enter。找到并单击以选择以下注册表子项:HKEY_CURRENT_USER\Software\Microsoft\Office\xx.0\Outlook\AutoDiscover\RedirectServers 注意 您还可以使用以下注册表子项:HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\xx.0\Outlook\AutoDiscover\RedirectServers 其中 xx 为 Outlook 2007 的 12.0、Outlook 2010 的 14.0、Outlook 2013 的 15.0 和 Outlook 2016 的 16.0 单击编辑菜单,指向新建,然后单击字符串值。键入自动发现可以连接到而不向用户发出警告的 HTTPS 服务器的名称,然后按 Enter。例如,要允许连接到https://contoso.com,第一个字符串值(REG_SZ)名称如下:

contoso.com 您不必在“数值数据”框中添加文本。对于您创建的字符串值,“数据”列应保持为空。要添加更多自动发现可以连接而不显示警告的 HTTPS 服务器,请对每台服务器重复步骤 4 和 5。在“文件”菜单上,单击“退出”以退出注册表编辑器。

相关内容