HCNP Routing&Switching之ARP安全
前文我们了解了IP安全相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16652367.html;今天我们来聊一聊ARP安全相关话题;
什么是ARP?
ARP是Address Resolution Protocol的首字母缩写,翻译成中文就是地址解析协议;它主要是将ip地址解析成对应设备的mac地址;我们知道以太网设备之间通信都是需要二层mac地址的封装;那么我们平常配置的ip地址给设备,它是怎么和对端通信的呢?首先本端要发送ARP请求通信目标mac地址(如果本地ARP缓存表里没有对应条目的情况下,如果有就直接封装本端mac和ip地址为源mac和源ip,把对端的mac和ip封装成目标mac和目标ip);只有对端回复了arp请求以后,本端就会将arp回复报文中的源mac当作对应通信目标的mac,并将对应信息存入arp缓存表中,以备后续再次通信使用;简单讲ARP就是根据IP地址获取mac地址的TCP/IP协议;ARP协议有一个特点,就是同一局域网中的设备,只要收到一个arp回复包,局域网里的所有设备都会将对应回复包的源mac和对应源ip写入对应的arp缓存表里;这样一来非法主机在局域网里恶意发送伪造的arp应答报文,就会对应网络造成影响;
ARP工作环境

提示:arp主要工作在主机与主机之间,或者主机和网关之间,通常都是在同一vlan下,不会垮网段;
ARP主要攻击方式和危害
1、仿冒网关:所谓仿冒网关就是以网关的口吻欺骗其他主机;告诉其他主机自己就是网关;让其他主机误以为攻击者就是网关;

提示:如上图所示,主机A向主机B发送arp回复报文说,网关的mac地址为222,主机B收到此报文后,会将原来在自己的arp缓存表里的对应条目的mac地址给覆盖掉,这样一来带来的后果是,主机B和正常的网关通信就中断了;主机B和网关的通信会统统发送给主机A;
2、欺骗网关:所谓欺骗网关就是冒充合法主机的口吻向网关发送非法arp回复报文;让网关误以为攻击者就是真正的合法主机;

提示:如上图所示,主机A向网关发送,主机B的mac为555,网关收到此报文后,会将主机的arp缓存表更新为对应收到的arp应答报文里的mac;这样一来网关和真正合法主机的通信就会中断;
3、欺骗主机:所谓欺骗主机就是冒充合法主机向另一主机发送非法的arp应答报文,让另一主机误以为攻击者就是通信的对端;

提示:如上图所示,主机A欺骗主机C,说主机B的MAC为555,主机C收到此报文后,会更新自己的arp缓存表,将正常主机B的mac地址给覆盖掉;这样一来主机C就不能正常和真正的主机B通信;
中间人攻击

提示:所谓中间人攻击就是仿冒网关、欺骗网关的结合;对于网关来说,攻击者就是合法的主机(欺骗网关);对于合法主机来说,攻击者就是网关(仿冒网关);正常主机B和网关的通信会先发送给攻击者,然后被攻击者捕获,然后再由攻击者再次封装将对应请求发送给网关;网关回包也是先将包回复给攻击者,被攻击者捕获以后再封装发送给合法主机;对于合法主机来说它是没有任何感知的;上图是主机A和主机B都被非法主机双向欺骗;
ARP MISS
所谓ARP miss就是指网络中用户向设备发送目标ip不能正常解析的ip报文(即路由表中存在对应IP报文的目标ip地址路由表项,但没有对应路由下一跳的arp表项);这种触发arp miss消息的ip报文我们就成为arp miss报文,即arp miss报文会被上传到cpu处理;设备根据arp miss消息生成和下发临时arp表项并向目标的网络发送arp请求报文,这样就增加了设备cpu的负担,同时消耗目标网络的带宽资源;

提示:如上图所示,攻击者发送不能正常解析的ip报文给交换机(如在局域网里不存在的ip),交换机收到以后,不能正常获取到mac地址,此时就会触发ARP MISS消息,同时会向目标网络发送arp请求消息;交换机收到不能正常解析的ip报文触发arp miss消息加剧设备cpu的负担,同时向目标网络发送arp请求,占用目标网络的网络带宽;虽然少量的arp请求不能对网络造成什么影响,如果有人恶意发送大量的不能解析的ip报文,就会对设备cpu和目标网络的带宽造成极大的影响;
ARP攻击防御措施
1、ARP防网关冲突:该技术的应用场景主要是防止有人恶意冒充网关;主要工作原理是我们在交换机上开启了这项功能以后,如果ARP报文的源ip地址与报文入接口对应的VLANIF接口IP地址相同;或者ARP报文的源IP地址是入接口的虚拟IP地址,但ARP报文的源MAC地址不是VRRP的虚拟MAC;即上述两种情况都是攻击者在冒充网关的ip地址进行攻击;交换机收到此类报文就会认为该ARP报文和网关地址冲突,交换机将生成ARP防攻击表项,并在后续的一段时间内丢弃该接口收到的同VLAN以及同源MAC地址的ARP报文,这样就可以防止与网关地址冲突的ARP报文在VLAN内广播;

提示:我们只需要在交换机的全局模式下开启对应功能即可;
查看ARP防止攻击表项

2、网关开启主动发送免费arp:其实这是利用网关发送免费arp来覆盖攻击者的arp报文;

提示:默认开启发送免费arp报文功能后,间隔是60秒发送一次;我们可以使用interval 来指定间隔多久发送一次,最小间隔为1秒一次;
抓包查看网关是否在发送免费arp呢?

提示:可以看到现在pc上抓包,网关会每个两秒发送一次免费arp,广播给同一广播域的其他主机,网关的mac信息;这在一定程度上可以缓解攻击者的攻击;但是如果攻击者发送伪造的arp报文如果比网关发送的免费arp报文快,则攻击者的报文会覆盖网关自身发送的免费arp广播;一般使用该技术是结合上面的防网关冲突使用;
3、ARP报文速率
3.1、限制任意源MAC的ARP报文

3.2、限制特定源MAC的ARP报文

3.3、限制特定源IP的ARP报文

4、ARP Miss消息限速
4.1、限制任意源IP的ARP MISS消息

4.2、限制特定源IP的ARP MISS消息

查看当前ARP限速配置

查看arp miss限速配置

查看arp处理的报文统计数据

5、DAI(Dynamic ARP Inspection,动态ARP检测)可防止中间人攻击;该技术建立在dhcp snooping的绑定表的基础之上;当设备收到ARP报文时,将此ARP报文对应的源ip、源mac、vlan以及接口信息和绑定表的信息进行比较,如果信息匹配,说明发送该ARP报文的用户是合法用户,允许此用户的arp报文通过,否则就认为是攻击,丢弃对应arp报文;
DAI配置流程
1、全局开启dhcp snooping功能;
2、在某个VLAN内开启dhcp snooping功能;
3、配置信任接口;
4、在接入设备的接口开启ARP动态监测功能即可;
实验,如下拓扑配置DAI监测

sw1的基础配置

sys
sys sw1
vlan 2
int g0/0/1
p l a
p d v 2
int g0/0/2
p l a
p d v 2
int g0/0/3
p l a
p d v 2

dhcp-server的基础配置

sys
sys dhcp-server
dhcp en
vlan 2
int g0/0/1
p l a
p d v 2
int vlanif 2
ip add 172.16.20.254 24
dhcp se int

验证DHCP服务器地址池

提示:可以看到有两个地址被使用,说明dhcp服务器正常工作;
1、在sw1上开启全局开启dhcp snooping功能

提示:全局开启dhcp snooping功能,需要现在全局开启dhcp功能;
2、在vlan2内开启dhcp snooping功能

3、配置dhcp snooping 信任接口

查看绑定表

提示:如果我们是后面才开启的dhcp snooping功能,需要让pc重新拿地址,对应绑定表就会形成;
4、在接口开启arp动态检测功能

验证配置结果

查看arp检测到arp报文丢弃计数

