1. 程式人生 > >局域網ARP攻擊和防護

局域網ARP攻擊和防護

局域網arp攻擊和防護 snooping

1?????? ARP攻擊原理介紹

1)???????? ARP協議的缺陷

ARP協議是建立在信任局域網內所有節點的基礎上的,他的效率很高。但是不安全。它是無狀態的協議。他不會檢查自己是否發過請求包,也不知道自己是否發過請求包。他也不管是否合法的應答,只要收到目標mac地址是自己的ARP reply或者ARP廣播包(包括ARP replyARP request),都會接受並緩存。

2)???????? ARP攻擊原理

ARP欺騙攻擊建立在局域網主機間相互信任的基礎上的當A發廣播詢問:我想知道IP192.168.0.3的硬件地址是多少?

此時B當然會回話:我是IP192.168.0.3我的硬件地址是mac-b,可是此時

IP地址是192.168.0.4C也非法回了:我是IP192.168.0.3,我的硬件地址是mac-c。而且是大量的。

所以A就會誤信192.168.0.3的硬件地址是mac-c,而且動態更新緩存表這樣主機C就劫持了主機A發送給主機B的數據,這就是ARP欺騙的過程。

假如C直接冒充網關,此時主機C會不停的發送ARP欺騙廣播,大聲說:我的IP是192.168..1,我的硬件地址是mac-c,此時局域網內所有主機都被欺騙,更改自己的緩存表,此時C將會監聽到整個局域網發送給互聯網的數據報。

3)???????? ARP攻擊的危害

通過ARP攻擊可以實現中間人攻擊,導致受害者的上網數據都會經過攻擊者,從而受害者的上網數據完全暴露給了攻擊者,哪怕受害者使用

https訪問外部網站,數據同樣可以被攻擊者劫持和查看。

2?????? ARP防護方法

2.1??? 主機層防護

2.1.1? 手工綁定網關IPMAC(方法一)

Windows主機系統下使用“arp –s“命令靜態綁定網關IPMAC地址

arp s 192.168.1.1 AA-AA-AA-AA-AA-AA

此種方法適用於主機使用靜態分配ip的場景。

2.1.2? 在終端電腦安裝ARP防火墻(防火二)

在終端電腦上面安裝ARP防火墻,例如360ARP防火墻等等。

此種方法適用於終端主機以動態獲取IP或靜態分配IP的場景

2.2??? 網絡層(交換機)防護

2.2.1? 交換機MAC地址綁定(方法一)

交換機的每個接入層端口綁定連接的主機的

MAC地址,下面是以思科交換機綁定MAC地址為示例的:

Switchc onfig terminal

#進入配置模式

Switch(config)# Interface fastethernet ? 0/1

#進入具體端口配置模式

Switch(config-if)#Switchport ? port-secruity

#配置端口安全模式

Switch(config-if )switchport ? port-security mac-address MAC(主機的MAC地址)

#配置該端口要綁定的主機的MAC地址

Switch(config-if )no switchport ? port-security mac-address MAC(主機的MAC地址)

#刪除綁定主機的MAC地址

?

此種方法適用於終端主機以動態獲取IP或靜態分配IP的場景

2.2.2? 交換機IP-MAC地址綁定(方法二)

在交換機的接入層端口綁定連接的主機的IP+MAC

2.2.3? 交換機啟用DHCP snooping(方法三)

一、采用DHCP服務的常見問題

架設DHCP服務器可以為客戶端自動分配IP地址、掩碼、默認網關、DNS服務器等網絡參數,簡化了網絡配置,提高了管理效率。但在DHCP服務的管理上存在一些問題,常見的有:

DHCP Server的冒充

?? DHCP ServerDOS攻擊,如DHCP耗竭攻擊

?? 某些用戶隨便指定IP地址,造成IP地址沖突

?

1DHCP Server的冒充

由於DHCP服務器和客戶端之間沒有認證機制,所以如果在網絡上隨意添加一臺DHCP服務器,它就可以為客戶端分配IP地址以及其他網絡參數。只要讓該DHCP服務器分配錯誤的IP地址和其他網絡參數,那就會對網絡造成非常大的危害。

?

2DHCP Server的拒絕服務攻擊?

通常DHCP服務器通過檢查客戶端發送的DHCP請求報文中的CHADDR(也就是Client MAC address)字段來判斷客戶端的MAC地址。正常情況下該CHADDR字段和發送請求報文的客戶端真實的MAC地址是相同的。攻擊者可以利用偽造MAC的方式發送DHCP請求,但這種攻擊可以使用Cisco 交換機的端口安全特性來防止。端口安全特性(Port Security)可以限制每個端口只使用唯一的MAC地址。但是如果攻擊者不修改DHCP請求報文的源MAC地址,而是修改DHCP報文中的CHADDR字段來實施攻擊,那端口安全就不起作用了。由於DHCP服務器認為不同的CHADDR值表示請求來自不同的客戶端,所以攻擊者可以通過大量發送偽造CHADDRDHCP請求,導致DHCP服務器上的地址池被耗盡,從而無法為其他正常用戶提供網絡地址,這是一種DHCP耗竭攻擊。DHCP耗竭攻擊可以是純粹的DOS攻擊,也可以與偽造的DHCP服務器配合使用。當正常的DHCP服務器癱瘓時,攻擊者就可以建立偽造的DHCP服務器來為局域網中的客戶端提供地址,使它們將信息轉發給準備截取的惡意計算機。甚至即使DHCP請求報文的源MAC地址和CHADDR字段都是正確的,但由於DHCP請求報文是廣播報文,如果大量發送的話也會耗盡網絡帶寬,形成另一種拒絕服務攻擊。

