2008年11月11日星期二
ARP透视——传统的几种解决ARP问题的方式
过滤局域网的IP,关闭高危险的端口,关闭共享。升级系统补丁,升级杀毒软件。
安装防火墙,设置防ARP的选项。
微软ISA防火墙功能强大,可是很占系统资源。
配置服务器是Linux的强项,当然能阻止部分ARP危害网络。但是从根本上并没有解决掉ARP的问题,长时间超负荷运转对硬件的损害也显而易见。
方案二:
发现乱发 ARP包的主机后,即通过路由器、硬件防火墙等设备在网关上阻止与其它主机通信。迅速找到主机,断开其网络连接。检查机器是因为病毒木马
发送ARP包破坏网络环境,还是人为的使用ARP的网络管理软件。既然是使用的网络管理软件,先得询问使用者是否有管理网络的特权。既然没有特权又为
何管理、控制网络呢?
方案三:
通过高档路由器进行双向绑定,即从路由器方面对从属客户机IP-MAC地址进行绑定,同时从客户机方面对路由器进行IP-MAC地址绑定,双向绑定让IP 不容
易被欺骗。这种方案的实施比较烦琐,在客户机器或路由器更改硬件时,需要对全网进行重新的MAC地址扫描并重新绑定,工作量巨大。所取得的效果,仅
仅可以防御住一些低端的ARP欺骗,对于攻击型ARP软件则无任何作用。
方案四:
使用ARP防护软件,针对ARP欺骗攻击的软件在网络中很多,但具体的效果却一直不理想。多数软件单单针对ARP欺骗攻击的某一方面特性进行制作抵御软件
的原理,并没有从根本上去考虑ARP欺骗攻击的产生与传播方式。所以,这些软件在ARP防范领域影响甚微。
针对上述几种常见的传统防范ARP的方法,都有各自的优点,但是也都曝漏了其局限性,并不都可以完全解决ARP欺骗攻击。网络中多台主机同时高频率的
发送 ARP广播,会很轻易的造成网络瘫痪、路由器死机,使其它主机响应迟缓,甚至造成系统停止响应(假死)。如果是ARP木马,还会进行传播,同时感
染其它网络中的其它主机,产生众多主机同时中毒的现象。
局域网受到ARP欺骗攻击的解决办法
【故障现象】当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和安全网关,让所有上网的流量必须经过病毒主机。其他用户原来直接通过安全网关上网现在转由通过病毒主机上网,切换的时候用户会断一次线。
切换到病毒主机上网后,如果用户已经登陆了传奇服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录传奇服务器,这样病毒主机就可以盗号了。
由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。当ARP欺骗的木马程序停止运行时,用户会恢复从安全网关上网,切换过程中用户会再断一次线。
【快速查找】在WebUIà系统状态à系统信息à系统历史记录中,看到大量如下的信息:
MAC SPOOF 192.168.16.200
MAC Old 00:01:6c:36:d1:7f
MAC New 00:05:5d:60:c7:18
这个消息代表了用户的MAC地址发生了变化,在ARP欺骗木马开始运行的时候,局域网所有主机的MAC地址更新为病毒主机的MAC地址(即所有信息的MAC New地址都一致为病毒主机的MAC地址)。
同时在安全网关的WebUIà高级配置à用户管理à读ARP表中看到所有用户的MAC地址信息都一样,或者在WebUIà系统状态à用户统计中看到所有用户的MAC地址信息都一样。
如果是在WebUIà系统状态à系统信息à系统历史记录中看到大量MAC Old地址都一致,则说明局域网内曾经出现过ARP欺骗(ARP欺骗的木马程序停止运行时,主机在安全网关上恢复其真实的MAC地址)。
在上面我们已经知道了使用ARP欺骗木马的主机的MAC地址,那么我们就可以使用NBTSCAN(下载地址:http://www.utt.com.cn/upload/nbtscan.rar)工具来快速查找它。
NBTSCAN可以取到PC的真实IP地址和MAC地址,如果有”传奇木马”在做怪,可以找到装有木马的PC的IP/和MAC地址。
命令:“nbtscan -r 192.168.16.0/24”(搜索整个192.168.16.0/24网段, 即192.168.16.1-192.168.16.254);或“nbtscan 192.168.16.25-137”搜索192.168.16.25-137 网段,即192.168.16.25-192.168.16.137。输出结果第一列是IP地址,最后一列是MAC地址。
NBTSCAN的使用范例:
假设查找一台MAC地址为“000d870d585f”的病毒主机。
1)将压缩包中的nbtscan.exe 和cygwin1.dll解压缩放到c:\下。
2)在Windows开始à运行à打开,输入cmd(windows98输入“command”),在出现的DOS窗口中输入:C:\nbtscan -r 192.168.16.1/24(这里需要根据用户实际网段输入),回车。
3)通过查询IP--MAC对应表,查出“000d870d585f”的病毒主机的IP地址为“192.168.16.223”。
【解决办法】
采用双向绑定的方法解决并且防止ARP欺骗。
1、在PC上绑定安全网关的IP和MAC地址:
1)首先,获得安全网关的内网的MAC地址(例如HiPER网关地址192.168.16.254的MAC地址为0022aa0022aa
2)编写一个批处理文件rarp.bat内容如下:
@echo off
arp -d
arp -s 192.168.16.254 00-22-aa-00-22-aa
将文件中的网关IP地址和MAC地址更改为实际使用的网关IP地址和MAC地址即可。
将这个批处理软件拖到“windowsà开始à程序à启动”中。
3)如果是网吧,可以利用收费软件服务端程序(pubwin或者万象都可以)发送批处理文件rarp.bat到所有客户机的启动目录。 Windows2000的默认启动目录为“C:\Documents and Settings\All Users「开始」菜单程序启动”。
2、在安全网关上绑定用户主机的IP和MAC地址:
在WebUIà高级配置à用户管理中将局域网每台主机均作绑定。防范ARP攻击策略面面观及技巧一则
1、捆绑MAC和IP地址
杜绝IP 地址盗用现象。如果是通过代理服务器上网:到代理服务器端让网络管理员把上网的静态IP 地址与所记录计算机的网卡地址进行捆绑。 如: ARP-s 192.16.10.400-EO-4C-6C-08-75。这样,就将上网的静态IP 地址192.16.10.4 与网卡地址为 00-EO-4C-6C-08-75 的计算机绑定在一起了,即使别人盗用您的IP 地址,也无法通过代理服务器上网。如果是通过交换机连接,可以将计算 机的IP地址、网卡的MAC 地址以及交换机端口绑定。
2、修改MAC地址,欺骗ARP欺骗技术
就是假冒MAC 地址,所以最稳妥的一个办法就是修改机器的MAC 地址,只要把MAC 地址改为别的,就可以欺骗过ARP 欺骗,从而达到突破封锁的目的。
3、使用ARP服务器
使用ARP 服务器。通过该服务器查找自己的ARP 转换表来响应其他机器的ARP 广播。确保这台ARP 服务器不被攻击。
4、交换机端口设置
(1)端口保护(类似于端口隔离):ARP 欺骗技术需要交换机的两个端口直接通讯,端口设为保护端口即可简单方便地隔离用户之间信息互通,不必占用VLAN 资源。同一个交换机的两个端口之间不能进行直接通讯,需要通过转发才能相互通讯。
(2)数据过滤:如果需要对报文做更进一步的控制用户可以采用ACL(访问控制列表)。ACL 利用IP 地址、TCP/UDP 端口等对进出交换机 的报文进行过滤,根据预设条件,对报文做出允许转发或阻塞的决定。华为和Cisco 的交换机均支持IP ACL 和MAC ACL,每种ACL 分别支 持标准格式和扩展格式。标准格式的ACL 根据源地址和上层协议类型进行过滤,扩展格式的ACL 根据源地址、目的地址以及上层协议类型进行过滤,异词检 查伪装MAC 地址的帧。
5、禁止网络接口做ARP 解析
在相对系统中禁止某个网络接口做ARP 解析(对抗ARP欺骗攻击),可以做静态ARP 协议设置(因为对方不会响应ARP 请求报义) 如: ARP –s XXX.XXX.XX.X 08-00-20-a8-2e-ac在很多操作系统中如:Unix , NT 等,都可以结合“禁止相应 网络接口做ARP 解析”和“使用静态ARP 表”的设置来对抗ARP 欺骗攻击。而Linux 系统,其静态ARP 表项不会被动态刷新,所以不需要“ 禁止相应网络接口做ARP 解析”,即可对抗ARP 欺骗攻击。
6、使用硬件屏蔽主机
设置好你的路由,确保IP 地址能到达合法的路径。( 静态配置路由ARP 条目),注意,使用交换集线器和网桥无法阻止ARP 欺骗。
7、定期检查ARP缓存
管理员定期用响应的IP 包中获得一个rarp 请求, 然后检查ARP 响应的真实性。定期轮询, 检查主机上的ARP 缓存。使用防火墙连续监控网络。注意有使用SNMP 的情况下,ARP 的欺骗有可能导致陷阱包丢失。
技巧一则
址的方法个人认为是不实用的,首先, 这样做会加大网络管理员的工作量,试想,如果校园网内有3000个用户,网络管理员就必须做3000 次端口绑 定MAC 地址的操作,甚至更多。其次, 网络管理员应该比较清楚的是, 由于网络构建成本的原因,接入层交换机的性能是相对较弱的, 功能也相对单一一 些, 对于让接入层交换机做地址绑定的工作,对于交换机性能的影响相当大, 从而影响网络数据的传输。
建议用户采用绑定网关地址的方法解决并且防止ARP 欺骗。
1) 首先, 获得安全网关的内网的MAC 地址。( 以windowsXP 为例)点击"开始"→"运行", 在打开中输入cmd。点击确定后将出 现相关网络状态及连接信息, 然后在其中输入ipconfig/all,然后继续输入arp - a 可以查看网关的MAC 地址。
2) 编写一个批处理文件rarp.bat( 文件名可以任意) 内容如下:
@echo off
arp - d
arp - s 192.168.200.1 00- aa- 00- 62- c6- 09
将文件中的网关IP 地址和MAC 地址更改为实际使用的网关IP 地址和MAC 地址即可。
3) 编写完以后, 点击"文件" →"另存为"。注意文件名一定要是*.bat 如arp.bat 保存类型注意要选择所有类型。点击保存就可以了。最后删除之前创建的"新建文本文档"就可以。
4) 将这个批处理软件拖到"windows- - 开始- - 程序- - 启动"中, ( 一般在系统中的文件夹路径为C:\Documents and Settings\All Users\「开始」菜单\ 程序\ 启动) 。
5) 最后重新启动一下电脑就可以。
静态ARP 表能忽略执行欺骗行为的ARP 应答, 我们采用这样的方式可以杜绝本机受到ARP 欺骗包的影响。对于解决ARP 欺骗的问题还有多种 方法: 比如通过专门的防ARP 的软件, 或是通过交换机做用户的入侵检测。前者也是个针对ARP欺骗的不错的解决方案, 但是软件的设置过程并不比设 置静态ARP 表简单。后者对接入层交换机要求太高, 如果交换机的性能指标不是太高, 会造成比较严重的网络延迟, 接入层交换机的性能达到了要 求, 又会使网络安装的成本提高。
在应对ARP 攻击的时候,除了利用上述的各种技术手段,还应该注意不要把网络安全信任关系建立在IP 基础上或MAC 基础上,最好设置静态的 MAC->IP 对应表,不要让主机刷新你设定好的转换表,除非很有必要,否则停止使用ARP,将ARP 做为永久条目保存在对应表中。