安全部署/托管包含 DHCP 服务器的虚拟化域

安全部署/托管包含 DHCP 服务器的虚拟化域

我最初问有关堆栈溢出的问题,并被引用到这里。

我使用 Hyper-V 构建了一个与我们的主网络隔离的私有 Windows 域。最终,我想将此域提供给其他人用于开发和测试,以便他们可以成为域管理员。

我的问题是这样的:域控制器正在运行 DHCP 服务。如果有人将域部署到他们的 Hyper-V 主机并错误地将其连接到主网络,DHCP 服务将开始分配错误的 IP 配置。

我想避免这种情况。我考虑写一个服务来包装dhcploc,如果可以找到远程 DHCP 服务器,此服务将停止本地 DHCP 服务。这实际上是限制损害,因为恶意 DHCP 服务器仍然有一个小小的机会窗口。

有没有更好/更简单的替代方案可以实现目标?有什么注意事项需要注意吗?

谢谢

答案1

鉴于您的测试 DHCP 配置使用 MAC 地址来分配常规 IP,您可以将范围限制为仅包含已知的 MAC 地址。这样,即使有人意外将其放在主网络上,它也不会分发任何 IP,因为没有任何请求与其范围内的任何 MAC 匹配。至于将测试 DC 放在主网络上的潜在问题,这取决于以下几点:

1) 希望您为测试网络使用与主网络不同的子网。例如,测试网络 = 172.16.0.0 和主网络 = 10.0.0.0。这将限制测试 DC 对主网络上内容的访问,只要它无法到达知道两个子网并设置为在它们之间路由的路由器。2) 测试 DC 是如何创建的?如果它首先连接到主网络以通过复制获取 AD 数据,然后移除并放入测试环境中,它仍然会知道主网络上的其他 DC,并在出现后尝试与它们进行复制。出于显而易见的原因,这非常糟糕……如果它是在测试环境中创建的,并且具有与主域名不同的唯一域名,那么您就可以开始了。

我所说的“更大的问题”是指,如果人们不小心将 DC 放在主网络上,那么应该有人对他们进行一些 Hyper-V 使用培训,而不是试图在他们这样做的情况下限制损害!如果我的 DEV 人员在我的生产网络周围使用 DC(测试或非测试),我会非常紧张……您能否将他们的 Hyper-V 工作站与主网络完全分开,放在不同的子网上?

答案2

当您说“隔离”时,您到底是什么意思?

如果您在同一个子网上有两个 DHCP 服务器,那么一些请求将会发送到一个 DHCP 服务器,而一些请求将会发送到另一个 DHCP 服务器,当然,如果两个服务器都提供来自同一个池的 IP,就会发生冲突。

对于您描述的情况,我将为您的“隔离”服务器创建一个路由子网,并使用 VLAN 来隔离子网,或者您可以使用另一个廉价交换机进行更物理的分离。

您的 Windows DHCP 服务器可以是多宿主的(连接到两个或更多网络)。使用两个网卡,您可以将一个网卡连接到生产网络,将另一个网卡连接到单独的网络交换机或单独的 VLAN,从而允许一个服务器充当两个网络的 DHCP 服务器。或者,按照您最初的问题,如果您想继续操作两个 DHCP 服务器,则无需这样做。

然后在隔离的交换机或 VLAN 上创建一个与生产网络不同的子网。例如:

生产交换机/VLAN:172.16.0.0/16 开发交换机/VLAN:172.17.0.0/16

生产 DHCP 服务器可能使用 172.16.1.1 - 172.16.1.200 的范围。开发 DHCP 服务器可能使用 172.17.1.1 - 172.17.1.200 的范围。

在生产 DHCP 范围内,您可以将静态路由分发到开发,在开发 DHCP 范围内,您可以将静态路由分发到生产......

例如,如果您的开发区域需要互联网访问,而互联网只能通过生产网络访问,则您可能需要两者之间进行一些路由。

答案3

最简单的做法就是完全不使用 DHCP。私有虚拟域是否太大,以至于您无法使用静态 IP 管理 IP 地址?其次,如果人们将仅用于测试的 DC 连接到您的主网络,那么您将面临更大的问题。我还没有使用 Hyper-V,但在 VMWare 中,至少您可以分配非常细粒度的权限,以防止用户将 VM 连接到其他网络或更改其网络配置。

相关内容