前文我们了解了DHCP安全相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16637627.html;今天我们来聊一聊IP安全相关话题;

  技术背景

  随着网络规模越来越大,通过伪造源IP地址实施的网络攻击(IP地址欺骗攻击)也逐渐增多;所谓源IP地址欺骗攻击是指攻击者伪造合法用户的ip地址获取网络访问权限,非法访问网络;甚至造成合法用户无法正常访问网络,或者信息泄露;

  提示:如上图所示,非法主机修改自己的ip地址为合法主机的ip地址和网关通信;如果我们没有在相关接口或vlan里开启源ip地址检查,那么对应非法用户就可以正常上网;简单讲就是非法主机利用合法主机的ip地址信息,冒充合法主机进行上网;

  IPSG概述

  IPSG是IP Source Guard的缩写,翻译成中文就是IP源保护,或者IP源防攻击;它是基于二层接口的源ip地址过滤技术;主要作用是防止恶意主机伪造合法主机的IP地址来仿冒合法主机;确保非授权主机不能通过自己指定的IP地址的方式来访问网络或攻击网络;

  IPSG工作原理

  IPSG的工作原理很简单,就是利用绑定表(该表主要字段有源IP地址、源MAC地址、所属VLAN、接口)去匹配检查二层接口上收到的IP报文,只有匹配绑定表的报文才允许通过,否则对应报文会被丢弃;

  提示:绑定表生成后,IPSG基于绑定表系那个指定的接口或VLAN下发ACL,由ACL来匹配检查所有IP报文;

  提示:此时如果非法主机再次冒充使用合法主机ip地址,对应报文被交换机收到以后,检查对应的绑定表信息,发现对应报文ip地址等信息和绑定表中的信息不匹配,就直接丢弃了,所以此时非法主机的报文就不能被转发,从而阻止了非法主机的冒充和攻击;

  绑定表分类

  提示:绑定表分静态和动态两种类型;静态绑定表就是管理员手动添加的而形成的条目,主要适用于主机较少的,对应主机使用静态IP地址的场景中;动态绑定表有3种情况,第一种是利用DHCP snooping生成的绑定表,这种动态绑定表主要用于主机较多,对应主机是从DHCP服务器获取的ip地址的场景;第二种动态绑定表示是利用802.1x用户认证过程中,设备根据认证用户信息生成的绑定表;这种方式主要应用主机较多,主机使用了静态ip地址,并在网络中部署了1x认证;第三种动态绑定表是IPV6的ND Snooping,(IPV6它没有广播,它可以使用NS来自动获取ip地址,当然也可以使用ipv6的dhcp来获取地址)该表是通过侦听用户用于重复地址检测到NS报文建立;主要应用场景是针对IPV6主机,且主机较多的场景;

  IPSG接口角色

  提示:IPSG的接口角色、作用和DHCP Snooping接口角色、作用一样,分信任接口和非信任接口;配置信任接口,对应接口收到的ip报文就不会再检查;和DHCP Snooping一样只对非信任接口进行检查,仅支持在二层物理即可或者VLAN上应用;

  IPSG应用场景

  1、在接入用户侧的接口上使用IPSG

  提示:在某个接口上使用IPSG,作用范围只是单个接口;

  2、在接入用户侧的VLAN上使用IPSG

  提示:在对应vlan上配置IPSG,作用范围是对应VLAN下所有接口;

  3、在某个网段的上联接口上使用IPSG

  提示:在上联的接口上使用IPSG,作用访问是通过对上联口的所有IP流量;通常这种场景使用信任接口来避免检查;一般IPSG或DHCP Snooping越靠近用户接入层配置,就越精准;效果就越理想;

  IPSG配置

  如上拓扑配置IPSG

  dhcp-server的配置

sys
sys dhcp-server
dhcp en
int vlan 1
ip add 192.168.100.254 24
dhcp sel int

  在sw1上配置dhcp snooping 生成绑定表

