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