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