一、IPSG 功能简介
IPSG:IP Source Guard,IP源防攻击是一种基于二层接口的源IP地址过滤技术。它能够防止内网用户修改IP地址(防止恶意主机通过伪造合法主机的IP地址来获取合法主机的网络访问权限或敏感信息等),还确保非授权主机(在静态或动态绑定表中没有相关记录的主机表记录信息)不能通过设置IP地址来访问网络或攻击网络,能有效防止IP地址的私自更改。
二、绑定表
IPSG参照二个绑定表项来检查接入主机的合法性。分为静态绑定表和动态绑定表。
静态绑定表通过user-bind命令手动在网络设备上进行配置,比较适用网络规主机数量比较少且都使用静态IP地址的场景。(交换机MAC 地址表数量有限制,只有512个,绑定数量超过512会报错)
动态绑定表需要在接入层设备上启用DHCP Snooping功能,根据DHCP服务器发送的DHCP Offer报文中的信息(主机的IP地址、MAC地址、接口、VLAN等信息)生成动态绑定表项。
三、IPSG绑定表项的4个要素
- IP地址
- MAC地址
- VLAN
- Interface
注:在动态绑定表中缺省是以上4项都进行匹配检查。在静态绑定表中根据用户配置的绑定表项进行检查。
四、IPSG绑定表项的几种绑定关系如下:
- IP绑定表项
- MAC 绑定表项
- IP+MAC绑定表项
- MAC+VLAN绑定表项
- IP+MAC+VLAN绑定表项
配置静态绑定的命令是user-bind static ip-address X -X-X-X mac-address Y-Y-Y-Y vlan A interface B,其中IP地址或MAC 地址是必须项,也可以二个一起绑定。VLAN和接口是可选项。
在接口视图下,执行命令ip source check user-bind check-item [ip-address | mac-address | vlan]可以修改绑定表项的检查项目。
五、注意事项
(1)IPSG只检查主机发送的IP报文,不检查ARP报文。
(2)IPSG尽量部署在接近用户的接入层设备上
(3)基于静态表的IPSG不能防范ARP欺骗(需要引入DAI,动态ARP检测)
ARP欺骗(包括中间人)会引起设备ARP表项非法刷新,引导流量从自己这边过去,获取到其他主机发送给合法主机的信息。DAI主要解决中间人ARP欺骗问题,利用绑定表对ARP报文进行检测,设备会检查接口上接收的ARP报文,只有匹配绑定表的ARP报文才允许通过,DAI必须启用DHCP Snooping功能。当然,通过静态ARP手动绑定、端口安全等其他技术手段也能防范ARP欺骗。另外配置ARP表项严格学习(只有本设备主动发送的请求报文的应答报文才能触发本设备学习ARP)可以有效防止网络中的ARP欺骗(因学习伪造的ARP报文而错误更新设备ARP表项,造成合法用户无法正常通信)或ARP攻击(因处理大量的ARP报文导致CPU资源负荷过重,ARP表项资源被耗尽)、ARP表项固化(网关防护,有效防止中间人欺骗,需在全局或VLAN视图下使能此功能)、ARP MISS消息限速、禁止接口ARP学习等等。
(4)配置好静态绑定表后,必须在二层物理接口或VLAN视图下使能IPSG才会生效。
(5)IPSG无法避免IP地址冲突
因为IPSG不能检查ARP报文,当网络中非法主机在合法主机在线时盗用其IP地址(如在未使能IPSG的端口下非法主机通过伪造合法主机的IP地址),非法主机发送的ARP请求报文会广播到合法主机,从而引起地址冲突。地址冲突会影响用户网络通信不稳定甚至断网。所以,为了避免IP地址冲突,可以在部署IPSG的同时配置DAI。
(6)为了防止用户修改IP地址连接到其他交换机接口或其他接口上访问互联网,则需要在其他交换机接口或本交换机其他接口上使用IPSG功能。如果某个接入交换机没有IPSG功能,则需要在该交换机上与其他交换机的上联端口上使能IPSG,并在该汇聚交换机上配置静态绑定表。如下图,假设Switch_1设备不支持IPSG功能,需要在Switch_2设备上的IF1端口启用IPSG功能,同时需要在Switch_2上内网1的主机的绑定表。
测试拓扑图:
HJ配置如下:
sysname HJ
vlan batch 10 20 30
interface Vlanif10
ip address 192.168.100.254 255.255.255.0
interface Vlanif20
ip address 172.21.112.254 255.255.255.0
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094
LSW4配置如下:
sysname Huawei
vlan batch 10 20 30
interface Vlanif10
ip address 192.168.100.3 255.255.255.0
interface Vlanif20
ip address 172.21.112.253 255.255.255.0
配置静态绑定表项
user-bind static ip-address 172.21.112.10 mac-address 5489-9850-5693 interface GigabitEthernet0/0/1 vlan 20
user-bind static ip-address 172.21.112.20 mac-address 5489-989c-6c15 interface GigabitEthernet0/0/2 vlan 20
interface GigabitEthernet0/0/4
port link-type access
port default vlan 20
将在G0/0/1、G0/0/2和G0/0/4加入VLAN20中,并在接口G0/0/1、G0/0/2分别使能IPSG功能,并设置丢弃报文上限告警功能。接口G0/0/4未启用IPSG功能,用于测试attacker伪造合法主机1的IP后网络是否可通。
interface GigabitEthernet0/0/1
port link-type access
port default vlan 20
ip source check user-bind enable
ip source check user-bind alarm enable
ip source check user-bind alarm threshold 200
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
ip source check user-bind enable
ip source check user-bind alarm enable
ip source check user-bind alarm threshold 200
配置G0/0/3为Trunk,并允许所有vlan通过。此端口为上行端口,不需要使用IPSG功能,防止从HJ回程报文被丢弃。
interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 2 to 4094
通过display dhcp static user-bind all检查设备静态绑定表信息
[Huawei]dis dhcp static user-bind all
提示:在ENSP上IPSG功能无法正常展示,在测试中合法主机1或2修改为其他任意IP都还可以访问192.168.100.20服务器,但在真机上修改过其他IP后是无法访问的。如下图,将主机1在设备上绑定的IP地址改为33后,还能访问服务器主机。
接下来,attacker主机将IP修改为172.21.112.10,测试能否访问服务器。实验中发现attacker主机连网,合法主机出现断网。(真机是否有这个问题?),所以这是一个安全隐患,我们必须确保所有的设备接口都要使能IPSG功能,如果有多个接口属于同一个VLAN,在此VLAN视图下使能IPSG功能会更方便。但(在未使能IPSG功能的接口上)无法避免非法主机盗用在线合法主机的IP地址,引起IP地址冲突(参照注意事项第5点的描述)。
通过display arp all 查询ARP表项,172.21.112.10的MAC地址被修改为attacker主机的,如下:
如果将设备重启后,可能ARP表项会恢复正常,如这里已经修改为主机1的ARP地址表项。如下:
但是IP地址冲突会导致合法主机1的通信网络不稳定,有丢包,如下:
为了验证在G0/0/4接口上使能IPSG功能后,attacker主机主机是否还可以访问服务器,如下图所示当G0/0/4接口上使能IPSG功能后,attacker用户无法访问服务器,合法主机1一直可以访问服务器。
假设是attacker主机先开机上线,合法主机1后开机上线,到底是那个可以访问服务器?看下图就知道了。(在ENSP实验中IPSG功能无法使用,真机中会是attacker主机无法访问网络,因为IPSG会匹配静态表,符合绑定表的报文才允许通过,其他丢弃。)
当合法主机在线时发生attacker主机盗用IP地址,会导致IP地址冲突,造成合法主机的网络通信质量下降。
通过上述测试发现,IP地址冲突或ARP欺骗会导致ARP表项被错误刷新,引发合法主机网络中断或不稳定,另外,因为ARP协议没有安全机制和确认机制,可以无限制发送ARP Resquest报文,包括它的应答报方都可以直接发送到网络中的其他用户主机上,更改设备或用户的ARP表项。ARP泛洪攻击或ARP欺骗都会让网络异常卡顿、上不了网、信息泄露,甚至设备或网络瘫痪,所以要通过技术手段来防范此类安全隐患。
版权归原作者 文件皆一印 所有, 如有侵权,请联系我们删除。