基于Layer2交换网络的ARP攻击防御

故障现象 

客户企业反映“常有部分人不能上网”,且毫无规律。经了解整栋大楼物理拓扑结构为“接入-汇聚-网关”,整个交换网络工作在二层(Layer2)模式 ,客户端基本采用固定IP,接入层交换机华为二层1700/1720系列,核心汇聚为华为5700 千兆三层(Layer3)交换。

排查步骤

STEP1:搜集

登陆网关(H3C-F1000-c防火墙)查看安全日志,幸运的是很快就发现类似“duplicate ip 192.168.1.1.../ARP”相关日志 ... 至此,故障范围基本锁定。

同时我们也看到了,其实很多企业在网络建立之初就缺乏最基本的规划,而且不见得全是低成本成本所导致,这样的问题本可以避免的 ... 好吧! 至少请不要用192.168.1.1/24这样的默认地址做企业网关的IP。

STEP2:分析

尽管找到了故障的元凶,但我并不打算查找&拔掉那个办公室雇员私自添加的无线路由器(WiFi),有一句话叫“存在即是合理”,因为这不是用户的错误,是我们技术管理策略上的失误。

对!就是这样! —— 我们应该找到这个网络脆弱的根源,事情虽小,但这种低级错误是绝对不能容忍的。一个茁壮网络架构不应给用户留有挑衅的机会,不管有意还是无意的动机。无论如何,防御应该在网络和用户的边缘就开始,而且是越严格越好。

STEP2:方案

基本思路:心想在交换机上启用ARP攻击防护、DHCP防护、三要素绑定(IP/MAC/端口)应该可以解决的吧?!

环境模拟如下:

如图2个网关都是“192.168.1.1”并且都宣称自己是DHCP-SERVER,如此一来我们需要一套有效的机制来明确告诉所有交换机“到底谁是亲爹”这样的事实。

当然,你如果去百度关于ARP相关方案的话,你会看到很多类似在交换机上配置“ARP annt-attack ... ”等等这样答案。但是啊!但是!请注意!!—— 那些防护都是在Layer3上现实的!!!我们面对现实是我们只有一个Layer2!!YES !! YES !! YES !! Just F*U*C+KING  Layer 2 !!  我们知道Layer2交换网络是根据MAC来转发的,与IP没有任何毛线关系!!换句话说也就是说 —— 即便是你把那些命令都在交换机上敲个遍,其结果仍然是“然!并!卵!”,不服气你在交换机 敲个"dis arp、 show arp"看看——木有表项!对!就是没有(除了你手动绑定的,你该不会跟我一样真的去绑定了1个吧^_^?)! 倒是通过“display mac-address、show mac”可以看到一些有用的信息。

STEP2:实施

好吧!现实很苛刻,我们总可以做点别的吧?!答案是肯定的!至少DHCP防护我们目前是可以做的(尽管对于静态IP用户意义不大,但是必须的)!

   DHCP-SERVER防护原理:仅让连接真正网关的接口放行DHCP-Offer报文其他接口拒绝进入。

核心交换配置如下: 其他交换机同理

[SW2] dhcp enable 
 #全局允许DHCP
[SW2] dhcp snooping  enable  ipv4 
 #全局允许DHCP-SNOOPING
[SW2] port-group 10 
 #创建端口组 方便对端口批量操作
[SW2-port-group-10] group-member Ethernet 0/0/1 to e0/0/22
 #端口批量加入到组 上行端口除外
[SW2-port-group-10] dhcp snooping enable 
 #下行端口全部启用DHCP-SNOOPING(拒绝Offer报文)
[SW2] interface GigabitEthernet 0/0/1 
 #配置上行端口
[SW2-GigabitEthernet0/0/1] dhcp snooping  enable 
 #上行端口启用DHCP-SNOOPING
[SW2-GigabitEthernet0/0/1] dhcp snooping  trusted 
#上行端口为信任端口(Offer报文正常下发)

接着我们来验证以上面配置工作的效果