sys
sys sw1
dhcp en
dhcp sn en
vlan 1
dhcp sn en
int g0/0/3
dhcp sn tr

  pc1和pc2拿ip地址,看看对应sw1是否正常生成绑定表?

  提示:可以看到pc1和pc2设置为dhcp以后,对应交换机上的用户绑定表就生成了;

  验证:将pc1关机,看看对应交换机上的绑定表条目是否会随之被删除?

  提示:可以看到pc1关机,对应绑定表中的条目并没有被删除,这是因为主机关机没有发送release消息,所以对应条目也不会被交换机删除;

  将pc2的ip地址修改成静态192.168.100.200,看看对应用户绑定表中对应条目是否会被删除?

  提示:可以看到pc2将ip地址修改为静态192.168.100.200以后,对应交换机上的用户绑定表中的条目就被删除了;我们通过抓包可以看到,pc2修改为静态ip地址以后,对应发送了一条dhcp release的包,对应交换机收到release的包,就会将对应地址给释放掉,当然释放ip地址,随之用户绑定表中的条目也会被随之删除;

  现在pc2pingdhcp-server看看是否会通?

  提示:这里能通是模拟器bug,正常情况下,我们在交换机上开启了dhcp snooping以后,对应交换机用户绑定表中没有对应pc条目信息,对应pc发包会被交换机丢弃的;像这种接入交换机开启了dhcp snooping,对应终端不支持dhcp的情况下,我们要想让终端能够正常和服务器通信,我们就必须在交换机上添加对应的绑定条目;

  静态添加pc2的信息到绑定表

  提示:我们手动添加用户绑定条目,可以只关联ip地址,或者mac地址;也可以同时关联ip地址和mac地址以及接口和vlan;这种静态添加绑定表条目,一般用于终端不希望动态获取ip地址信息的场景;比如打印机,服务器等需要固定ip地址;

  在接口g0/0/2下配置 IPSG

  提示:如果在接口模式下开启ipsg,需要将对应接口的DHCP snooping开启;如果在vlan模式下开启ipsg,我们就需要进入对应vlan下,开启dhcp snooping ;这样配置以后,对应主机ip地址信息如果被其他非法用户冒充,交换机通过检查用户绑定表,对应接口下的用户信息,就可以将非法用户的报文直接丢弃;从而实现保护合法主机的目的;

  开启IPSG告警以及告警阀值的配置

  提示:默认阀值为100,表示被丢弃的报文个数超过100,就发送告警信息(前提是开启了告警,默认关闭);上述命令表示开启ipsg告警,同时如果丢弃报文超过10个就告警(针对该接口);如果在vlan模式下配置告警阀值,对应生效是整个vlan,如果在vlan和接口模式下都配置了告警阀值,对应生效优先级是接口模式优先vlan;

HCNP Routing&Switching之IP安全的更多相关文章

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

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

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

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

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

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

  4. HCNP Routing&Switching之OSPF虚连接

    前文我们了解了OSPF的网络类型.帧中继交换机映射以及路由器帧中继映射相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15195762.html:今天我 ...

  5. HCNP Routing&Switching之OSPF LSA类型

    前文我们了解了OSPF中的虚连接相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15202348.html:今天我们来聊一聊OSPF数据包中LSA类型相 ...

  6. HCNP Routing&Switching之OSPF LSA类型(二)

    前文我们了解了OSPF的一类.二类.三类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15209829.html:今天我们来聊一聊OSPF的四类和五类L ...

  7. HCNP Routing&Switching之OSPF外部路由类型以及forwarding address

    前文我们了解了OSPF的4类.5类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15222969.html:今天我们来聊一聊外部路由类型和forward ...

  8. HCNP Routing&Switching之OSPF LSA更新规则和路由汇总

    前文我们了解了OSPF外部路由类型以及forwarding address字段的作用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15225673.html: ...

  9. HCNP Routing&Switching之OSPF特殊区域

    前文我们了解了OSPF LSA更新规则以及路由汇总相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15231880.html:今天我们来聊一聊OSPF的 ...

随机推荐

  1. 关于Vue 移动端适配 (px2rem 插件将px转为rem)

    一.安装 npm install px2rem-loader lib-flexible --save 二.入口文件main.js加上 import 'lib-flexible/flexible.js' ...

  2. 二:动手实操SpringBoot-使用Spring Initializr创建项目

    使用 Spring Initializr 初始化 Spring Boot 项目 Spring Initializr 从本质上说就是一个Web应用程序,它能为你构建Spring Boot项目结构. 虽然 ...

  3. Linux文件的特殊属性

    文件的特殊属性 作用:文件的权限不能显示root用户,为了防止root用户的误操作,所以需要特殊属性来防止root用户的误操作. chattr工具: 可以给文件添加特殊的属性 +i:对这个文件不能修改 ...

  4. rhel修改系统语言

    修改系统语言的三种方式  1.yum install system-config-language //挂载本地源,然后安装         system-config-language     2. ...

  5. MySql字段增删改语句

    新增表字段:alter table 表名 需要添加的字段信息; ALTER TABLE nation add seq VARCHAR(20) COMMENT '顺序' 字段名的修改:alter tab ...

  6. 在mybatis中使用sum函数返回对象为Null

    首先大家看一下我的XML中的SQL .DAO  和实体对象 XML DAO PO 乍一看 没毛病. 但是在Mybatis中使用sum函数,如果返回值是0(就是你在Navicat中运行的的sql正常,结 ...

  7. Docker部署jar包运行

    1.上传jar包到服务器 2.在该目录下创建Dockerfile 文件 vi Dockerfile 3.然后将下面的内容复制到Dockerfile文件中 FROM java:8 MAINTAINER ...

  8. pytest多进程/多线程执行测试用例

    前言: 实际项目中的用例数量会非常多,几百上千:如果采用单进程串行执行的话会非常耗费时间.假设每条用例耗时2s,1000条就需要2000s $\approx$ 33min:还要加上用例加载.测试前/后 ...

  9. .NET(C#)发送邮件的实现方法

    .NET(C#)发送邮件的实现方法 微软已经为我们准备好了现成的工具类供我们调用: MailMessage //邮件信息类 SmtpClient //邮件发送类 首先需要在项目的类文件中引用以下命名空 ...

  10. JAVA解压.Z及.ZIP文件

    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress --> <dependency ...