配置ARP安全综合功能示例

组网图形

ARP安全简介

ARP(Address Resolution Protocol)安全是针对ARP攻击的一种安全特性,它通过一系列对ARP表项学习和ARP报文处理的限制、检查等措施来保证网络设备的安全性。ARP安全特性不仅能够防范针对ARP协议的攻击,还可以防范网段扫描攻击等基于ARP协议的攻击。

常见的ARP攻击如下:

  1. 用户主机直接接入网关,攻击者将伪造网关的ARP报文发送给用户主机,使用户主机误以为攻击者即为网关。用户主机的ARP表中会记录错误的网关地址映射关系,这样就会把发往网关的流量均发送给了攻击者,攻击者可轻易窃听到用户主机发送的数据内容。

  2. 网络中有用户向设备发送大量目的IP地址不能解析的IP报文(即路由表中存在该IP报文的目的IP对应的路由表项,但设备上没有该路由表项中下一跳对应的ARP表项),将导致设备触发大量的ARP Miss消息。这种触发ARP Miss消息的IP报文(即ARP Miss报文)会被上送到CPU进行处理,设备会根据ARP Miss消息生成和下发大量临时ARP表项并向目的网络发送大量ARP请求报文,这样就增加了设备CPU的负担,同时严重消耗目的网络的带宽资源。

  3. 设备收到大量ARP攻击报文,并需要对所有ARP攻击报文全部进行处理,可能导致CPU负荷过重而无法处理其他业务。

针对以上攻击,ARP安全提供如下措施保证网络设备的安全性:

  • 针对第一种攻击,可配置ARP防网关冲突,防止攻击者冒充网关窃听用户主机信息。

  • 针对第二种攻击,可配置ARP Miss消息限速,减小CPU的负担,保护目的网络的带宽资源。

  • 针对第三种攻击,可配置ARP报文限速,以保护CPU资源。

配置注意事项
  • 本举例适用所有框式交换机的产品和版本。
  • 本举例适用的盒式交换机的产品和版本请参见举例适用的产品和版本。

组网需求

如图1所示,Switch作为网关通过接口GE1/0/3连接一台服务器,通过接口GE1/0/1、GE1/0/2连接VLAN10和VLAN20下的四个用户。网络中可能存在以下ARP威胁:

  • 攻击者向Switch发送伪造的网关的ARP报文,使用户误以为攻击者即为网关。这样用户就会把发往网关的流量均发送给了攻击者,攻击者可轻易窃听到用户发送的数据内容。
  • 攻击者发出大量目的IP地址不可达的IP报文进行ARP泛洪攻击,造成Switch的CPU负荷过重。
  • 用户User1构造大量源IP地址变化MAC地址固定的ARP报文进行ARP泛洪攻击,造成Switch的CPU进程繁忙,影响到正常业务的处理。
  • 用户User3构造大量源IP地址固定的ARP报文进行ARP泛洪攻击,造成Switch的CPU进程繁忙,影响到正常业务的处理。

管理员希望能够防止上述ARP攻击行为,为用户提供更安全的网络环境和更稳定的网络服务。

配置思路

采用如下思路在Switch上进行配置:

  1. 配置ARP防网关冲突,防止攻击者冒充网管窃听用户主机信息。
  2. 配置根据源IP地址进行ARP Miss消息限速,实现防止用户侧存在攻击者发出大量目的IP地址不可达的IP报文触发大量ARP Miss消息,形成ARP泛洪攻击。同时需要保证Switch可以正常处理服务器发出的大量此类报文,避免因丢弃服务器发出的大量此类报文而造成网络无法正常通信。
  3. 配置根据源MAC地址进行ARP限速,实现防止User1发送的大量源IP地址变化MAC地址固定的ARP报文形成的ARP泛洪攻击,避免Switch的CPU进程繁忙。
  4. 配置根据源IP地址进行ARP限速,实现防止User3发送的大量源IP地址固定的ARP报文形成的ARP泛洪攻击,避免Switch的CPU进程繁忙。

