在两个子网之间创建防火墙有哪些安全问题?

在两个子网之间创建防火墙有哪些安全问题?

据我了解,不同子网上的主机无法相互通信,除非两个子网上的某处都有路由器在它们之间转发流量。

我在网络上有两个子网,例如:192.168.0.0/24 和 192.168.1.0/24。我想使用连接到两个子网的 Linux 机器在它们之间创建防火墙路由。防火墙将在 iptables 中实现。

所有连接到网络的主机都将受到信任,并且用户没有管理员权限来更改其网络配置(即仅连接到另一个子网)。

假设我上面所说的一切不是完全胡说八道,那么连接到一个子网的用户可以通过哪些可能的方式绕过防火墙并访问另一个子网?

我想到的一个显而易见的答案就是简单地连接一个不受信任的主机。

澄清一下:我试图创建一个自定义防火墙解决方案(不是现成的)。它将集成到现有的解决方案中,该解决方案已经在 Linux 机器上运行,因此这方面的问题已经解决。

防火墙将允许基于物理 NIC 或 VLAN 定义区域。

在我看来,基于物理 LAN 的区域只会受到物理连接到他们不应该连接的网络的人的影响。除了加密之外,这归结为物理安全性。假设您没有错误配置某个交换机以暴露承载 dot1Q 流量的端点,或允许 VLAN 跳跃攻击,那么基于 VLAN 的区域本质上是相同的。

我的问题的根源在于是否可以将基于子网的区域(在同一物理硬件上运行)添加到可以进行防火墙保护的事物列表中。这当然取决于所有连接的主机是否“受信任”,以及所有用户(至少防火墙适用的用户)是否没有管理权限来干扰网络设置。

答案1

作为网络管理员,我将分两部分回答这个问题:

首先,如果您的设备在同一个逻辑/物理 LAN 上的两个不同子网中运行,那么子网之间的 LAN 上的安全性将基本为零。虽然您认为设备将无法访问任何内容,但您无法确定您没有恶意设备。因此,我将直接假设情况并非如此。接下来,使用 IPTables 设置 Linux Box 作为路由器相当容易。Linux 机箱的配置相当详细,一些细节可能取决于您运行的发行版,但基本机箱是两个 NIC,一个插入每个网络,然后是一些将执行路由的软件(很容易找到,甚至包含在某些发行版中),然后是您的 IPtables 配置。将 NIC1 插入 192.168.0.0/24,将 NIC2 插入 192.168.1.0/24,这样您就在两个子网之间建立了一个桥梁,用于传输需要在它们之间传输的流量。

这是第二部分:对于您来说,从信誉良好的制造商处购买(即使是二手的)路由器要比您组装和配置这个 Linux 机器来执行相同任务简单得多。大多数真正的路由器都能够执行 ACL,这实际上就是 IPtables 对大多数配置所做的工作,并且一些路由器能够执行带有数据包检查的基于区域的防火墙。二手 Cisco 1841 不会让您花费太多,并且与您询问的 Linux RouterWall 组合一样“合法”。稍微用 google-fu 搜索一下,您可能就能找到足够的 Cisco CLI 命令来相当快地纠正您的问题,并在不到二十分钟的时间内启动该机器并执行您需要它执行的操作。我并不反对任何人为了好玩而“艰难地”做某事……但除非这是您的目标,否则在我看来,您是在非常努力地用比问题本身更复杂的答案来解决问题。

答案2

我不能代表 Linux 发言,但我有一个更简单的问题,你在这里想要完成什么?(我将漫无目的地猜测,看看我是否能接近,但你应该在你的问题中澄清。)

看起来您正试图连接两个子网并允许流量。好的,但是如果子网在物理上是分开的,并且路由接口不存在于该子网上,您就不能只使用另一个子网。这意味着即使您在 192.168.1.x 子网上将 IP 更改为 192.168.0.223,它也无法路由到您的网关(Linux 机器),因为它位于错误的子网上。

通常,子网在物理或逻辑上是分开的。因为它们位于不同的硬件上,或者使用 VLAN 或其他逻辑隔离。这意味着即使您有一个子网的 IP,它也不会在另一个子网中工作,因为用于将流量从该子网路由出去的设备不是 p

就“受信任”的主机而言,任何能够将某些东西插入您网络的人都是不可信的,但除非您正在验证客户端(IPsec/证书/等),否则几乎可以更改任何网络适配器上的 MAC 和 IP 地址。所以你不能就这样“信任”它们。由于我不知道你需要什么,所以我真的不能对此发表评论。在 802.1X 等交换硬件上有一些可用的方法,可能正是你正在寻找的。

相关内容