IPSG简介
1.定义
IP源防攻击IPSG(IP Source Guard)是一种基于二层接口的源IP地址过滤技术,它能够防止恶意主机伪造合法主机的IP地址来仿冒合法主机,还能确保非授权主机不能通过自己指定IP地址的方式来访问网络或攻击网络。
2.目的
随着网络规模越来越大,通过伪造源IP地址实施的网络攻击(简称IP地址欺骗攻击)也逐渐增多。一些攻击者通过伪造合法用户的IP地址获取网络访问权限,非法访问网络,甚至造成合法用户无法访问网络,或者信息泄露。IPSG针对IP地址欺骗攻击提供了一种防御机制,可以有效阻止此类网络攻击行为。
一个典型的利用IPSG防攻击的示例如下图所示,非法主机伪造合法主机的IP地址获取上网权限。此时,通过在Device的用户侧的接口或VLAN上部署IPSG功能,Device可以对进入接口的IP报文进行检查,丢弃非法主机的报文,从而阻止此类攻击。
IPSG典型防攻击
IPSG的基本原理
IPSG利用绑定表(源IP地址、源MAC地址、所属VLAN、入接口的绑定关系)去匹配检查二层接口上收到的IP报文,只有匹配绑定表的报文才允许通过,其他报文将被丢弃。
绑定表如下表所示,包括静态和动态两种。
绑定表生成后,IPSG基于绑定表向指定的接口或者指定的VLAN下发ACL,由该ACL来匹配检查所有IP报文。主机发送的报文,只有匹配绑定表才会允许通过,不匹配绑定表的报文都将被丢弃。当绑定表信息变化时,设备会重新下发ACL。缺省情况下,如果在没有绑定表的情况下使能了IPSG,设备会允许除IGMP协议报文外的IP协议报文通过,但是会拒绝所有的IP数据报文通过。
IPSG一般应用在用户侧的接入设备上,可以基于接口或者基于VLAN应用。
- 在用户侧的接口上应用IPSG,该接口接收的所有IP报文均进行IPSG检查。
- 在用户侧的VLAN上应用IPSG,属于该VLAN的所有接口接收到IP报文均进行IPSG检查。
- 如果用户侧的接入设备不支持IPSG功能,也可以在上层设备的接口或者VLAN上应用IPSG。
IPSG中的接口角色
IPSG仅支持在二层物理接口或者VLAN上应用,且只对使能了IPSG功能的非信任接口进行检查。对于IPSG来说,缺省所有的接口均为非信任接口,信任接口由用户指定。IPSG的信任接口/非信任接口也就是DHCP Snooping中的信任接口/非信任接口,信任接口/非信任接口同样适用于基于静态绑定表方式的IPSG。
IPSG中各接口角色如下图所示。其中:
- Interface1和Interface2接口为非信任接口且使能IPSG功能,从Interface1和Interface2接口收到的报文会执行IPSG检查。
- Interface3接口为非信任接口但未使能IPSG功能,从Interface3接口收到的报文不会执行IPSG检查,可能存在攻击。
- Interface4接口为用户指定的信任接口,从Interface4接口收到的报文也不会执行IPSG检查,但此接口一般不存在攻击。在DHCP Snooping的场景下,通常把与合法DHCP服务器直接或间接连接的接口设置为信任接口。
IPSG的过滤方式
绑定表项包含:MAC地址、IP地址、VLAN ID、入接口。静态绑定表项中指定的信息均用于IPSG过滤接口收到的报文。而对于动态绑定表,IPSG依据该表项中的哪些信息过滤接口收到的报文,由用户设置的检查项决定,缺省是四项都进行匹配检查。常见的几种检查项如下:
- 基于源IP地址过滤
- 基于源MAC地址过滤
- 基于源IP地址+源MAC地址过滤
- 基于源IP地址+源MAC地址+接口过滤
- 基于源IP地址+源MAC地址+接口+VLAN过滤
IPSG配置命令介绍
(1) 配置静态用户绑定表项:
[Huawei] user-bind static { { { ip-address | ipv6-address } { start-ip [ to end-ip ] } &<1-10> | ipv6-prefix prefix/prefix-length } | mac-address mac-address } * [ interface interface-type interface-number ] [ vlan vlan-id [ ce-vlan ce-vlan-id ] ]
[Huawei] user-bind static { { { ip-address | ipv6-address } { start-ip [ to end-ip ] } &<1-10> | ipv6-prefix prefix/prefix-length } | mac-address mac-address } * [ interface interface-type interface-number ] [ vlan vlan-id [ ce-vlan ce-vlan-id ] ]
(2) 使能IPSG功能:
[Huawei-GigabitEthernet0/0/1] ip source check user-bind enable
使能接口或者VLAN的IP报文检查功能,VLAN视图配置与接口视图一致。
(3) 使能IP报文检查告警功能:
[Huawei-GigabitEthernet0/0/1] ip source check user-bind alarm enable
(4) 配置IP报文检查告警阈值
[Huawei-GigabitEthernet0/0/1] ip source check user-bind alarm threshold threshold
配置了IP报文检查告警功能后,当丢弃的IP报文超过告警阈值时,会产生告警提醒用户。
IPSG配置举例
如图所示:网络终端设备通过手工方式配置静态IP地址统一管理,通过在接入交换机上配置IPSG,防止主机私自更改IP地址非法获取访问网络权限。
- 配置静态绑定表
- 使能IPSG及告警上报功能
Switch1配置如下:
#在接入交换机上配置静态绑定表
[Switch1] user-bind static ip-address 10.1.1.1 mac-address 5489-98C2-1486
[Switch1] user-bind static ip-address 10.1.1.10 mac-address 5489-98AB-22A7
#使能GE0/0/1接口IPSG和IP报文检查告警功能
[Switch1] interface GigabitEthernet 0/0/1
[Switch1-GigabitEthernet0/0/1] ip source check user-bind enable
[Switch1-GigabitEthernet0/0/1] ip source check user-bind alarm enable
[Switch1-GigabitEthernet0/0/1] ip source check user-bind alarm threshold 100
#接口GE0/0/2配置与GE0/0/1类似,此处省略
配置验证在Switch上执行display dhcp static user-bind all命令,可以查看静态绑定表信息。PC1和PC2使用管理员分配的固定IP地址可以正常访问网络,更改IP地址后无法访问网络。