当前位置:网站首页 > Windows运维 > 正文

DHCP Guard和Router Guard是如何保护虚拟化环境的?

作者:jinxijing发布时间:2019-03-08分类:Windows运维浏览:325


导读:DHCPGuard和RouterGuard是如何保护虚拟化环境的? 尽管Hyper-V的高级网络安全特性不可能适用于所有情况,但是管理员可以使用其构建额外的防御层级,...

DHCP GuardRouter Guard是如何保护虚拟化环境的

尽管Hyper-V的高级网络安全特性不可能适用于所有情况,但是管理员可以使用其构建额外的防御层级,防止恶意入侵,保护虚拟化环境。

当微软发布Windows Server 2012时,对Hyper-V进行了大幅度调整,并且在Windows Server 2012 R2当中完成了进一步改进。在Hyper-V增加的新功能当中包含了一些提升安全性的高级网络特性,比如DHCP Guard和Router Guard。

这些高级网络特性运行在虚拟机层,以虚拟网卡(vNIC)为基础。用户可以在Hyper-V Manager当中查看这些配置,右键单击虚拟机,在快捷菜单当中选择"Setting"命令。之后系统会弹出虚拟机配置对话框,点开虚拟机的vNIC下拉列表,之后选择"Advanced Features"配置界面。如图A所示。如果虚拟机包含多个vNIC,那么每个vNIC都拥有独立的Advanced Features配置界面。

图A.高级特性 以网卡为单位进行管理

这些特性当中有两种高级特性应该首先了解,分别是DHCP(动态主机配置协议) Guard和Router Guard,如上图所示。这两种保护机制能够防止未授权的网络服务访问虚拟机。

Router Guard工作原理

Router Guard能够防止虚拟机当成路由器使用,这样就能够在虚拟机操作系统被劫持时保护虚拟网络。表面上,这种特性的使用场景非常有限。毕竟,大多数入侵者并不会将虚拟机作为路由器使用——尽管这种情况曾经发生过。即便如此,Router Guard特性还是拥有其发挥空间的。

设想当前环境中存在一台跨越多个虚拟网络、提供路由服务的特殊虚拟机。通常这种虚拟机会包含一块并不直接参与路由进程的虚拟网卡,这块虚拟网卡会用于管理流量或者类似目的。尽管这块虚拟网卡不需要执行路由功能,网络流量通常也不会被路由到管理网络当中,但是在这种情况当中,管理员可以在管理网络网卡上启用Router Guard功能,防止其被加入到可路由范围当中。

当然,路由和远程访问服务不会无故将数据流量路由到管理网络当中。既然如此,在管理网络当中启用Router Guard不应该对虚拟机的原有行为产生影响。Router Guard只是一种额外的保护机制,防止管理员在更改配置时错误地将管理网络加入到可路由进程当中或者防止路由器被挟持。

如果你想了解Router Guard究竟是如何工作的:它会丢弃路由宣告并且重定向消息。特别是,Router Guard会尽量避免以下类型的数据包:

ICMPv4 Type 5 (Redirect message 重定向消息)

ICMPv4 Type 9 (Router advertisement 路由宣告)

ICMPv6 Type 134 (Router advertisement 路由宣告)

ICMPv6 Type 137 (Redirect message 重定向消息)

用户可以在MSDN(Microsoft Developer Network)网站上了解更多Router Guard的工作原理。

将DHCP Guard作为第二道防线

DHCP Guard部分需要解释的问题更多。如果管理员曾经在Windows上部署过DHCP服务器,那么就会知道在部署过程当中需要使用活动目录(AD)对新的DHCP服务器进行授权。这样AD服务器就能够区分合法DHCP服务器和仿冒DHCP服务器。但是现在的问题在于,非Windows DHCP服务器不需要通过AD授权就能够开始工作。因此,DHCP Guard能够作为抵御未授权DHCP服务器的第二道防线。这种特性被启用之后会阻止虚拟机成为DHCP服务器。恶意软件会将一台普通机器变为DHCP服务器,而DHCP Guard的作用就是防止这种恶意软件进行破坏。

DHCP Guard特性还可以被用来限制合法DHCP服务器。比如,在某个特定的网段当中不想使用DHCP服务器自动分配IP地址,那么可以在特定vNIC上启用DHCP Guard特性。

Hyper-V的Router Guard和DHCP Guard特性被设计用来防止未授权的网络服务访问虚拟机。即便如此,微软通常推荐根据实际需求启用这些特性,而不是默认开启,因为使用这些特性会对性能表现产生一些小的影响。