如何保护低预算网络免受恶意 DHCP 服务器的攻击?

如何保护低预算网络免受恶意 DHCP 服务器的攻击?

我正在帮助一位朋友管理一栋公寓楼的共享互联网连接,该公寓楼共有 80 套公寓 - 8 个楼梯,每个楼梯有 10 套公寓。网络布局为,互联网路由器位于大楼的一端,连接到第一个楼梯中廉价的非托管 16 端口交换机,前 10 套公寓也连接到该楼梯。一个端口连接到下一个楼梯中的另一个 16 端口廉价交换机,这 10 套公寓也连接到该楼梯,依此类推。这有点像菊花链,每个“菊花链”上有 10 套公寓作为辐条。该建筑呈 U 形,大约 50 x 50 米,20 米高 - 因此从路由器到最远的公寓大概有 200 米,包括上下楼梯。

我们遇到了不少问题,有人以错误的方式连接 wifi 路由器,创建恶意 DHCP 服务器,从而中断大量用户群,我们希望通过使网络更智能(而不是进行物理拔出二进制搜索)来解决此问题。

凭借我有限的网络技能,我找到了两种方法 - DHCP 监听或将整个网络拆分为每个公寓的独立 VLAN。独立 VLAN 为每个公寓提供与路由器的私人连接,而 DHCP 监听仍将允许 LAN 游戏和文件共享。

DHCP 监听是否适用于这种网络拓扑,还是依赖于网络是否处于适当的中心辐射配置?我不确定 DHCP 监听是否有不同的级别 - 比如昂贵的 Cisco 交换机可以做任何事情,而 TP-Link、D-Link 或 Netgear 等廉价交换机只能在某些拓扑中执行此操作?

基本 VLAN 支持是否足以满足此拓扑的要求?我猜即使是廉价的托管交换机也可以用自己的 VLAN 标签标记来自每个端口的流量,但是当菊花链中的下一个交换机在其“下行链路”端口上收到数据包时,它不会用自己的中继标签(或主干流量的任何名称)剥离或替换 VLAN 标签吗?

资金紧张,我认为我们买不起专业级思科(多年来我一直在为此努力),所以我很想得到一些建议,哪种解决方案对低端网络设备的支持最好,以及是否有推荐的特定型号?例如低端 HP 交换机或甚至像 TP-Link、D-Link 等廉价品牌。

如果我忽略了解决这个问题的另一种方法,那是因为我缺乏知识。:)

答案1

我认为您应该采用多 VLAN 路由 - 不仅仅是因为 DHCP 服务器问题。目前,您有一个大型扁平网络,虽然在某种程度上,用户应该负责自己的安全,但我个人认为这是一个相当不可接受的设置。

唯一需要管理的交换机是您自己的。除此之外,您为每个公寓分配一个特定 VLAN 上的端口 - 下游的任何东西都完全不知道 VLAN,您可以正常运行。

就您的交换机而言 - 交换机到交换机的端口需要配置为中继端口,并且您需要与您的 VLAN ID 保持一致。换句话说,VLAN100 必须与网络上其他地方的 VLAN100 相对应。

除此之外,您还可以设置“单棒路由器”配置,将每个 VLAN(及其关联的 IP 池*)配置为仅往返路由到互联网,而不路由到其他内部网络。

*我想不出还有什么地方可以粘贴这个,但请记住,理想情况下,您应该为 VLAN 提供自己的 IP 池。最简单的方法是让其中一个八位字节与 VLAN ID 相同,例如

192.168.100.x - VLAN100
192.168.101.x - VLAN101
192.168.102.x - VLAN102

一旦所有这些都准备就绪,如果您愿意的话,您就可以真正开始使用诸如服务质量、流量监控等功能!

对我来说,“LAN 游戏”请求似乎是一个相对小众的请求,当然不是我会考虑的。他们仍然可以通过 NAT 正常玩游戏,通过互联网再返回 - 虽然不太理想,但与每个公寓都有自己的连接没什么不同,这在英国是常态。不过,根据具体情况,您可以在希望以这种方式共享网络的公寓之间添加完整的 VLAN 间路由。

事实上,您可以在任何地方添加完整的 VLAN 间路由 - 这可以解决您的 DHCP 问题,允许 QoS,但在我看来仍然是一个巨大的安全问题。