伪网关地址池为192.168.1.2~99,网关地址池为192.168.1.100~200.

    上图是连续执行8次“ ipconfig/renew"以重新获取地址的结果,始终不再获取伪网关分配的地址。

    如果说还不够明显,接着往下看在核心交换上通往两个网关的抓包结果

上下图分别为“核心——伪网关”,“核心——网关”抓包截图

上面实验充分论证了交换机的“DHCP-SNOOPING”特性

至此,我们仍然没有告诉交换机那2个‘192.168.1.1’与“到底谁是亲爹”这个关键问题!

这回我们转化一下思路:既然交换机没法自己识别,那么我们不如把所有人的嘴巴都堵上(网关除外)而且不允许他们私下沟通只允许和网关沟通,让真正的网关告诉交换机"我!是你亲爹!"

好!历遍交换机文档中的特性发现确实可以这样那就是端口隔离这个伟大的特性

    端口隔离基本原 :同一隔离组(下行口)之间不准交头接耳,不同隔离组(上下行口)之间可以互通,这样就迫使ARP广播直接被发送给工作在Layer3之上的网关,并由网关直接答复,这就意味着除了上行接口任何接口通告的ARP答复都会被视而不见,事实上根本不会再有任何ARP请求被发送到网关之外的地方。

核心交换配置如下: 其他交换机同理

[SW2-GigabitEthernet0/0/1] port-isolate enable group 5
 #创建隔离组5并加入上行端口
[SW2] port-group 10  
 #进入端口组10以便对下行端口批量操作
[SW2-port-group-10] port-isolate  enable  group  10 
 #下行端口全部加入隔离组10。
 #“隔离组10”与端口组的10没任何关系自己随便取小于64的值,
 # 重点是在同一交换机上与上行隔离组5号码不能相同,否则数据没法上行。

  以上为客户端多次执行ARP刷新结果,同样不再获取到伪网关MAC的ARP项,始终显示正确网关的ARP项。

至此,所有来自下行接口的ARP请求都会被送往网关,至于在网关设备上要做何等ARP防护,那不就是任由我们处理吗?通常我会选择动态或者静态绑定。

应用延伸

这个案例很典型,普遍适用于酒店、企业、公共WiFi等多种场合。如企业内有服务器只需要把服务器另外放入一个隔离组即可。事实上随着网络终端应用越来越丰富,每一个企业在构建网络之初,应该尽可能把接入层设备的性能提高到一定层次,以适应未来几年终端扩充的需求。另外从综合成本上来也是明智之选。

时间: 2024-08-11 07:40:21

基于Layer2交换网络的ARP攻击防御的相关文章

H3C设备配置ARP攻击防御

ARP主动确认配置命令 ARP的主动确认功能主要应用于网关设备,防止攻击者仿冒用户欺骗网关设备.通过strict参数开启或关闭主动确认的严格模式.开启严格模式后,ARP主动确认功能执行更严格的检查,新建ARP表项前,需要本设备先对其IP地址发起ARP解析,解析成功后才能触发正常的主动确认流程,在主动确认流程成功后,才允许设备学习该表项. 命令 <H3C>system-view [H3C]arp active-ack enable ARP防止IP报文攻击配置命令 建议在网关设备上开启本功能.AR

ARP攻击原理简析及防御措施

0x1  简介 网络欺骗攻击作为一种非常专业化的攻击手段,给网络安全管理者,带来严峻的考验.网络安全的战场已经从互联网蔓延到用户内部的网络, 特别是局域网.目前利用ARP欺骗的木马病毒在局域网中广泛传播,导致网络随机掉线甚至整体瘫痪,通讯被窃听,信息被篡改等严重后果. 0x2  ARP协议概述 ARP协议(address resolution protocol)地址解析协议 一台主机和另一台主机通信,要知道目标的IP地址,但是在局域网中传输数据的网卡却不能直接识别IP地址,所以用ARP解析协议将

图解ARP协议(二)ARP攻击原理与实践

