ARP 防护解决方案总结
一、思科解决方案(接入层为思科三层交换机)
1.1技术介绍
1.1.1 DHCP SNOOPING
采用DHCP管理的常见问题
采用DHCP server可以自动为用户设置网络IP地址、掩码、网关、DNS、WINS等网络参数,简化了用户网络设置,提高了管理效率。但在DHCP管理使用上也存在着一些另网管人员比较问题,常见的有:
1. DHCP server 的冒充。 2. DHCP server的DOS攻击。
3. 有些用户随便指定地址,造成网络地址冲突。
4. 由于DHCP 的运作机制,通常服务器和客户端没有认证机制,如果网络上存在多台DHCP服务器将会给网络照成混乱。
5. 由于不小心配置了DHCP服务器引起的网络混乱也非常常见。
黑客利用类似Goobler的工具可以发出大量带有不同源MAC地址的DHCP请求,直到DHCP服务器对应网段的所有地址被占用,此类攻击既可以造成DOS的破坏,也可和DHCP服务器欺诈结合将流量重指到意图进行流量截取的恶意节点。 DHCP服务器欺诈可能是故意的,也可能是无意启动DHCP服务器功能,恶意用户发放错误的IP地址、DNS服务器信息或默认网关信息,以此来实现流量的截取。
一个“不可靠”的DHCP服务器通常被用来与攻击者协作,对网络实施“中间人”MITM(Man-In-The-Middle)攻击。中间人攻击是一种攻击者利用正常的协议处理行为来更改两个终端之间的正常通信数据流而形成的一种攻击技术。首先一个黑客会广播许多含有欺骗性MAC地址的DHCP请求(动态主机配置请求),从而耗尽合法DHCP服务器上的地址空间,一旦其空间地址被耗尽,这个“不可靠”的DHCP服务器就开始向“用户”的DHCP请求进行应答了,这些应答信息中将包括DNS服务器和一个默认网关的信息,这些信息就被用来实施一个MITM中间人攻击。黑客也可以利用冒充的DHCP服务器,为用户分配一个经过修改的DNS Server,在用户毫无察觉的情况下被引导在预先配置好的假金融网站或电子商务网站,骗取用户帐户和密码,这种攻击是非常恶劣的。 DHCP Snooping技术概述
DHCP Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,这些信息是指来自不信任区域的DHCP信息。 通过截取一个虚拟局域网内的DHCP信息,交换机可以在用户和DHCP服务器之间担任就像小型安全防火墙这样的角色,“DHCP监听”功能基于动态地址分配建立了
一个DHCP绑定表,并将该表存贮在交换机里。在没有DHCP的环境中,如数据中心,绑定条目可能被静态定义,每个DHCP绑定条目包含客户端地址(一个静态地址或者一个从DHCP服务器上获取的地址)、客户端MAC地址、端口、VLAN ID、租借时间、绑定类型(静态的或者动态的)。如下表所示: switch#sh ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------- ---- --------------------
00:0D:60:2D:45:0D 10.149.3.13 600735 dhcp-snooping 100 GigabitEthernet1/0/7
这张表不仅解决了DHCP用户的IP和端口跟踪定位问题,为用户管理提供方便,而且还供给动态ARP检测(DAI)和IP Source Guard使用。 基本防范
为了防止这种类型的攻击,Catalyst DHCP侦听(DHCP Snooping)功能可有效阻止此类攻击,当打开此功能,所有用户端口除非特别设置,被认为不可信任端口,不应该作出任何DHCP响应,因此欺诈DHCP响应包被交换机阻断,合法的DHCP服务器端口或上连端口应被设置为信任端口。
Catalyst DHCP侦听(DHCP Snooping)对于下边介绍的其他阻止ARP欺骗和IP/MAC地址的欺骗是必需的。
首先定义交换机上的信任端口和不信任端口,对于不信任端口的DHCP报文进行截获和嗅探,DROP掉来自这些端口的非正常DHCP响应应报文,如下图所示:
在每个交换机上,基本配置示例如下表: IOS全局命令:
ip dhcp snooping vlan 100,200 /*定义哪些VLAN启用DHCP嗅探 ip dhcp snooping 接口命令:
ip dhcp snooping trust
no ip dhcp snooping trust (Default)
ip dhcp snooping limit rate 10 (pps) /*一定程度上防止DHCP拒绝服务攻击*/
手工添加DHCP绑定表:
ip dhcp snooping binding 000b.db1d.6ccd vlan 10 1.1.1.1 interface gi1/1 expiry 1000
导出DHCP绑定表到TFTP服务器:
ip dhcp snooping database tftp://10.1.1.1/directory/file
需要注意的是DHCP绑定表要存在本地存贮器(Bootfalsh、slot0、ftp、tftp)或导出到指定TFTP服务器上,否则交换机重启后DHCP绑定表丢失,对于已经申请到IP地址的设备在租用期内,不会再次发起DHCP请求,如果此时交换机己经配置了下面所讲到的DAI和IP Source Guard技术,这些用户将不能访问网络。
高级防范
对于类似Gobbler的DHCP 服务的DOS攻击可以利用前面的Port Security限制源MAC地址数目加以阻止,对于有些用户随便指定地址,造成网络地址冲突也可以利用后面提到的DAI和IP Source Guard技术。
有些复杂的DHCP攻击工具可以产生单一源MAC地址、变化DHCP Payload信息的DHCP请求,当打开DHCP侦听功能,交换机对非信任端口的DHCP请求进行源MAC地址和DHCP Payload信息的比较,如不匹配就阻断此请求。
1.1.2 Dynamic ARP Inspection
ARP欺骗攻击原理
ARP是用来实现MAC地址和IP地址的绑定,这样两个工作站才可以通讯,通讯发起方的工作站以MAC广播方式发送ARP请求,拥有此IP地址的工作站给予ARP应答,送回自己的IP和MAC地址。ARP协议同时支持一种无请求ARP功能,局域网段上的所有工作站收到主动ARP广播,会将发送者的MAC地址和其宣布的IP地址保存,覆盖以前cache的同一IP地址和对应的MAC地址,主动式ARP合法的用途是用来以备份的工作站替换失败的工作站。由于ARP无任何身份真实校验机制,黑客程序发送误导的主动式ARP使网络流量重指经过恶意攻击者的计算机,变成某个局域网段IP会话的中间人,达到窃取甚至篡改正常传输的功效。黑客程序发送的主动式ARP采用发送方私有MAC地址而非广播地址,通讯接收方根本不会知道自己的IP地址被取代。为了保持ARP欺骗的持续有效,黑客程序每隔30秒重发此私有主动式ARP。黑客工具如ettercap、dsniff和arpspoof都能实现ARP哄骗功能。像ettercap可提供一个用户界面,在对本地网段所有工作站的扫描后,ettercap显示所有工作站源地址和目的地址,选择ARP哄骗命令后,除数据包的截取外,内置的智能sniffer功能还可以针对不同IP会话获取password信息。 防范方法
这些攻击都可以通过动态ARP检查(DAI,Dynamic ARP Inspection)来防止,它可以帮助保证接入交换机只传递“合法的”的ARP请求和应答信息。DHCP Snooping监听绑定表包括IP地址与MAC地址的绑定信息并将其与特定的交换机端口相关联,动态ARP检测(DAI-Dynamic ARP Inspection)可以用来检查所有非信任端口的ARP请求和应答(主动式ARP和非主动式ARP),确保应答来自真正的ARP所有者。Catalyst交换机通过检查端口纪录的DHCP绑定信息和ARP应答的IP地址决定是否真正的ARP所有者,不合法的ARP包将被删除。
DAI配置针对VLAN,对于同一VLAN内的接口可以开启DAI也可以关闭,如果ARP包从一个可信任的接口接受到,就不需要做任何检查,如果ARP包在一个不可信任的接口上接受到,该包就只能在绑定信息被证明合法的情况下才会被转发出去。这样,DHCP Snooping对于DAI来说也成为必不可少的,DAI是动态使用的,相连的客户端主机不需要进行任何设置上的改变。对于没有使用DHCP的服务器个别机器可以采用静态添加DHCP绑定表或ARP access-list实现。
另外,通过DAI可以控制某个端口的ARP请求报文频率。一旦ARP请求频率的频率超过预先设定的阈值,立即关闭该端口。该功能可以阻止网络扫描工具的使用,同时对有大量ARP报文特征的病毒或攻击也可以起到阻断作用。 同样的,在交换机上,配置示例如下 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 配置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 ******切断端口 switch#.....sh int f.5/30
FastEthernet5/30 is down, line protocol is down (err-disabled)
Hardware is Fast Ethernet Port, address is 0002.b90e.3f4d (bia 0002.b90e.3f4d)
MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255
1.2技术实施
1. 确认在
dhcp区域每个用户都为dhcp之后,可以开始部署dhcp snooping
,选择需要保护的并且是arp病毒高发的vlan,在cisco交换机上的config 模式下输入:
ip dhcp snooping vlan 100,200 /*定义哪些VLAN启用DHCP嗅探
ip dhcp snooping information option 允许交换机在dhcp报文中插入生成dh
cp binding数据库的记录(vlan、mac、port、ip) ip dhcp snooping
在接dhcp server的接口上配置(如果是交换机做server则不需要此命令):
相关推荐: