前文我们了解了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安全的更多相关文章

  1. HCNP Routing&Switching之代理ARP

    前文我们了解了端口隔离相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16186451.html:今天我们来聊一聊ARP代理相关话题: 端口隔离之破解之 ...

  2. HCNP Routing&Switching之OSPF网络类型

    前文我们了解了PPPoE协议相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15182512.html:今天我们聊聊一聊OSPF中的网络类型相关话题: ...

  3. HCNP Routing&Switching之IS-IS报文结构和类型

    前文我们了解了IS-IS动态路由协议基础相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15249328.html:今天我们来聊一聊IS-IS动态路由协 ...

  4. HCNP Routing&Switching之BGP报文结构、类型和状态

    前文我们了解了BGP的邻居建立条件.优化以及BGP认证相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15395723.html:今天我们来聊一聊BGP ...

  5. HCNP Routing&Switching之组播技术-组播协议IGMP

    前文我们了解了组播地址相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15616740.html:今天我们来聊一聊组播协议中IGMP协议相关话题: 组播 ...

  6. HCNP Routing&Switching之端口隔离

    前文我们了解了组播路由协议稀疏模式中的RP相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16154347.html:今天我们来聊一聊二层交换机中有关v ...

  7. HCNP Routing&Switching之MUX VLAN

    前文我们了解了代理ARP相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16188230.html:今天我们再来聊一聊vlan隔离相关话题MUX VLA ...

  8. HCNP Routing&Switching之Super VLAN

    前文我们了解了VLAN隔离技术MUX VLAN相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16196936.html:今天我们来聊一聊VLAN优化S ...

  9. HCNP Routing&Switching之VRRP基础

    前文我们了解了链路高可用技术链路聚合相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16279078.html:今天我们来聊一聊另一种高可用技术,网关高 ...

随机推荐

  1. Google Colab初次使用

    网页无法加载,出现HTTP ERROR 407 开启chrome时不要在最下面的固定栏打开,否则会出错.

  2. 异构图神经网络笔记-Heterogeneous Graph Neural Network(KDD19)

    自己讲论文做的异构图神经网络的ppt.再转变成博客有点麻烦,所以做成图片笔记. 论文链接:https://arxiv.org/abs/1903.07293

  3. MIT 6.824 Lab2C Raft之持久化

    书接上文Raft Part B | MIT 6.824 Lab2B Log Replication. 实验准备 实验代码:git://g.csail.mit.edu/6.824-golabs-2021 ...

  4. Python进程管理神器——Supervisor

    一.简介 Supervisor 是一款 Python 开发的进程管理系统,允许用户监视和控制 Linux 上的进程,能将一个普通命令行进程变为后台守护进程,异常退出时能自动重启 详细介绍查阅:Supe ...

  5. mysql语法使用详细代码版

    mysql 1.什么是数据库 数据库:(DB,DataBase) 作用:用来存储数据,管理数据.Txt,Excel,word是在数据库出现之前存储数据的. 概念:数据仓库,安装在操作系统上的软件. 数 ...

  6. NOI / 2.3基本算法之递归变递推-6262:流感传染

    OpenJudge - 6262:流感传染http://noi.openjudge.cn/ch0203/6262/ 6262:流感传染​​​​​​ 总时间限制: 1000ms 内存限制: 65536k ...

  7. 项目配置yaml

    springboot的一些配置 #当循环调用时,就会报错 spring.main.allow-circular-references=true #配置mvc是需要使用一个@EnableWebMvc,不 ...

  8. 算法竞赛进阶指南0x51 线性DP

    AcWing271. 杨老师的照相排列 思路 这是一个计数的题目,如果乱考虑,肯定会毫无头绪,所以我们从1号到最后一个依次进行安排. 经过反复实验,发现两个规律 每一行的同学必须是从左向右依次连续放置 ...

  9. Yii项目知识搜集

    [['rId','advertiser_id','image_file'], 'unique','targetAttribute'=>['rId','advertiser_id','image_ ...

  10. odoo 14 一些常见问题集

    1 # 当你往tree或者form视图中增加action的时候 2 # 记住!千万别重名 3 # 一旦重名,Export.Delete.Archive.Unarchive都会消失不见 4 # tree ...