操作步骤
  1. 创建VLAN,将接口加入到VLAN中,并配置VLANIF接口

    # 创建VLAN10、VLAN20和VLAN30,并将接口GE1/0/1加入VLAN10中,接口GE1/0/2加入VLAN20中,接口GE1/0/3加入VLAN30中。

    <HUAWEI> system-view
    [HUAWEI] sysname Switch
    [Switch] vlan batch 10 20 30
    [Switch] interface gigabitethernet 1/0/1
    [Switch-GigabitEthernet1/0/1] port link-type trunk
    [Switch-GigabitEthernet1/0/1] port trunk allow-pass vlan 10
    [Switch-GigabitEthernet1/0/1] quit
    [Switch] interface gigabitethernet 1/0/2
    [Switch-GigabitEthernet1/0/2] port link-type trunk
    [Switch-GigabitEthernet1/0/2] port trunk allow-pass vlan 20
    [Switch-GigabitEthernet1/0/2] quit
    [Switch] interface gigabitethernet 1/0/3
    [Switch-GigabitEthernet1/0/3] port link-type trunk
    [Switch-GigabitEthernet1/0/3] port trunk allow-pass vlan 30
    [Switch-GigabitEthernet1/0/3] quit

    # 创建接口VLANIF10、VLANIF20、VLANIF30,配置各VLANIF接口的IP地址。

    [Switch] interface vlanif 10
    [Switch-Vlanif10] ip address 10.8.8.4 24
    [Switch-Vlanif10] quit
    [Switch] interface vlanif 20
    [Switch-Vlanif20] ip address 10.9.9.4 24
    [Switch-Vlanif20] quit
    [Switch] interface vlanif 30
    [Switch-Vlanif30] ip address 10.10.10.3 24
    [Switch-Vlanif30] quit
  2. 配置ARP防网关冲突

    [Switch] arp anti-attack gateway-duplicate enable  //配置ARP防网关冲突
  3. 配置根据源IP地址进行ARP Miss消息限速

    # 配置对Server(IP地址为10.10.10.2)的ARP Miss消息进行限速,允许Switch每秒最多处理该IP地址触发的40个ARP Miss消息;对于其他用户,允许Switch每秒最多处理同一个源IP地址触发的20个ARP Miss消息。

    [Switch] arp-miss speed-limit source-ip maximum 20  //配置根据源IP地址进行ARP Miss消息限速
    [Switch] arp-miss speed-limit source-ip 10.10.10.2 maximum 40  //配置根据源IP地址进行ARP Miss消息限速
  4. 配置根据源MAC地址进行ARP限速

    # 配置对用户User1(MAC地址为0001-0001-0001)进行ARP报文限速,每秒最多只允许10个该MAC地址的ARP报文通过。

    [Switch] arp speed-limit source-mac 0001-0001-0001 maximum 10  //配置根据源MAC地址进行ARP限速
  5. 配置根据源IP地址进行ARP限速

    # 配置对用户User3(IP地址为10.9.9.2)进行ARP报文限速,每秒最多只允许10个该IP地址的ARP报文通过。

    [Switch] arp speed-limit source-ip 10.9.9.2 maximum 10  //配置根据源IP地址进行ARP限速
  6. 验证配置结果

    # 执行命令display arp anti-attack configuration all,查看当前ARP防攻击配置情况。

    [Switch] display arp anti-attack configuration all
    ......
    ARP anti-attack entry-check mode:
    Vlanif      Mode
    -------------------------------------------------------------------------------
    All         disabled
    -------------------------------------------------------------------------------ARP rate-limit configuration:
    -------------------------------------------------------------------------------
    Global configuration:
    Interface configuration:
    Vlan configuration:
    -------------------------------------------------------------------------------ARP miss rate-limit configuration:
    -------------------------------------------------------------------------------
    Global configuration:
    Interface configuration:
    Vlan configuration:
    -------------------------------------------------------------------------------ARP speed-limit for source-MAC configuration:
    MAC-address         suppress-rate(pps)(rate=0 means function disabled)
    -------------------------------------------------------------------------------
    0001-0001-0001      10
    Others              0
    -------------------------------------------------------------------------------
    The number of configured specified MAC address(es) is 1, spec is 1024.ARP speed-limit for source-IP configuration:
    IP-address          suppress-rate(pps)(rate=0 means function disabled)
    -------------------------------------------------------------------------------
    10.9.9.2            10
    Others              30
    -------------------------------------------------------------------------------
    The number of configured specified IP address(es) is 1, spec is 1024.ARP miss speed-limit for source-IP configuration:
    IP-address          suppress-rate(pps)(rate=0 means function disabled)
    -------------------------------------------------------------------------------
    10.10.10.2/32       40
    Others              20
    -------------------------------------------------------------------------------
    The number of configured specified IP address(es) is 1, spec is 1024. 

    # 执行命令display arp packet statistics,查看ARP处理的报文统计数据。

    [Switch] display arp packet statistics
    ARP Pkt Received:   sum  8678904
    ARP-Miss Msg Received:   sum      183
    ARP Learnt Count:   sum     37
    ARP Pkt Discard For Limit:   sum      146
    ARP Pkt Discard For SpeedLimit:   sum      40529
    ARP Pkt Discard For Proxy Suppress:   sum      0
    ARP Pkt Discard For Other:   sum  8367601
    ARP-Miss Msg Discard For SpeedLimit:   sum      20
    ARP-Miss Msg Discard For Other:   sum      104     

    由显示信息可知,Switch上产生了ARP报文和ARP Miss消息丢弃计数,表明ARP安全功能已经生效。