我在这里没有介绍的一件事是您的 DHCP - 假设您目前为所有客户端设置了一个范围。如果您将它们放在单独的网络上,则需要为每个 VLAN 管理一个单独的范围。这实际上取决于设备和基础设施,所以我暂时不讨论这个。

答案2

根据您的预算,至少选择一台管理型交换机并将每层楼放在一个 VLAN 上。

要彻底解决您的安全和 DHCP 问题,如果布线允许,每两层楼配备一个 24 端口管理型交换机。如果布线不允许,使用配线架延长线路可能比增加交换机更便宜。

您可以通过使用 10/100 管理型交换机来节省设备,但是,根据供应商的不同,可能需要大量的专业知识来设置(思科)。

作为一名程序员,我被要求在 8 层办公楼内用光纤设置 1000 多个端口的网络,我可以说,D-Link 管理型交换机 GUI 搭配手册将允许您做任何您需要的事情。我不是说您必须使用 D-Link,我只是说我认为您不会失望。D-Link 管理型交换机(2 级以上)价格实惠,可以在交换机上运行 DHCP(不推荐这样做,但这是一种选择)。它们具有较低的“智能”交换机层,可以满足您的所有需求。

如果每层楼都设置一个 VLAN,/23(512 台主机)就足够了(如果计划部署无线,则可以使用更大的容量)。如果每间公寓都设置一个 VLAN,/27(30 台主机)就足够了。

我认为,为多个 VLAN 执行 DHCP 的最简单方法是使用 Raspberry PI 并使用动态主机配置协议。您可以使用任何具有支持 VLAN 的 NIC 的低功耗机器。(就我个人而言,我会选择EdgeMax 路由器只需 99 美元即可运行 DHCP!)

只需为每个 VLAN 选择一个 IP 范围/子网,VLAN 的 ISC DHCP 配置可能如下所示:

subnet 10.4.0.0 netmask 255.255.192.0 {
        interface net0;
        option routers 10.4.0.20;
        option subnet-mask 255.255.192.0;
        pool {
                range 10.4.1.1 10.4.63.254;
        }
}

您可以将全局选项保留在每个范围之外,因此至少您会得到如下结果:

option domain-name "well-wired--apts.org";
option domain-name-servers 4.2.2.2, 8.8.8.8, 8.8.4.4;
default-lease-time 3600;
ddns-update-style none;

如果每个公寓都有多个网络插孔,请设置生成树协议以避免环路。如果配置不当,这可能会减慢速度,导致每个端口需要 30 秒或更长时间才能启动,因此请务必进行测试。有一个选项需要启用,我相信 Cisco 称之为 PortFast。

我个人没有这样做过,但显然 Windows 服务器可以很容易地进行设置。

另请考虑:

  • 本地缓存 DNS 转发器、流量整形以及 VoIP 的 QoS 将提高整体响应能力(您的硬件应该能够以线路速度运行上述服务)。

  • 如果您计划升级安全摄像头或推出无线网络,那么购买 POE 设备可能是值得的。

  • 由于许多廉价无线路由器不能作为独立 AP 运行,因此您所能期望的最好情况是租户将使用双 NAT。如果每个人都通过 WAN/Internet 端口将他们的路由器插入您的网络,这将提高安全性并消除 DHCP 问题。带有常见路由器品牌的印刷精美的说明书可能会为您节省一些设备和麻烦;但是,完全遵守规定会很困难。

  • 使用类似的工具名称台为您的 ISP 找到最快的 DNS 服务器。

祝你好运!

答案3

如果您有一台不错的路由器,一个可行的解决方案是为每个公寓设置一个 VLAN,并为每个 VLAN 分配一个 /30 地址。此外,为每个 VLAN 创建一个仅分配一个 IP 地址的 DHCP 范围。

例如:

  • VLAN 100
    • 子网 10.0.1.0/30
    • 路由器 10.0.1.1
    • 用户 10.0.1.2
  • VLAN 104
    • 子网 10.0.1.4/30
    • 路由器 10.0.1.5
    • 用户 10.0.1.6

这解决了公寓之间的博弈问题,因为路由器可以在公寓之间路由。它还解决了恶意 DHCP 问题,因为 DHCP 流量被隔离到该公寓的 VLAN,并且它们只获得一个 IP 地址。

答案4

我会选择 PPPOE 和一个简单的服务器,比如...mikrotik 或任何支持它的服务器。这似乎是最简单的方法。我相信你现在已经解决了这个问题,但对于任何遇到这个问题的人来说...pppoe 是最快的答案。

相关内容