DHCP Snooping是啥?
DHCP Snooping是DHCP的一種安全特性,用來保證DHCP客戶端能夠正確的從DHCP服務器獲取IP地址,防止網絡中針對DHCP的攻擊。
DHCP Snooping是如何防止DHCP攻擊的呢?
DHCP,動態主機配置協議,在IPv4網絡中為客戶端動態分配IP地址,采用客戶端/服務器通信模式,由客戶端(DHCP Client)向服務器(DHCP Server)提出申請,服務器返回為客戶端分配的IP信息,包括IP地址、缺省網關、DNS Server等參數。
DHCP組網中包括以下兩種角色:
- DHCP客戶端(DHCP Client):通過DHCP協議請求獲取IP地址的設備,如IP電話、PC等。
- DHCP服務器(DHCP Server):負責為DHCP客戶端分配IP地址的設備。
DHCP常見攻擊方式
DHCP Server仿冒攻擊:非法用戶通過仿冒DHCP Server,為客戶端分配錯誤的IP地址,導致客戶端無法正常接入網絡。
DHCP報文仿冒攻擊:
1、已獲取到IP地址的合法用戶通過向服務器發送DHCP Request報文用以續租IP地址。非法用戶冒充合法用戶不斷向DHCP Server發送DHCP Request報文來續租IP地址,導致到期的IP地址無法正常回收,新的合法用戶不能再獲得IP地址。
2、已獲取到IP地址的合法用戶通過向服務器發送DHCP Release報文用以釋放IP地址。非法用戶仿冒合法用戶向DHCP Server發送DHCP Release報文,使合法用戶異常下線。
DHCP報文泛洪攻擊:
非法用戶在短時間內發送大量DHCP報文,使DHCP Server無法正常處理報文,從而無法為客戶端分配IP地址。
DHCP Server拒絕服務攻擊
1、非法用戶通過惡意申請IP地址,使DHCP服務器中的IP地址快速耗盡,無法為合法用戶再分配IP地址
2、DHCP Server通常僅根據DHCP Request報文中的CHADDR(Client Hardware Address)字段來確認客戶端的mac地址。非法用戶通過不斷改變CHADDR字段向DHCP Server申請IP地址,使DHCP服務器中的IP地址快速耗盡,無法為合法用戶再分配IP地址。
DHCP Snooping針對不同的DHCP攻擊方式提供相應的防御方法,其一般配置在接入交換機上。
DHCP Server仿冒攻擊
配置接入交換機與DHCP Server相連的接口為信任接口,只有信任接口能夠接收和轉發DHCP報文。
DHCP報文仿冒攻擊
在DHCP Server為客戶端分配IP地址過程中,根據DHCP報文生成DHCP Snooping綁定表,該綁定表記錄MAC地址、IP地址、租約時間、VLAN ID、接口等信息,然后通過DHCP報文與綁定表的合法性檢查,丟棄非法報文,防止DHCP報文仿冒攻擊。
DHCP報文泛洪攻擊
限制DHCP報文上送CPU的速率。
DHCP Server拒絕服務攻擊
1、通過限制DHCP Snooping綁定表的個數,限制用戶接入數。當用戶數達到指定值時,任何用戶將無法通過此接口申請到IP地址。
2、通過檢查DHCP Request報文幀頭MAC與DHCP數據區中CHADDR字段的一致性,丟棄不一致的報文,防止非法用戶攻擊。
DHCP Snooping的各種防御方法應該怎么配置呢?
DHCP PC1和DHCP PC2通過SwitchA向DHCP Server申請IP地址。通過在SwitchA上配置DHCP Snooping功能,防止以下類型的攻擊:
- DHCP Server仿冒攻擊
- DHCP報文仿冒攻擊
- DHCP報文泛洪攻擊
- DHCP Server拒絕服務攻擊、
S交換機的配置方法如下:
1、全局和接口下使能DHCP Snooping功能。
[SwitchA] dhcp enable //需要先全局使能DHCP功能 [SwitchA] dhcp snooping enable [SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] dhcp snooping enable [SwitchA-GigabitEthernet0/0/1] quit [SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] dhcp snooping enable [SwitchA-GigabitEthernet0/0/2] quit
2、連接DHCP Server的接口配置為信任接口,防止DHCP Server仿冒者攻擊。
[SwitchA] interface gigabitethernet 0/0/4 [SwitchA-GigabitEthernet0/0/4] dhcp snooping enable [SwitchA-GigabitEthernet0/0/4] dhcp snooping trusted [SwitchA-GigabitEthernet0/0/4] quit
3、DHCP報文與綁定表的合法性檢查,防止DHCP報文仿冒攻擊。
[SwitchA] dhcp enable [SwitchA] dhcp snooping check dhcp-request enable vlan 10 //對VLAN 10內的用戶進行合法性檢查
4、限制DHCP報文上送CPU的個數,防止DHCP報文泛洪攻擊。
[SwitchA] dhcp snooping check dhcp-rate enable //使能對DHCP報文上送CPU的速率檢測功能 [SwitchA] dhcp snooping check dhcp-rate 90 //每秒最多處理90個DHCP報文
5、配置DHCP Snooping綁定表個數和DHCP Request報文幀頭源MAC地址與CHADDR字段一致性檢查功能,防止DHCP Server拒絕服務攻擊。
[SwitchA] dhcp snooping max-user-number 2 vlan 10 //配置VLAN 10內只允許兩個用戶接入 [SwitchA] dhcp snooping check dhcp-chaddr enable vlan 10