IP源防攻击IPSG(IP Source Guard)

IP源防攻击IPSG(IP Source Guard)是一种基于二层接口的源IP地址过滤技术,它能够防止恶意主机伪造合法主机的IP地址来仿冒合法主机,还能确保非授权主机不能通过自己指定IP地址的方式来访问网络或攻击网络。

2.1 IPSG基本原理

    1. 绑定表

IPSG利用绑定表(源IP地址、源MAC地址、所属VLAN、入接口的绑定关系)去匹配检查二层接口上收到的IP报文,只有匹配绑定表的报文才允许通过,其他报文将被丢弃。绑定表如图2-1所示,包括静态和动态两种。

                                                                      图2-1  绑定表

绑定表生成后,IPSG基于绑定表向指定的接口或者指定的VLAN下发ACL,由该ACL来匹配检查所有IP报文。主机发送的报文,只有匹配绑定表才会允许通过,不匹配绑定表的报文都将被丢弃。当绑定表信息变化时,设备会重新下发ACL。缺省情况下,如果在没有绑定表的情况下使能了IPSG,设备会允许IP协议报文通过,但是会拒绝所有的数据报文。IPSG只匹配检查主机发送的IP报文,包括IPv4和IPv6报文,对于ARP、PPPoE等非IP报文,IPSG不做匹配检查。

IPSG原理图如图2-2所示,非法主机仿冒合法主机的IP地址发送报文到达Switch后,因报文和绑定表不匹配被Switch丢弃。

                                                图2-2  IPSG实现原理图

    1. IPSG中的接口角色

IPSG仅支持在二层物理接口或者VLAN上应用,且只对使能了IPSG功能的非信任接口进行检查。对于IPSG来说,缺省所有的接口均为非信任接口,信任接口由用户指定。IPSG的信任接口/非信任接口也就是DHCP Snooping或ND Snooping中的信任接口/非信任接口,信任接口/非信任接口同样适用于基于静态绑定表方式的IPSG。

                                    

图2-3  IPSG中的接口角色示意图

IPSG中各接口角色如图2-3所示。其中:

  • IF1和IF2接口为非信任接口且使能IPSG功能,从IF1和IF2接口收到的报文会执行IPSG检查。
  • IF3接口为非信任接口但未使能IPSG功能,从IF3接口收到的报文不会执行IPSG检查,可能存在攻击。
  • IF4接口为用户指定的信任接口,从IF4接口收到的报文也不会执行IPSG检查,但此接口一般不存在攻击。在DHCP Snooping的场景下,通常把与合法DHCP服务器直接或间接连接的接口设置为信任接口。
    1. IPSG的过滤方式

静态绑定表项包含:MAC地址、IP地址、VLAN ID、入接口。静态绑定表项中指定的信息均用于IPSG过滤接口收到的报文。

动态绑定表项包含:MAC地址、IP地址、VLAN ID、入接口。IPSG依据该表项中的哪些信息过滤接口收到的报文,由用户设置的检查项决定,缺省是四项都进行匹配检查。

2.2 IPSG应用在网络中的位置

IPSG一般应用在与用户直连的接入设备上,可以基于接口或者基于VLAN应用。

如图2-4所示,在接入用户侧的接口上应用IPSG,该接口接收的所有IP报文均进行IPSG检查。

                                                图2-4 基于接口使能IPSG

如图2-5所示,在接入用户侧的VLAN上应用IPSG,属于该VLAN的所有接口接收到IP报文均进行IPSG检查。

图2-5  基于VLAN使能IPSG

如果与用户直连的接入设备不支持IPSG功能,也可以在汇聚设备或核心设备上应用IPSG,如图2-6所示。 假设接入内网1的Switch_1不支持IPSG功能,可以在Switch_2上的IF1接口应用IPSG(需要在Switch_2上创建内网1内主机的绑定表)。但是由于Switch_1没有IPSG功能,所以从Switch_1发送过来的报文是有可能存在IP欺骗攻击的,在Switch_2的IF1接口上应用IPSG可以把攻击隔绝在这里,使受攻击的范围减小到最小。 接入内网2的Switch_2的IF2接口上也需要应用IPSG功能,如果不应用,内网2内也可能存在IP地址欺骗攻击。
           

图2-6 多交换机环境

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

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

相关文章

深入探讨Java中的OutputStreamWriter类

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好…

人工智能、机器学习和生成式人工智能之间有什么区别?

文 | BFT机器人 在这个数字的智能时代,大家对人工智能、机器学习和生成式人工智能这些名词字眼很熟悉,有些人或许对它们还有一些了解,但是当他们一起出现的时候,大家能够区别它们是什么意思吗?今天小编将带你们详细解…

【GPU驱动开发】- AST简介

前言 不必害怕未知,无需恐惧犯错,做一个Creator! AST,抽象语法树,是一种包含丰富语义信息的格式,其中包括类型、表达式树和符号等。 TranslationUnitDecl:该类表示一个输入源文件 ASTContext&…

一般情况下,硬件中使用Repeating Sequence出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的

一般情况下,出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的 把timer values 修改为0 1就好了,如果是0,0.1就不行,不会有下面的波形

spring boot 集成科大讯飞星火认知大模型

首先到官网https://console.xfyun.cn/services/aidoc申请key 一、安装依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&…

基于java SSM springboot+redis网上水果超市商城设计和实现以及文档

