HCNP Routing&Switching之IP安全
前文我们了解了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;