一.ARP攻击概述 在上篇文章里,我给大家普及了ARP协议的基本原理,包括ARP请求应答.数据包结构以及协议分层标准,今天我们继续讨论大家最感兴趣的话题:ARP攻击原理是什么?通过ARP攻击可以做什么,账号是否可以被窃取?有哪些常见的ARP渗透(攻击)工具可以用来练手?ARP扫描和攻击有什么区别,底层数据包特征是怎样的? 接下来,我们通过图解的方式来深入了解ARP攻击是如何实现的. 二.ARP攻击原理 但凡局域网存在ARP攻击,都说明网络存在"中间人",我们可以用下图来解释. 在这个局

Arp攻击实战

现在网上很多关于ARP攻击的文章,但多数是描述其原理,少数会以某个工具作为例子展开说明,但感觉说的还是不够详细,今天写个文章以实战介绍一个叫“WinArpAttacker”的工具. WinArpAttacker是一个很出名的ARP攻击工具,功能也很强大,没有用过的朋友可以在上网搜一下,下载这里就不提供了.这里先简单介绍一下这工具的基本用法(如果对于ARP攻击原理不熟悉的朋友可以先看看<Arp小记>:>): 1. 首先是下载软件,然后安装(废话...),注意一下:WinArpAttacke

DDoS攻击防御方案

DDoS攻击防御方案 近期DDoS攻击事件较多(2014年DDoS攻击事件分析),大家都在思考一个问题,在面临DDoS攻击的时候,如何防御ddos攻击?绿盟科技安全+技术刊物特别邀请到绿盟科技在运营商方面的DDoS专家,给大家讲讲DDoS攻击防御方案. DDoS攻击威胁现状 对于DDoS攻击,有多种分类方式,例如流量型DDoS攻击(如SYN Flood.UDP Flood.ICMP Flood.ACK Flood等).应用层的DDoS攻击(如Http Get Flood.连接耗尽.CC等).慢速

SylixOS ARP攻击解决办法

1.ARP攻击介绍 1.1 ARP协议 ARP(地址解析协议)位于数据链路层,主要负责将某个IP地址解析成对应的MAC地址. 1.2 ARP原理 当局域网中的某台机器A要向机器B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输.如果未找到,则A广播一个ARP请求报文(携带机器A的IP地址,物理地址),请求B的IP地址回答对应的MAC地址.局域网所有机器包括B都收到ARP请求,但只有机器B识别自己的IP地址,于是向A主机发回一个ARP响应报文.其中就包含有B

ARP攻击及原理

Arp介绍 1.1 Ip地址解析mac地址的过程 主机10.1.1.1想发送数据给主机10.1.1.2,检查缓存,发现没有10.1.1.2的mac地址 1.先检查自己的缓存看有没有,没有的话发送广播,所有主机都可以接收到 2..2收到后将mac地址私聊给10.1.1.1,恢复单播给10.1.1.1 .1收到后并将mac地址存入缓存 1.1.1 命令行测试 Arp -a 显示所有缓存 Arp -d清除所有缓存 Arp相应过程 1.1.2 Linux下arp查看方法 查看 [[email prote

XSS跨站脚本攻击防御和Cookie,及SSO单点登录原理

XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的.如,盗取用户Cookie.破坏页面结构.重定向到其它网站等. XSS攻击 XSS攻击类似于SQL注入攻击,攻击之前,我们先找到一个存在XSS漏洞的网站,XSS漏洞分为两种,一种是DOM Based X

DDOS攻击(流量攻击)防御步骤

DDOS全名是Distributed Denial of service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台服务器就组成了DDOS攻击,DDOS 最早可追溯到1996年最初,在中国2002年开始频繁出现,2003年已经初具规模. DDoS攻击简介: DDoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使服务器无法处理合法用户的指令. 单一的DoS攻击一般是采用一对一方式的,当被攻击目标CPU速度低.内存小或者网络带宽小等等各项性能指标不