基于java SSM springbootredis网上水果超市商城设计和实现以及文档 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 …

Linux——进程控制(一)进程的创建与退出

目录 一、进程创建 1.写时拷贝 2.创建多个进程 二、进程终止 1.main函数的返回值 2.bash中的$? 3.自定义退出码 4.C语言的错误码 5.错误码与退出码的区别 6.代码异常终止 7.exit函数 8.总结 一、进程创建 在之前&#xff0c;我们学过linux中的非常重要的函数——…

苍穹外卖知识点总结(一)

简介 技术选型 展示项目中使用到的技术框架和中间件。 用户层&#xff1a;node.js Vue.js ElementUI 微信小程序 apache echarts 网关层&#xff1a;nginx 应用层&#xff1a;Spring Boot Spring MVC Spring Task httpclie…

Java毕业设计 基于SSM SpringBoot vue购物比价网站

Java毕业设计 基于SSM SpringBoot vue购物比价网站 SSM vue 购物比价网站 功能介绍 首页 图片轮播 商品 商品分类 商品详情 评论 收藏 商品攻略 商品信息 公告栏 在线反馈 登录 注册 个人中心 我的收藏 后台管理 登录 注册商品户 个人中心 修改密码 个人信息 商品户管理 用户…

Excel2LaTeX插件的使用、LaTeX表格

目录 一、下载Excel2Latex 二、使用Excel2Latex 1、将Excel2LaTeX文件添加到加载项 2、导出LaTex的表格数据 3、注意事项 1&#xff09;生成的latex表格断断续续问题 2&#xff09;改变线形的粗细 3&#xff09;表格太大&#xff0c;需要缩小到适应大小 4&#xff09;…

ETL是什么

一、ETL概念 ETL&#xff0c;是英文Extract-Transform-Load的缩写&#xff0c;用来描述将数据从来源端经过抽取&#xff08;extract&#xff09;、转换&#xff08;transform&#xff09;、加载&#xff08;load&#xff09;至目的端的过程。ETL一词较常用在数据仓库&#xff…

qsort函数(任意类型排序)

void qsort(void base, size_t num, size_t size, int (*compar)(const void*p1, const void*p2))排序函数&#xff0c;可以排序各种类型的函数 四个参数&#xff1a; void qsort( void base&#xff0c;&#xff1a;base指向数组的第一个元素 size_t num,&#xff1a;base…

Gitlab: 私有化部署

目录 1. 说明 2. 资源要求 3. 安装 4. 配置实践 4.1 服务器 4.2 人员与项目 4.2 部署准备 4.2.1 访问变量及用户账号设置 4.2.2 Runner设置 4.2.3 要点 5. 应用项目 CI/CD 6. 参考 1. 说明 gitlab是一个强大且免费的代码管理/部署工具&#xff0c;能统一集成代码仓…

ubuntu基础操作(1)-个人笔记

搜狗输入法Linux官网-首页搜狗输入法for linux—支持全拼、简拼、模糊音、云输入、皮肤、中英混输https://pinyin.sogou.com/linux 1.关闭sudo密码&#xff1a; 终端&#xff08;ctrl alt t&#xff09;输入 sudo visudo 打开visudo 找到 %sudo ALL(ALL:ALL) ALL 这一行…

视频和音频使用ffmpeg进行合并和分离(MP4)

1.下载ffmpeg 官网地址&#xff1a;https://ffmpeg.org/download.html 2.配置环境变量 此电脑右键点击 属性 - 高级系统配置 -高级 -环境变量 - 系统变量 path 新增 文件的bin路径 3.验证配置成功 ffmpeg -version 返回版本信息说明配置成功4.执行合并 ffmpeg -i 武家坡20…

DTD、XML阐述、XML的两种文档类型约束和DTD的使用

目录 ​编辑 一、DTD 什么是DTD&#xff1f; 为什么要使用 DTD&#xff1f; 内部 DTD 声明 具有内部 DTD 的 XML 文档 外部 DTD 声明 引用外部 DTD 的 XML 文档 二、XML 什么是XML&#xff1f; XML 不执行任何操作 XML 和 HTML 之间的区别 XML 不使用预定义的标记…

LeetCode 热题100 刷题笔记

一&#xff1a;哈希表 一般哈希表都是用来快速判断一个元素是否出现集合里。 直白来讲其实数组就是一张哈希表&#xff0c;哈希表中关键码就是数组的索引下标&#xff0c;然后通过下标直接访问数组中的元素。 1.两数之和 题目链接&#xff1a;. - 力扣&#xff08;LeetCode…

MATLAB练习题:判断整数是否为回文数

​讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 给定一个1到1亿之间的整数&#xff0c;请判断这个整数是否为回…

【毛毛讲书】【时间贫困】时间都去哪了?

重磅推荐专栏&#xff1a; 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域&#xff0c;包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用&#xff0c;以及与之相关的人工智能生成内容&#xff…

奇点云:SAFe框架下,我们对平台软件工程生产线做了4项改造

导读&#xff1a; 客户规模扩大&#xff0c;如何保证大数据软件产品和服务质量始终如一&#xff1f;几乎所有成长中的软件厂商&#xff0c;尤其是需要通过私有化部署交付的厂商&#xff0c;都会面临这个问题。正如《人月神话》中多次表明的&#xff0c;单纯地增加人手、扩大团队…