配置文件

# Switch的配置文件

#
sysname Switch
#
vlan batch 10 20 30
#
arp-miss speed-limit source-ip 10.10.10.2 maximum 40
arp speed-limit source-ip 10.9.9.2 maximum 10
arp speed-limit source-mac 0001-0001-0001 maximum 10
arp anti-attack gateway-duplicate enable
#
arp-miss speed-limit source-ip maximum 20
#
interface Vlanif10ip address 10.8.8.4 255.255.255.0
#
interface Vlanif20ip address 10.9.9.4 255.255.255.0
#
interface Vlanif30ip address 10.10.10.3 255.255.255.0
#
interface GigabitEthernet1/0/1port link-type trunkport trunk allow-pass vlan 10
#
interface GigabitEthernet1/0/2port link-type trunkport trunk allow-pass vlan 20
#
interface GigabitEthernet1/0/3port link-type trunkport trunk allow-pass vlan 30
#
return

周工这里还有很多实验:关注+点赞+发送私信“题库”领取

HCIA实验拓扑

HCIP实验拓扑

关注+点赞+发送私信“题库”领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/651097.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp点击事件报错 Cannot read property ‘stopPropagation‘ of undefined

问题产生&#xff1a;在列表上有个小按钮&#xff0c;可点击弹出选择框。 列表本身可点击进入详情页。所以想用click.stop来阻止点击小按钮时候&#xff0c;触发列表的点击事件。 结果&#xff1a;如图所示 解决方案&#xff1a;发现自己用的是icon&#xff0c;在icon上加click…

2. HarmonyOS 应用开发 DevEco Studio 准备-2

2. HarmonyOS 应用开发 DevEco Studio 准备-2 首选项设置 中文设置 主题 字体 插件安装和使用 保存时操作 编辑器 工程树管理 代码树管理 标记 字符串可视化编辑 参考文档 常用快捷键 编辑 查找或替换 编译与运行 调试 其他 预览 页面预览 自定义组件预览 预览…

[学习笔记] ONNX 基础知识

1. ONNX 简介 1.1 什么是 ONNX 开放神经网络交换 ONNX&#xff08;Open Neural Network Exchange&#xff09;是一套表示深度神经网络模型的开放格式&#xff0c;由微软和 Facebook 于 2017 推出&#xff0c;然后迅速得到了各大厂商和框架的支持。通过短短几年的发展&#xf…

C++大学教程(第九版)7.19 将7.10节vector对象的例子转换成array对象

文章目录 题目代码运行截图 题目 (将7.10节vector 对象的例子转换成array 对象)将图7.26中 vector 对象的例子转换成使用array 对象。请消除任何 vector 对象仅有的特性。 分析&#xff1a; vector对象独有的特性&#xff1a; 1.vector对象长度可变 2.长度不同的vector对象可…

查看php-fpm占用内存情况

1、查看每个php-fpm占用的内存大小 ps -ylC php-fpm --sort:rss 2 查看单个php-fpm进程消耗内存的明细 pmap $(pgrep php-fpm) | less pmap pmap命令用于显示一个或多个进程的内存状态 pmap [ -x | -d ] [ -q ] pids 参数&#xff1a; -x extended Show the extended f…

蓝桥小白赛4 乘飞机 抽屉原理 枚举

&#x1f468;‍&#x1f3eb; 乘飞机 &#x1f437; 抽屉原理 import java.util.Scanner;public class Main {static int N 100010;static int[] a new int[N];public static void main(String[] args){Scanner sc new Scanner(System.in);int n sc.nextInt();int q s…

【Godot4自学手册】第七节背景搭建

各位同学&#xff0c;今天是第七节&#xff0c;在本节我会学习如何使用TileMap来完成背景搭建。 一、添加TileMap结点 先做个介绍&#xff0c;TileMap是基于 2D 图块的地图节点。Tilemap&#xff08;图块地图&#xff09;使用 TileSet&#xff0c;其中包含了图块的列表&#…

dvwa靶场文件上传high