提示:我这里是没有模拟攻击,如果有攻击,这对应统计数量就会有;
HCNP Routing&Switching之ARP安全的更多相关文章
- HCNP Routing&Switching之代理ARP
前文我们了解了端口隔离相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16186451.html:今天我们来聊一聊ARP代理相关话题: 端口隔离之破解之 ...
- HCNP Routing&Switching之OSPF网络类型
前文我们了解了PPPoE协议相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15182512.html:今天我们聊聊一聊OSPF中的网络类型相关话题: ...
- HCNP Routing&Switching之IS-IS报文结构和类型
前文我们了解了IS-IS动态路由协议基础相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15249328.html:今天我们来聊一聊IS-IS动态路由协 ...
- HCNP Routing&Switching之BGP报文结构、类型和状态
前文我们了解了BGP的邻居建立条件.优化以及BGP认证相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15395723.html:今天我们来聊一聊BGP ...
- HCNP Routing&Switching之组播技术-组播协议IGMP
前文我们了解了组播地址相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15616740.html:今天我们来聊一聊组播协议中IGMP协议相关话题: 组播 ...
- HCNP Routing&Switching之端口隔离
前文我们了解了组播路由协议稀疏模式中的RP相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16154347.html:今天我们来聊一聊二层交换机中有关v ...
- HCNP Routing&Switching之MUX VLAN
前文我们了解了代理ARP相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16188230.html:今天我们再来聊一聊vlan隔离相关话题MUX VLA ...
- HCNP Routing&Switching之Super VLAN
前文我们了解了VLAN隔离技术MUX VLAN相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16196936.html:今天我们来聊一聊VLAN优化S ...
- HCNP Routing&Switching之VRRP基础
前文我们了解了链路高可用技术链路聚合相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16279078.html:今天我们来聊一聊另一种高可用技术,网关高 ...
随机推荐
- 配置Apollo阿波罗.net core 3.1 c#
直接上代码: public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(a ...
- 最小生成树 链式前向星 Prim&Kruskal
Prim: Prim的思想是将任意节点作为根,再找出与之相邻的所有边(用一遍循环即可),再将新节点更新并以此节点作为根继续搜,维护一个数组:dis,作用为已用点到未用点的最短距离. 证明:Prim算法 ...
- C++数据类型的引入
1.存储位数 计算机管理存储器(内存和外存)的最小单位是字节,每个字节存储一个8为二进制数.一个字节的存储范围就在(00000000 ~ 11111111),十进制表示就是0~255这个范围.为了方便 ...
- 2 Zookeeper 单击安装
(二)Zookeeper 本地模式安装 下载地址 镜像库地址:http://archive.apache.org/dist/zookeeper/ apache-zookeeper-3.6.0.tar. ...
- k8s配置集ConfigMap详解
ConfigMap介绍 ConfigMap和Secret是Kubernetes系统上两种特殊类型的存储卷,ConfigMap对象用于为容器中的应用提供配置文件等信息.但是比较敏感的数据,例如密钥.证书 ...
- Linux系统下安装windows字体笔记
源文档地址:https://www.e-iceblue.cn/spiredocforjavaconversion/word-to-pdf-font-issue.html windows字体路径:C:\ ...
- 通过类名引用静态成员方法和通过super引用父类的成员方法
package com.yang.Test.StaticMethodReference; /** * 通过类型引用静态成员方法 * 类已经存在,静态成员方法也已经存在 * 就可以通过类名直接引用静态成 ...
- 使用try_catch_finally处理流中的异常和JDK7流中的异常处理
在jdk1.7之前使用try_catch_finally处理流中的异常 格式: try{ 可能会出现异常的代码 }catch(异常类变量 变量名){ 异常的处理逻辑 }finally{ 一定会执行的代 ...
- 点击>>>解锁Apache Hadoop Meetup 2021!
" 10月16日,属于开源发烧友的狂欢日来啦! Apache Hadoop Meetup 2021 开源大数据行业交流盛会盛大开启!让我们相约北京,一起嗨翻初秋~ 在当今信息化时代,逐渐成熟 ...
- LuoguP4165 [SCOI2007]组队
化式子,然后两个指针平\(A\)过去 #include <cstring> #include <cstdio> #include <algorithm> #incl ...