揭秘以太網(wǎng)安全技術(shù):IPSG如何保護你的網(wǎng)絡(luò)世界?
IPSG簡介
1.定義
IP源防攻擊IPSG(IP Source Guard)是一種基于二層接口的源IP地址過濾技術(shù),它能夠防止惡意主機偽造合法主機的IP地址來仿冒合法主機,還能確保非授權(quán)主機不能通過自己指定IP地址的方式來訪問網(wǎng)絡(luò)或攻擊網(wǎng)絡(luò)。
2.目的
隨著網(wǎng)絡(luò)規(guī)模越來越大,通過偽造源IP地址實施的網(wǎng)絡(luò)攻擊(簡稱IP地址欺騙攻擊)也逐漸增多。一些攻擊者通過偽造合法用戶的IP地址獲取網(wǎng)絡(luò)訪問權(quán)限,非法訪問網(wǎng)絡(luò),甚至造成合法用戶無法訪問網(wǎng)絡(luò),或者信息泄露。IPSG針對IP地址欺騙攻擊提供了一種防御機制,可以有效阻止此類網(wǎng)絡(luò)攻擊行為。
一個典型的利用IPSG防攻擊的示例如下圖所示,非法主機偽造合法主機的IP地址獲取上網(wǎng)權(quán)限。此時,通過在Device的用戶側(cè)的接口或VLAN上部署IPSG功能,Device可以對進入接口的IP報文進行檢查,丟棄非法主機的報文,從而阻止此類攻擊。
IPSG典型防攻擊
IPSG的基本原理
IPSG利用綁定表(源IP地址、源MAC地址、所屬VLAN、入接口的綁定關(guān)系)去匹配檢查二層接口上收到的IP報文,只有匹配綁定表的報文才允許通過,其他報文將被丟棄。
綁定表如下表所示,包括靜態(tài)和動態(tài)兩種。
綁定表生成后,IPSG基于綁定表向指定的接口或者指定的VLAN下發(fā)ACL,由該ACL來匹配檢查所有IP報文。主機發(fā)送的報文,只有匹配綁定表才會允許通過,不匹配綁定表的報文都將被丟棄。當綁定表信息變化時,設(shè)備會重新下發(fā)ACL。缺省情況下,如果在沒有綁定表的情況下使能了IPSG,設(shè)備會允許除IGMP協(xié)議報文外的IP協(xié)議報文通過,但是會拒絕所有的IP數(shù)據(jù)報文通過。
IPSG一般應用在用戶側(cè)的接入設(shè)備上,可以基于接口或者基于VLAN應用。
- 在用戶側(cè)的接口上應用IPSG,該接口接收的所有IP報文均進行IPSG檢查。
- 在用戶側(cè)的VLAN上應用IPSG,屬于該VLAN的所有接口接收到IP報文均進行IPSG檢查。
- 如果用戶側(cè)的接入設(shè)備不支持IPSG功能,也可以在上層設(shè)備的接口或者VLAN上應用IPSG。
IPSG中的接口角色
IPSG僅支持在二層物理接口或者VLAN上應用,且只對使能了IPSG功能的非信任接口進行檢查。對于IPSG來說,缺省所有的接口均為非信任接口,信任接口由用戶指定。IPSG的信任接口/非信任接口也就是DHCP Snooping中的信任接口/非信任接口,信任接口/非信任接口同樣適用于基于靜態(tài)綁定表方式的IPSG。
IPSG中各接口角色如下圖所示。其中:
- Interface1和Interface2接口為非信任接口且使能IPSG功能,從Interface1和Interface2接口收到的報文會執(zhí)行IPSG檢查。
- Interface3接口為非信任接口但未使能IPSG功能,從Interface3接口收到的報文不會執(zhí)行IPSG檢查,可能存在攻擊。
- Interface4接口為用戶指定的信任接口,從Interface4接口收到的報文也不會執(zhí)行IPSG檢查,但此接口一般不存在攻擊。在DHCP Snooping的場景下,通常把與合法DHCP服務器直接或間接連接的接口設(shè)置為信任接口。
IPSG的過濾方式
綁定表項包含:MAC地址、IP地址、VLAN ID、入接口。靜態(tài)綁定表項中指定的信息均用于IPSG過濾接口收到的報文。而對于動態(tài)綁定表,IPSG依據(jù)該表項中的哪些信息過濾接口收到的報文,由用戶設(shè)置的檢查項決定,缺省是四項都進行匹配檢查。常見的幾種檢查項如下:
- 基于源IP地址過濾
- 基于源MAC地址過濾
- 基于源IP地址+源MAC地址過濾
- 基于源IP地址+源MAC地址+接口過濾
- 基于源IP地址+源MAC地址+接口+VLAN過濾
IPSG配置命令介紹
(1) 配置靜態(tài)用戶綁定表項:
[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報文超過告警閾值時,會產(chǎn)生告警提醒用戶。
IPSG配置舉例
如圖所示:網(wǎng)絡(luò)終端設(shè)備通過手工方式配置靜態(tài)IP地址統(tǒng)一管理,通過在接入交換機上配置IPSG,防止主機私自更改IP地址非法獲取訪問網(wǎng)絡(luò)權(quán)限。
- 配置靜態(tài)綁定表
- 使能IPSG及告警上報功能
Switch1配置如下:
#在接入交換機上配置靜態(tài)綁定表
[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上執(zhí)行display dhcp static user-bind all命令,可以查看靜態(tài)綁定表信息。PC1和PC2使用管理員分配的固定IP地址可以正常訪問網(wǎng)絡(luò),更改IP地址后無法訪問網(wǎng)絡(luò)。