揭秘乙太網路安全技術:IPSG如何保護你的網路世界?

2023.10.04

揭秘乙太網路安全技術:IPSG如何保護你的網路世界?

隨著網路規模越來越大,透過偽造來源IP地址實施的網路攻擊(簡稱IP地址欺騙攻擊)也逐漸增加。IPSG針對IP位址欺騙攻擊提供了一種防禦機制,可有效阻止此類網路攻擊行為。

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 ] ]
  • 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 ] ]
  • 1.

(2) 使能IPSG功能:

[Huawei-GigabitEthernet0/0/1] ip source check user-bind enable
  • 1.

啟用介面或VLAN的IP封包檢查功能,VLAN視圖配置與介面視圖一致。

(3) 使能IP訊息檢查警告功能:

[Huawei-GigabitEthernet0/0/1] ip source check user-bind alarm enable
  • 1.

(4) 設定IP訊息檢查警告閾值

[Huawei-GigabitEthernet0/0/1] ip source check user-bind alarm threshold threshold
  • 1.

配置了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类似,此处省略
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

配置驗證在Switch上執行display dhcp static user-bind all指令,可以查看靜態綁定表資訊。PC1和PC2使用管理員指派的固定IP位址可以正常存取網絡,變更IP位址後無法存取網路。