?

3、客戶端隨意指定IP地址

客戶端並非一定要使用DHCP服務,它可以通過靜態指定的方式來設置IP地址。如果隨便指定的話,將會大大提高網絡IP地址沖突的可能性。

?

二、DHCP Snooping技術介紹

DHCP監聽(DHCP Snooping)是一種DHCP安全特性。Cisco交換機支持在每個VLAN基礎上啟用DHCP監聽特性。通過這種特性,交換機能夠攔截第二層VLAN域內的所有DHCP報文。

DHCP監聽將交換機端口劃分為兩類:

? ●非信任端口:通常為連接終端設備的端口,如PC,網絡打印機等

? ●信任端口:連接合法DHCP服務器的端口或者連接匯聚交換機的上行端口

?

通過開啟DHCP監聽特性,交換機限制用戶端口(非信任端口)只能夠發送DHCP請求,丟棄來自用戶端口的所有其它DHCP報文,例如DHCP Offer報文等。而且,並非所有來自用戶端口的DHCP請求都被允許通過,交換機還會比較DHCP 請求報文的(報文頭裏的)源MAC地址和(報文內容裏的)DHCP客戶機的硬件地址(即CHADDR字段),只有這兩者相同的請求報文才會被轉發,否則將被丟棄。這樣就防止了DHCP耗竭攻擊。

信任端口可以接收所有的DHCP報文。通過只將交換機連接到合法DHCP服務器的端口設置為信任端口,其他端口設置為非信任端口,就可以防止用戶偽造DHCP服務器來攻擊網絡。DHCP監聽特性還可以對端口的DHCP報文進行限速。通過在每個非信任端口下進行限速,將可以阻止合法DHCP請求報文的廣播攻擊。

DHCP監聽還有一個非常重要的作用就是建立一張DHCP監聽綁定表(DHCP Snooping Binding)。一旦一個連接在非信任端口的客戶端獲得一個合法的DHCP Offer,交換機就會自動在DHCP監聽綁定表裏添加一個綁定條目,內容包括了該非信任端口的客戶端IP地址、MAC地址、端口號、VLAN編號、租期等信息。

Switch#show ip dhcp snooping binding
? MacAddress
?
? IpAddress
?
? Lease(sec) Type
?
? VLAN
?
? Interface
? ------------------ --------------- ---------- ------------- -----------
? 00:0F:1F:C5:10:08 192.168.10.131 682463 dhcp-snooping 10 FastEthernet0/1

這張DHCP監聽綁定表為進一步部署IP源防護(IPSG)和動態ARP檢測(DAI)提供了依據。說明:

?

2? 非信任端口只允許客戶端的DHCP請求報文通過,這裏只是相對於DHCP報文來說的。其他非DHCP報文還是可以正常轉發的。這就表示客戶端可以以靜態指定IP地址的方式通過非信任端口接入網絡。由於靜態客戶端不會發送DHCP報文,所以DHCP監聽綁定表裏也不會有該靜態客戶端的記錄。

?

2? 信任端口的客戶端信息不會被記錄到DHCP監聽綁定表裏。如果有一客戶端連接到了一個信任端口,即使它是通過正常的DHCP方式獲得IP地址,DHCP監聽綁定表裏也不有該客戶端的記錄。如果要求客戶端只能以動態獲得IP的方式接入網絡,則必須借助於IPSGDAI技術。

?

2? 交換機為了獲得高速轉發,通常只檢查報文的二層幀頭,獲得目標MAC地址後直接轉發,不會去檢查報文的內容。而DHCP監聽本質上就是開啟交換機對DHCP報文的內容部分的檢查,DHCP報文不再只是被檢查幀頭了。

?

2? DHCP監聽綁定表不僅用於防禦DHCP攻擊,還為後續的IPSGDAI技術提供動態數據庫支持。

?

三、DHCP SnoopingARP探測的關系

?

ARP 探測就是對經過設備的所有ARP 報文進行檢查,DHCP Snooping需要提供數據庫信息供 ARP 探測使用,在開啟DAI 功能的設備上,當收到ARP報文時,DAI 模塊就根據報文查詢DHCP snooping的綁定數據庫,只有當收到得ARP 報文得macip 和端口信息都匹配時才認為收到的ARP 報文是合法的,才進行相關的學習和轉發操作,否則丟棄該報文。

?

?

參考資料:

http://bbs.51cto.com/thread-1116776-1-1.html


局域網ARP攻擊和防護