背景:我是一所相对较大的大学的系统管理员(住宅空间/ResNet 中约有 15,000 名用户)。虽然我的团队负责管理 ResNet 空间(身份验证、DHCP 等),但实际的网络设备由另一个部门拥有和运行。大多数宿舍楼都在自己的路由器上,根据政策,VLAN 不能跨路由器。
我们遇到了一些奇怪的 DHCP 问题,很可能与运行 DHCP 服务器的病毒有关。我们的 DHCP 故障转移计划基于我们的 DHCP 服务器不具有权威性,因此当一个带有 DHCP 服务器(病毒)的盒子在网络上弹出时,每个人都开始接受它的提议,而不是来自实际 DHCP 盒子的提议。
由于我们在子网或 VLAN 中没有任何设备,因此故障排除非常复杂,我们识别受感染用户的唯一方法是物理驱动到站点,连接到端口并运行流量捕获(然后将 MAC 与交换机端口关联并关闭该端口)。
因此,我的想法是在问题网络上安装一些流量嗅探器/探测器(在受影响的网络中使用一个接口,在已知良好的子网中使用一个接口,以便与我们进行通信)。
我有两个关于如何做到这一点的理论:
- 使用 vtund 设置设备,并(根据需要)将所有流量从受影响网络中的接口隧道传输回我们的其中一个盒子。
- 在设备上安装 tcpdump 和 SShd,编写一个小脚本,用设备已知的良好 IP 打电话回家,然后 SSH 进入设备并根据需要进行数据包捕获。
有什么替代的理论吗?有没有人必须处理这样的问题(特别是捕获网络上的流量,您可以获得路由但实际上不能跳上)。不幸的是,这需要是一个零预算的解决方案(尽管我有几个 Soekris 板,每个板都有 3 个接口)。
谢谢,杰森
你不能只在网络上安装一台具有静态 IP 的机器吗?你说你控制着 DHCP,所以只为那台机器保留一个特定的 IP。只要没有其他人使用,它就不需要从 DHCP 服务器获取地址。当然,您仍然有可能被伪造的 DHCP 服务器分发该地址。
您还可以记录来自官方 DHCP 服务器以外的系统的所有 DHCP 提供和确认数据包。如果您可以登录交换机(您说您不拥有它们,但您确实说您可以“关闭端口”),您甚至可以自动禁用端口。
感谢大家的投入。我最终在 Soekris 盒子上安装了 Debian。它通过已知的良好子网为 eth0 获取 DHCP,然后使用其 IP 打电话回家。想法是将另外两个接口插入坏子网,然后通过 SSH 连接到上面有 tcpdump、dhclient、nmap 等的盒子。
如果有人在档案中找到这个,我已经设置了一个小项目页面http://lunchbox.jasonantman.com/提供有关我如何构建它的信息,以及文件系统 tarball 和准备在 Soekris net4801(或可能是 net4501)上使用的 1GB CF 卡映像。