ARP 防护解决方案总结v10.docx
- 文档编号:10540259
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:79
- 大小:608.24KB
ARP 防护解决方案总结v10.docx
《ARP 防护解决方案总结v10.docx》由会员分享,可在线阅读,更多相关《ARP 防护解决方案总结v10.docx(79页珍藏版)》请在冰豆网上搜索。
ARP防护解决方案总结v10
ARP防护解决方案总结
一、思科解决方案(接入层为思科三层交换机)
1.1技术介绍
1.1.1DHCPSNOOPING
采用DHCP管理的常见问题
采用DHCPserver可以自动为用户设置网络IP地址、掩码、网关、DNS、WINS等网络参数,简化了用户网络设置,提高了管理效率。
但在DHCP管理使用上也存在着一些另网管人员比较问题,常见的有:
1.DHCPserver的冒充。
2.DHCPserver的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服务器,为用户分配一个经过修改的DNSServer,在用户毫无察觉的情况下被引导在预先配置好的假金融网站或电子商务网站,骗取用户帐户和密码,这种攻击是非常恶劣的。
DHCPSnooping技术概述
DHCPSnooping技术是DHCP安全特性,通过建立和维护DHCPSnooping绑定表过滤不可信任的DHCP信息,这些信息是指来自不信任区域的DHCP信息。
通过截取一个虚拟局域网内的DHCP信息,交换机可以在用户和DHCP服务器之间担任就像小型安全防火墙这样的角色,“DHCP监听”功能基于动态地址分配建立了一个DHCP绑定表,并将该表存贮在交换机里。
在没有DHCP的环境中,如数据中心,绑定条目可能被静态定义,每个DHCP绑定条目包含客户端地址(一个静态地址或者一个从DHCP服务器上获取的地址)、客户端MAC地址、端口、VLANID、租借时间、绑定类型(静态的或者动态的)。
如下表所示:
switch#shipdhcpsnoopingbinding
MacAddressIpAddressLease(sec)TypeVLANInterface
--------------------------------------------------------------------------
00:
0D:
60:
2D:
45:
0D10.149.3.13600735dhcp-snooping100GigabitEthernet1/0/7
这张表不仅解决了DHCP用户的IP和端口跟踪定位问题,为用户管理提供方便,而且还供给动态ARP检测(DAI)和IPSourceGuard使用。
基本防范
为了防止这种类型的攻击,CatalystDHCP侦听(DHCPSnooping)功能可有效阻止此类攻击,当打开此功能,所有用户端口除非特别设置,被认为不可信任端口,不应该作出任何DHCP响应,因此欺诈DHCP响应包被交换机阻断,合法的DHCP服务器端口或上连端口应被设置为信任端口。
CatalystDHCP侦听(DHCPSnooping)对于下边介绍的其他阻止ARP欺骗和IP/MAC地址的欺骗是必需的。
首先定义交换机上的信任端口和不信任端口,对于不信任端口的DHCP报文进行截获和嗅探,DROP掉来自这些端口的非正常DHCP响应应报文,如下图所示:
在每个交换机上,基本配置示例如下表:
IOS全局命令:
ipdhcpsnoopingvlan100,200/*定义哪些VLAN启用DHCP嗅探
ipdhcpsnooping
接口命令:
ipdhcpsnoopingtrust
noipdhcpsnoopingtrust(Default)
ipdhcpsnoopinglimitrate10(pps)/*一定程度上防止DHCP拒绝服务攻击*/
手工添加DHCP绑定表:
ipdhcpsnoopingbinding000b.db1d.6ccdvlan101.1.1.1interfacegi1/1expiry1000
导出DHCP绑定表到TFTP服务器:
ipdhcpsnoopingdatabasetftp:
//10.1.1.1/directory/file
需要注意的是DHCP绑定表要存在本地存贮器(Bootfalsh、slot0、ftp、tftp)或导出到指定TFTP服务器上,否则交换机重启后DHCP绑定表丢失,对于已经申请到IP地址的设备在租用期内,不会再次发起DHCP请求,如果此时交换机己经配置了下面所讲到的DAI和IPSourceGuard技术,这些用户将不能访问网络。
高级防范
对于类似Gobbler的DHCP服务的DOS攻击可以利用前面的PortSecurity限制源MAC地址数目加以阻止,对于有些用户随便指定地址,造成网络地址冲突也可以利用后面提到的DAI和IPSourceGuard技术。
有些复杂的DHCP攻击工具可以产生单一源MAC地址、变化DHCPPayload信息的DHCP请求,当打开DHCP侦听功能,交换机对非信任端口的DHCP请求进行源MAC地址和DHCPPayload信息的比较,如不匹配就阻断此请求。
1.1.2DynamicARPInspection
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,DynamicARPInspection)来防止,它可以帮助保证接入交换机只传递“合法的”的ARP请求和应答信息。
DHCPSnooping监听绑定表包括IP地址与MAC地址的绑定信息并将其与特定的交换机端口相关联,动态ARP检测(DAI-DynamicARPInspection)可以用来检查所有非信任端口的ARP请求和应答(主动式ARP和非主动式ARP),确保应答来自真正的ARP所有者。
Catalyst交换机通过检查端口纪录的DHCP绑定信息和ARP应答的IP地址决定是否真正的ARP所有者,不合法的ARP包将被删除。
DAI配置针对VLAN,对于同一VLAN内的接口可以开启DAI也可以关闭,如果ARP包从一个可信任的接口接受到,就不需要做任何检查,如果ARP包在一个不可信任的接口上接受到,该包就只能在绑定信息被证明合法的情况下才会被转发出去。
这样,DHCPSnooping对于DAI来说也成为必不可少的,DAI是动态使用的,相连的客户端主机不需要进行任何设置上的改变。
对于没有使用DHCP的服务器个别机器可以采用静态添加DHCP绑定表或ARPaccess-list实现。
另外,通过DAI可以控制某个端口的ARP请求报文频率。
一旦ARP请求频率的频率超过预先设定的阈值,立即关闭该端口。
该功能可以阻止网络扫描工具的使用,同时对有大量ARP报文特征的病毒或攻击也可以起到阻断作用。
同样的,在交换机上,配置示例如下
IOS全局命令:
ipdhcpsnoopingvlan100,200
noipdhcpsnoopinginformationoption
ipdhcpsnooping
iparpinspectionvlan100,200/*定义对哪些VLAN进行ARP报文检测*/
iparpinspectionlog-bufferentries1024
iparpinspectionlog-bufferlogs1024interval10
IOS接口命令:
ipdhcpsnoopingtrust
iparpinspectiontrust/*定义哪些接口是信任接口,通常是网络设备接口,TRUNK接口等*/
iparpinspectionlimitrate15(pps)/*定义接口每秒ARP报文数量*/
对于没有使用DHCP设备可以采用下面办法:
arpaccess-liststatic-arp
permitiphost10.66.227.5machost0009.6b88.d387
iparpinspectionfilterstatic-arpvlan201
配置DAI后的效果
在配置DAI技术的接口上,用户端不能采用指定地址将接入网络。
由于DAI检查DHCPsnooping绑定表中的IP和MAC对应关系,无法实施中间人攻击,攻击工具失效。
下表为实施中间人攻击是交换机的警告:
3w0d:
%SW_DAI-4-DHCP_SNOOPING_DENY:
1InvalidARPs(Req)onFa5/16,vlan1.([000b.db1d.6ccd/192.168.1.200/0000.0000.0000/192.168.1.2
由于对ARP请求报文做了速度限制,客户端无法进行认为或者病毒进行的IP扫描、探测等行为,如果发生这些行为,交换机马上报警或直接切断扫描机器。
如下表所示:
3w0d:
%SW_DAI-4-PACKET_RATE_EXCEEDED:
16packetsreceivedin184millisecondsonFa5/30.******报警
3w0d:
%PM-4-ERR_DISABLE:
arp-inspectionerrordetectedonFa5/30,puttingFa5/30inerr-disablestate******切断端口
switch#.....shintf.5/30
FastEthernet5/30isdown,lineprotocolisdown(err-disabled)
HardwareisFastEthernetPort,addressis0002.b90e.3f4d(bia0002.b90e.3f4d)
MTU1500bytes,BW100000Kbit,DLY100usec,
reliability255/255,txload1/255,rxload1/255
1.2技术实施
1.确认在dhcp区域每个用户都为dhcp之后,可以开始部署dhcpsnooping,选择需要保护的并且是arp病毒高发的vlan,在cisco交换机上的config模式下输入:
ipdhcpsnoopingvlan100,200/*定义哪些VLAN启用DHCP嗅探
ipdhcpsnoopinginformationoption允许交换机在dhcp报文中插入生成dhcpbinding数据库的记录(vlan、mac、port、ip)
ipdhcpsnooping
在接dhcpserver的接口上配置(如果是交换机做server则不需要此命令):
ipdhcpsnoopingtrust
在不信任的端口,也就是需要监控的下连口上配置:
noipdhcpsnoopingtrust(Default)
ipdhcpsnoopinglimitrate10(pps)/*一定程度上防止DHCP拒绝服务攻击*/(可选)
那么dhcpsnooping的配置就算完成了,通过
showipdhcpsnoopingbinding
来查看dhcp的参数,可以查看到客户端MAC地址、端口、VLANID、租借时间、绑定类型(静态的或者动态的)。
例如:
switch#shipdhcpsnoopingbinding
MacAddressIpAddressLease(sec)TypeVLANInterface
--------------------------------------------------------------------------
00:
0D:
60:
2D:
45:
0D10.149.3.13600735dhcp-snooping100GigabitEthernet1/0/7
2.配置完dhcpsnooping并且检查用户表正常之后,需要确认每个vlan的地址分配方式情况,也就是dhcp方式或者是手工设置方式。
Arpinspection需要调用dhcpsnooping的binding表,因此如果在实施arpinspection的vlan中假如有手工设置地址的用户,在没有做登记之前,无法使用网络。
Arpinspection配置如下:
在config的全局模式下:
iparpinspectionvlan100,200/*定义对哪些VLAN进行ARP报文检测*/
iparpinspectionlog-bufferentries1024
iparpinspectionlog-bufferlogs1024interval10/*定义log的参数信息*/
errdisablerecoverycausearp-inspection/*定义当发现不合规则行为时不要自动关闭接口*/
在接口上配置:
iparpinspectiontrust/*定义哪些接口是信任接口,通常是网络设备接口,TRUNK接口等*/(默认是untrust)
iparpinspectionlimitrate15(pps)/*定义接口每秒ARP报文数量*/
对于没有使用DHCP设备可以采用下面办法:
arpaccess-liststatic-arp
permitiphost10.66.227.5machost0009.6b88.d387
iparpinspectionfilterstatic-arpvlan201
查看效果,通过showlog可以看到类似以下信息:
3w0d:
%SW_DAI-4-DHCP_SNOOPING_DENY:
1InvalidARPs(Req)onFa5/16,vlan1.([000b.db1d.6ccd/192.168.1.200/0000.0000.0000/192.168.1.2
3.配置结束,进入试运行期。
在试运行期,主要需要查看汇聚交换机的dhcpsnooping表,以及log信息、cpu利用率;调查用户情况,是否有大范围无法获取地址现象或者是无法使用网络现象、登记特定手工设置地址的用户。
4.正式投入运行。
二、思科解决方案(汇聚层为思科三层交换机、接入层为思科二层交换机或其它厂商支持pvlan的二层交换机)
2.1技术介绍
2.1.1DHCPSNOOPING
同上,不再复述。
2.1.2DynamicARPInspection
同上,不再复述。
2.1.3PVLAN
VLAN的局限性
随着网络的迅速发展,用户对于网络数据通信的安全性提出了更高的要求,诸如防范黑客攻击、控制病毒传播等,都要求保证网络用户通信的相对安全性;传统的解决方法是给每个客户分配一个VLAN和相关的IP子网,通过使用VLAN,每个客户被从第2层隔离开,可以防止任何恶意的行为和Ethernet的信息探听。
然而,这种分配每个客户单一VLAN和IP子网的模型造成了巨大的可扩展方面的局限。
这些局限主要有下述几方面。
(1)VLAN的限制:
交换机固有的VLAN数目的限制;
(2)复杂的STP:
对于每个VLAN,每个相关的Spanning Tree的拓扑都需要管理;
(3)IP地址的紧缺:
IP子网的划分势必造成一些IP地址的浪费;
(4)路由的限制:
每个子网都需要相应的默认网关的配置。
PVLAN技术
现在有了一种新的VLAN机制,所有服务器在同一个子网中,但服务器只能与自己的默认网关通信。
这一新的VLAN特性就是专用VLAN(Private VLAN)。
在Private VLAN的概念中,交换机端口有三种类型:
Isolated port,Community port, Promisc-uous port;它们分别对应不同的VLAN类型:
Isolated port属于Isolated PVLAN,Community port属于Community PVLAN,而代表一个Private VLAN整体的是Primary VLAN,前面两类VLAN需要和它绑定在一起,同时它还包括Promiscuous port。
在Isolated PVLAN中,Isolated port只能和Promiscuous port通信,彼此不能交换流量;在Community PVLAN中,Community port不仅可以和Promiscuous port通信,而且彼此也可以交换流量。
Promiscuous port与路由器或第3层交换机接口相连,它收到的流量可以发往Isolated port和Community port。
PVLAN的应用对于保证接入网络的数据通信的安全性是非常有效的,用户只需与自己的默认网关连接,一个PVLAN不需要多个VLAN和IP子网就提供了具备第2层数据通信安全性的连接,所有的用户都接入PVLAN,从而实现了所有用户与默认网关的连接,而与PVLAN内的其他用户没有任何访问。
PVLAN功能可以保证同一个VLAN中的各个端口相互之间不能通信,但可以穿过Trunk端口。
这样即使同一VLAN中的用户,相互之间也不会受到广播的影响。
在cisco低端交换机中的实现方法:
1.通过端口保护(Switchitchportprotected)来实现的。
2.通过PVLAN(privatevlan私有vlan)来实现.
主要操作如下:
相对来说2960交换机配置相对简单,进入网络接口配置模式:
Switch(config)#intrangef0/1-24#同时操作f0/1到f0/24口可根据自己的需求来选择端口
Switch(config-if-range)#Switchitchportprotected#开启端口保护
3560、4500系列交换机可以通过PVLAN方式实现。
主要操作如下:
首先建立secondVlan2个
Switch(config)#vlan101
Switch(config-vlan)#private-vlancommunity
###建立vlan101并指定此vlan为公共vlan
Switch(config)vlan102
Switch(config-vlan)private-vlanisolated
###建立vlan102并指定此vlan为隔离vlan
Switch(config)vlan200
Switch(config-vlan)private-vlanprimary
Switch(config-vlan)private-vlanassociation101
Switch(config-vlan)private-vlanassociationadd102
###建立vlan200并指定此vlan为主vlan,同时制定vlan101以及102为vlan200的secondvlan
Switch(config)#intvlan200
Switch(config-if)#private-vlanmapping101,102
###进入vlan200配置ip地址后,使secondvlan101与102之间路由,使其可以通信
Switch(config)#intf3/1
Switch(config-if)#Switchitchportprivate-vlanhost-association200102
Switch(config-if)#Switchitchportprivate-vlanmapping200102
Switch(config-if)#Switchitchportmodeprivate-vlanhost
###进入接口模式,配置接口为PVLAN的host模式,配置Pvlan的主vlan以及secondvlan,一定用102,102是隔离vlan
至此,配置结束,经过实验检测,各个端口之间不能通信,但都可以与自己的网关通信。
2.2技术实施
1.首先实施的是pvlan技术,在二层接入交换机上,把所有的用户接口全部设置成隔离口(或者称保护口);
2.在三层的汇聚交换机上,首先在vlandatabase里定义主vlan并且指定其secondvlan,然后定义隔离vlan;
3.划分物理口,上联用的物理口设置为promiscuous模式,接下联交换机的口设置为host模式;
4.在主vlan的接口中需要映射其secondvlan,使其能够通信。
需要注意的一点是,在主vlan的接口下还需要配置iplocal-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARP 防护解决方案总结v10 防护 解决方案 总结 v10