我在一些关于 pfSense 的论坛上看到有人说虚拟化 pfSense 很危险。他们之所以这么说,是因为攻击者可以利用 pfSense 作为攻击虚拟机管理程序的跳板,然后利用它访问其他虚拟机,最终使所有虚拟机脱机。
我觉得这听起来很疯狂,但这个想法有一点现实性吗?在虚拟服务器中运行路由器是不是一个坏主意?
答案1
人们通常反对的理由是虚拟机管理程序本身的安全性,而历史已经证明这没什么好担心的。这种情况随时可能发生变化,但目前还没有出现任何真正重大的虚拟机管理程序安全问题。有些人就是拒绝信任它,毫无理由。如果有人拥有防火墙,就不会攻击其他主机,在这种情况下,防火墙在哪里运行并不重要,而且在所有可能受到损害的东西中,防火墙排在很后面,除非你做了一些愚蠢的事情,比如用默认密码向整个互联网开放它的管理。这些人有一种不合理的恐惧,担心会有一些神奇的“根 ESX”数据包从互联网通过它的一个桥接接口发送过来,以某种方式对虚拟机管理程序造成影响。这是极不可能的,你的网络受到损害的方式有数百万种。
许多生产数据中心在 ESX 中运行 pfSense,仅我自己就设置了超过 100 个。我们的防火墙在 ESX 中运行。从所有这些经验来看,虚拟化防火墙仅有的几个缺点是:1) 如果您的虚拟化基础设施出现故障,如果您不在该位置(主要适用于 colo 数据中心),您将无法对其进行故障排除。这种情况应该非常罕见,特别是如果您部署了 CARP,每个物理主机都有一个防火墙。不过,我确实偶尔会看到这种情况,有人必须亲自前往该位置查看他们的虚拟机管理程序出了什么问题,因为他们的虚拟防火墙和唯一的路径也出现故障。2) 更容易出现可能造成安全问题的配置错误。当您拥有未过滤的 Internet 流量的 vswitch 和一个或多个私有网络流量时,未经过滤的 Internet 流量可能会进入您的私有网络(其潜在影响因环境而异)。这些都是不太可能发生的情况,但比在完全不受信任的流量未以任何方式连接到内部主机的环境中发生同类错误的可能性要大得多。
这些都不能阻止你这样做 - 只是要小心避免场景 1 中断,特别是如果你位于一个数据中心,如果你丢失了防火墙,你就无法获得物理访问权限。
答案2
任何事物只要连接到互联网就都有危险。
引用不朽的“怪人阿尔”的话:
关掉你的电脑并确保它已关机
把它扔到地面上一个四十三英尺深的洞里
把它完全埋起来;岩石和巨石都应该没问题
然后把你上网时穿过的所有衣服都烧掉!
您暴露给外界的任何东西都有可能被攻击。如果您在专用硬件上运行 pfSense,并且它被入侵,那么攻击者现在就有了一个攻击内部一切的跳板。如果您的 pfSense 虚拟机被入侵,攻击者确实有一个额外的攻击媒介 - 虚拟机管理程序工具(假设您已经安装了它们) - 可以使用,但此时,您的网络已经受到入侵,您无论如何都会处于危险之中。
那么使用虚拟化 pfSense 实例是否不太安全?是的,有点不太安全。这是我需要担心的事情吗?不。
编辑: 经过进一步考虑,如果 pfSense 中存在我不知道的特定错误,其中存在虚拟化 NIC 问题,从而以某种方式造成安全漏洞,则上述内容无效。但是,我不知道有这样的漏洞。
答案3
无论你谈论的是哪种服务器,在虚拟环境中运行任何东西都存在一些固有的危险。我最近回复了一个类似问题。由于您的路由器/防火墙已经可以访问您的内部网络,因此没有真正的理由攻击虚拟机管理程序级别 - 已经有更好的攻击媒介可用。
我真正能想到的唯一理由是,如果您的虚拟机位于 DMZ 中,那么您就可以通过虚拟机管理程序进入内部网络的计算机。这不是您描述的用例。
我个人会保留防火墙的虚拟化副本以用于灾难恢复。使用它并不是最理想的选择,但它是一种选择。