现在,如果 A 和 C 要进行通信,实际上彼此发送的数据包都会先到达 B 主机,这时,如果 B 不做进一步处理, A 和 C 之间的通信就无法正常建立, B 也就达不到“嗅探”通信内容的目的,因此, B 要对“错误”收到的数据包进行一番修改,然后转发到正确的目的地,而修改的内容,无非是将目的 MAC 和源 MAC 地址进行替换。如此一来,在 A 和 C 看来,彼此发送的数据包都是直接到达对方的,但在 B 来看,自己担当的就是“第三者”的角色。这种嗅探方法,也被称作“ Man-In-The-Middle ”的方法。如图 所示。
3.2攻击实例
目前利用 ARP原理编制的工具十分简单易用,这些工具可以直接嗅探和分析FTP、POP3、SMB、SMTP、HTTP/HTTPS、SSH、MSN等超过30种应用的密码和传输内容。 下面是测试时利用工具捕获的 TELNET 过程,捕获内容包含了 TELNET 密码和全部所传的内容 :
不仅仅是以上特定应用的数据,利用中间人攻击者可将监控到数据直接发给 SNIFFER等嗅探器,这样就可以监控所有被欺骗用户的数据。
还有些人利用 ARP原理 开发出网管工具,随时切断指定用户的连接。这些工具流传到捣乱者手里极易使网络变得不稳定,通常这些故障很难排查。
3.3防范方法
思科 Dynamic ARP Inspection (DAI)在交换机上提供IP地址和MAC地址的绑定, 并动态建立绑定关系。DAI 以 DHCP Snooping绑定表为基础,对于没有使用DHCP的服务器个别机器可以采用静态添加ARP access-list实现。DAI配置针对VLAN,对于同一VLAN内的接口可以开启DAI也可以关闭。通过DAI可以控制某个端口的ARP请求报文数量。通过这些技术可以防范“中间人”攻击。
3.3配置示例
IOS 全局命令:
ip dhcp snooping vlan 100,200 no ip dhcp snooping information option ip dhcp snooping ip arp inspection vlan 100,200 /* 定义对哪些 VLAN 进行 ARP 报文检测 ip arp inspection log-buffer entries 1024 ip arp inspection log-buffer logs 1024 interval 10
IOS 接口命令:
ip dhcp snooping trust ip arp inspection trust /* 定义哪些接口是信任接口,通常是网络设备接口, TRUNK 接口等 ip arp inspection limit rate 15 (pps) /* 定义接口每秒 ARP 报文数量
对于没有使用 DHCP 设备可以采用下面办法:
arp access-list static-arp permit ip host 10.66.227.5 mac host 0009.6b88.d387 ip arp inspection filter static-arp vlan 201
3.3配置DAI后的效果:
• 在配置 DAI技术的接口上,用户端不能采用指定地址地址将接入网络。
• 由于 DAI检查 DHCP snooping绑定表中的IP和MAC对应关系,无法实施中间人攻击,攻击工具失效。下表为实施中间人攻击是交换机的警告:
3w0d: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa5/16,vlan 1.([000b.db1d.6ccd/192.168.1.200/0000.0000.0000/192.168.1.2
• 由于对 ARP请求报文做了速度限制,客户端无法进行认为或者病毒进行的IP扫描、探测等行为,如果发生这些行为,交换机马上报警或直接切断扫描机器。如下表所示:
3w0d: %SW_DAI-4-PACKET_RATE_EXCEEDED: 16 packets received in 184 milliseconds on Fa5/30. ******报警 3w0d: %PM-4-ERR_DISABLE: arp-inspection error detected on Fa5/30, putting Fa5/ 30 in err-disable state ******切断端口 I49-4500-1#.....sh int f.5/30 FastEthernet5/30 is down, line protocol is down (err-disabled) Hardware is Fast Ethernet Port , address is 0002.b90e .3f 4d (bia 0002.b90e .3f 4d) MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 I49-4500-1#......
• 用户获取 IP地址后,用户不能修改IP或MAC,如果用户同时修改IP和MAC必须是网络内部合法的IP和MAC才可,对于这种修改可以使用下面讲到的 IP Source Guard技术来防范。下表为手动指定IP的报警:
3w0d: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa5/30, vlan 1.([000d.6078.2d95/192.168.1.100/0000.0000.0000/192.168.1.100/01:52:28 UTC Fri Dec 29 2000 ])
4 IP/MAC欺骗的防范
4.1常见的欺骗攻击的种类和目的
常见的欺骗种类有 MAC欺骗、IP欺骗、IP/MAC欺骗,其目的一般为伪造身份或者获取针对IP/MAC的特权。当目前较多的是攻击行为:如Ping Of Death、syn flood、ICMP unreacheable Storm,另外病毒和木马的攻击也具有典型性,下面是木马攻击的一个例子。
4.2攻击实例
下图攻击为伪造源地址攻击,其目标地址为公网上的 DNS服务器,直接目的是希望通使DNS服务器对伪造源地址的响应和等待,造成DDOS攻击,并以此扩大攻击效果。该攻击每秒钟上万个报文,中档交换机2分钟就瘫痪,照成的间接后果非常大。
4.3IP/MAC欺骗的防范
IP Source Guard 技术配置在交换机上仅支持在 2 层端口上的配置,通过下面机制可以防范 IP/MAC 欺骗:
• IP Source Guard 使用 DHCP sooping 绑定表信息。
• 配置在交换机端口上,并对该端口生效。
• 运作机制类似 DAI,但是 IP Source Guard不仅仅检查ARP报文,所有经过定义IP Source Guard检查的端口的报文都要检测。
• IP Source Guard检查 接口 所通过的流量的IP地址和MAC地址是否在DHCP sooping绑定表,如果不在绑定表中则阻塞这些流量。注意如果需要检查MAC需要DHCP服务器支持Option 82,同时使路由器支持Option 82信息。
通过在交换机上配置 IP Source Guard:
• 可以过滤掉非法的 IP地址,包含用户故意修改的和病毒、攻击等造成的。
• 解决 IP地址冲突问题。
• 提供了动态的建立 IP+MAC+PORT的对应表和绑定关系,对于不使用DHCP的服务器和一些特殊情况机器可以采用利用全局命令静态手工添加对应关系到绑定表中。
• 配置 IP Source Guard的接口初始阻塞所有非DHCP流量。
• 不能防止“中间人攻击”。
对于 IP欺骗在路由器上也可以使用urpf技术。
4.4配置示例:
检测接口上的 IP+MAC
IOS 全局配置命令:
ip dhcp snooping vlan 12,200 ip dhcp snooping information option ip dhcp snooping
接口配置命令:
ip verify source vlan dhcp-snooping port-security switchport mode access switchport port-security switchport port-security limit rate invalid-source-mac N /* 控制端口上所能学习源 MAC 的速率,仅当 IP+MAC 同时检测时有意义。 检测接口上的 IP
IOS 全局配置命令
ip dhcp snooping vlan 12,200 no ip dhcp snooping information option ip dhcp snooping
接口配置命令:
ip verify source vlan dhcp-snooping 不使用 DHCP 的静态配置 IOS 全局配置命令: ip dhcp snooping vlan 12,200 ip dhcp snooping information option ip dhcp snooping ip source binding 0009.6b88.d387 vlan 212 10.66.227.5 interface Gi4/5
5 IP地址管理和病毒防范的新思路
5.1IP地址管理
综上所述通过配置思科交换机的上述特征,不仅解决了一些典型攻击和病毒的防范问题,也为传统 IP地址管理提供了新的思路。
通过上面的几项技术解决了传统的利用DHCP服务器管理客户端IP地址的问题:
• 故意不使用手工指定静态 IP地址和DHCP分配地址冲突
• 配置 DHCP server
• 使用静态指定 IP遇到的问题
• 不使用分配的 IP地址和服务器或其他地址冲突
• 不容易定位 IP地址和具体交换机端口对应表
使用静态地址的重要服务器和计算机,可以进行静态绑定 IP+MAC、IP+MAC+PORT,手工配置DAI和 IP Source Guard绑定表项, 来保护这些设备,同时也防止来自这些设备的攻击。
目前对于网络病毒的不断爆发,越来越多的用户开始重视对 PC的管理,用户关注谁能访问网络、访问以后能做什么、做了哪些事情、这就是我们常说的AAA认证,除了这些用户希望能够很快定位到用户在哪台交换机、哪个端口、以哪个IP和MAC登陆,这样有有了”AAA+A”( Authenticate, Authorize,Account , Address )的概念。
通过上面的配置我们在网络层面已经可以定位用户了,加上 802.1X认证我们可以在网络层面根据用户的身份为用户授权,从而实现”AAA+A”。
更进一步要审计用户所使用电脑具备的条件,如系统补丁、所装杀毒软件及补丁、等条件可以考虑采用思科网络准入控制 NAC。
5.2使用DHCP Snooping 、DAI、IP Source Guard技术能解决的有关病毒问题
由于大多数对局域网危害较大的网络病毒都具有典型的欺骗和扫描,快速发包,大量 ARP 请求等特征,采用上述技术一定程度上可以自动切断病毒源,及时告警,准确定位病毒源.