dvwa upload high 第一次尝试&#xff08;查看是否是前端验证&#xff09;第二次尝试我的上传思路最后发现是图片码上传修改配置文件尝试蚁&#x1f5e1;连接菜刀连接 第一次尝试&#xff08;查看是否是前端验证&#xff09; 因为我是初学者&#xff0c;所以无法从代码审计角度…

「QT」QString类的详细说明

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「

Python实现自定义函数的5种常见形式分析

Python自定义函数是以def开头&#xff0c;空一格之后是这个自定义函数的名称&#xff0c;名称后面是一对括号&#xff0c;括号里放置形参列表&#xff0c;结束括号后面一定要有冒号“&#xff1a;”&#xff0c;函数的执行体程序代码也要有适当的缩排。Python自定义函数的通用语…

idea结合git回到某个提交点

概述&#xff1a;在IntelliJ IDEA中&#xff0c;你可以使用Git工具来回到某个提交点。 第一步&#xff1a;打开idea&#xff0c;打开git的管理面 可以看到&#xff0c;由于我的大改动&#xff0c;导致现在出问题了&#xff0c;所以我准备回退到某一版本。 点击左下角的git 点…

软考15-上午题-编译程序基本原理

一、编译过程【回顾】 中间代码生成、代码优化&#xff0c;可省略。 二、正规式 词法分析的工具。 ab*&#xff1a;这个*针对的是b&#xff0c;即b可以出现0次或多次。 2-1、真题 真题1&#xff1a; 真题2&#xff1a; 真题3&#xff1a; 真题4&#xff1a; 真题5&#xff1a…

Python网络爬虫实战——实验7:Python使用apscheduler定时采集任务实战

【实验内容】 本实验主要介绍在Django框架中使用APScheduler第三方库实现对数据的定时采集。 【实验目的】 1、掌握APScheduler库的使用&#xff1b; 2、学习在Django中实现多个定时任务调度&#xff1b; 【实验步骤】 步骤1 Apscheduler简介与特点 步骤2 Apscheduler基本…

Linux进程间通信(IPC)机制之一:管道(Pipes)详解

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;Nonsense—Sabrina Carpenter 0:50━━━━━━️&#x1f49f;──────── 2:43 &#x1f504; ◀️ ⏸ ▶️ …

Scrapy IP()类 编程指南(基础)

Scrapy IP()类 编程指南&#xff08;基础&#xff09; IP简介 工欲善其事&#xff0c;必先利其器&#xff0c;在聊Scapy IP类时&#xff0c;我们先要了解IP是什么。 IP指的是Internet Protocol&#xff08;互联网协议&#xff09;的数据包。Internet Protocol是互联网上用于在…

SpringBoot系列之JPA实现按年月日查询

SpringBoot系列之JPA实现按年月日查询 通过例子的方式介绍Springboot集成Spring Data JPA的方法&#xff0c;进行实验&#xff0c;要先创建一个Initializer工程&#xff0c;如图&#xff1a; 选择&#xff0c;需要的jdk版本&#xff0c;maven项目 选择需要的maven配置&#x…

pytest参数化

一、pytest.mark.parametrize介绍 pytest.mark.parametrize(argnames, argvalues, indirectFalse, idsNone)参数说明&#xff1a; argnames: 一个或多个参数名&#xff0c;用逗号分隔的字符串&#xff0c;如"arg1,arg2,arg3"&#xff0c;参数名与用例入参数一致。 a…

Android读写文件,适配Q以上

Android Q升级了文件系统&#xff0c;访问文件不仅仅是说动态权限了&#xff0c;有各种限制。权限什么的就不赘述了&#xff0c;下面介绍一下在10以上的系统中访问文件。 首先是打开文件管理器 /*** 打开文件管理器 存储卡和外接U盘都可以访问*/public void openFileManager()…

什么是JSON

什么是JSON JSON&#xff1a;JavaScript Object Notation 【JavaScript 对象表示法】 JSON 是存储和交换文本信息的语法。类似 XML。 JSON采用完全独立于任何程序语言的文本格式&#xff0c;使JSON成为理想的数据交换语言S 为什么需要JSON 提到JSON&#xff0c;我们就应该和…

代码块(Java)

代码块是类的成分之一&#xff0c;分为静态代码块和实例代码块 1.静态代码块&#xff1a;static{} 类加载时会自动执行一次&#xff0c;可以完成类的初始化&#xff0c;比如初始化赋值 2.实例代码块&#xff1a;{} 每次创建对象时&#xff0c;执行实例代码块&#xff0c;会…