區域網路的架構中,有許多的TCP/IP主機系統在運作,運作過程中ARP(Address Resolution Protocol)協定,在終端主機的通訊上扮演十分關鍵的角色;ARP協定的基本功能,是透過目標裝置的IP位址,動態查詢到動應的MAC位址,以保證通訊能順利進行。
由於ARP協定主要是採用動態的方式運作,容易產生安全性的風險,網路上十分容易找尋到相關的駭客工具程式,例如NetCut軟體。這套軟體會透過ARP協定封包,毒害終端主機系統的ARP Cache,造成終端主機系統ARP Cache內,針對預設閘道產生錯誤的MAC位址對應;一旦終端主機針對預設閘道的MAC對應出現問題,會造成終端主機的系統,無法連結到跨越預設閘道的所有網路,網路連線中斷的問題就會出現。
區域網路中若使用Cisco的Switch進行網路的連結,可以在Switch上啟用DAI (Dynamic ARP Inspection) 的運作機制,防範此種ARP類型的攻擊。換句話說,若在Switch上啟用DAI的防護機制,當終端使用者一旦開始進行ARP毒害的攻擊行為,想要中斷其他使用者的網路連線時,Switch就會主動將攻擊者連接到Switch的網路介面,直接中斷使用,最後的結果是網路上其他使用者的網路連線沒有中斷,反而是攻擊者的主機網路連線會中斷,如此就可確保網路的正常使用。
以下簡單介紹DAI的運作原理與相關設定:
DAI防護機制要能正常運作,前提條件是Switch上必須先建立一張表格,表格內儲存著終端主機系統上IP位址與MAC位址的對應,如此一來,當終端主機系統傳送ARP回應訊息時,Switch可以比對回應訊息內的資訊是否與表格內的記錄一致,若有不一致的狀況,代表有違規的ARP訊息傳遞到Switch,Switch的作業系統就可以主動將發生違規的介面停用,避免合法使用者的網路連線遭到非法使用者中斷。此表格的建立可透過DHCP snooping的機制建立,DHCP snooping可防止非法DHCP Server造成用戶端IP組態資訊不正確的問題,細節可參考恆逸電子報(防堵私自架設DHCP伺服器 http://www.uuu.com.tw/public/content/article/110912tips.htm)。
以下為測試環境與相關指令:
當DHCP用戶端透過DHCP取得合法的IP組態資訊後,Switch即會透過DHCP snooping的機制,建立合法IP位址與合法MAC位址的對應資訊表,可使用以下指令確認:
有了這張對應表,接下來就可以在設備上啟用DAI的防護功能,防止非法的ARP攻擊行為:
若有介面的連線屬於Uplink,而且沒有透過DHCP 取得IP位址的相關對應資訊時,可將這些Uplink的介面設定為Trust介面,避免設備在這些介面上收到ARP資訊時,誤判為非法的ARP流量:
最後筆者嘗試在DHCP Client的主機上使用NetCut軟體,Switch偵測到FastEthernet0/23的介面有非法的ARP流量,馬上將此介面停用,以下為設備上產生的訊息內容:
您可在下列課程中了解更多技巧喔!
相關學習資源
【IINS】CCNA Security認證-建置Cisco網路安全