昨日,被Call去協助除錯,基於數種理由沒能很快查出,過程是蠻有變化的。
通常業界,會面臨上下遊設備分權,終端可以是系統組,中間是網路組,上層是防火牆,這造成一件事情,網路狀況在排除時,可能沒有辦法很好的自由地排查。
看不見User怎麼設定,會不會讓網路出狀況?這一直都是網路安全最一開始的部分。
這篇文章將會以不同於網路介紹文章,用更「務實」的角度去敘述。
除錯過程
第一步是確認狀況影響範圍與特徵,何時開始?範圍多大?藉此先訂出一個範圍。詢問是很重要的,歸類也是很重要的。這一步我有點疏忽,沒有確認的詳細。
第二步是縮小範圍,這時候會有很多假說,必須要能解釋得通,如果第一步沒有瞭解很多,這一步就會產生許多可能假說。確定一個假說時,我會從範圍的中心點設備去調查,藉此做到一半面積的縮減。
第三步使用排查工具,這一步我拿之前的進階指令去調查,碰上路由與防火牆沒能讓錄包導出順利,然後即時改良。我覺得靈機應變能力很重要,會越多方法與工具就能更靈活,然後得出的驗證結果又能給第一步增加更多訊息,不過反覆,直到驗證假說。
回到現況。
一開始,先用ping去確認,將跨網路的不通,切半,確定在同網段就已經不通。
由於先前發生介面Error與模組異常,這次先看相關訊息,結果是無異常。
透過選定中間的交換器,錄包,結果狀況發生時,依舊有去有回,沒有掉包。※符合介面無異常計數增加
因為錄包,連同正常路徑從哪裡到哪裡是通都確認了,不過遇到錄包方法限制(無法使用在lag介面)就沒有辦法再用這招排除。
換個更基礎的,看mac address table去確認封包會往哪裡走,結果發現不是往上行鏈路走。
確認不是預期GatewayIP的MAC,於是使用mac address table追查,終於找到元兇。
關掉之後,狀況就消失了。
反思
這個案例,我回想到遙遠的過去,IP衝突該怎麼辦?現在的我可以說得更多更多。
其實IP衝突是可以被偵測的,在Aruba、Cisco、HPE網路交換器都能偵測到,然後跳出LOG。
但前提是,IP衝突到的IP要是這些網路交換器身上的IP,如果Client衝突Client或是Client衝突GatewayIP,網路交換器是不會跳出錯誤。
Firewall設備應該也要有這樣的功能,像是Fortigate就要7.4.8或是7.6版本以上才有此功能。如果在FW上看到此LOG,我覺得可能數分鐘就知道,然後很快就解決了。
不過網路除錯是很專業的,若沒有任何專業知識支持,可能想不到其因果。雲端分析終究是專業判讀的智慧結晶,也可能碰到沒有分析甚至是網管收錄的環境,學進去深刻理解才是好方法。
雲端能提供一個優勢,就是分析與收錄,即便有些沒辦法給出一擊斃命的解決辦法,但是至少能幫助我們定位影響範圍與時間。
總之,我重新思考並且再次理解。
ARP攻擊
IP衝突與ARP攻擊有什麼關聯?
如果是Client與Client的一對一衝突,影響不會那麼大,頂多就兩個設備怪怪。
但是如果Client使用到同網段的GatewayIP作為IP,就會影響整個網段的跨網段流量,一堆設備出現連線狀況,不定時,無法預期,時間可長可短。
這在網路安全來說,這能算得上是ARP攻擊,能讓所有跨網段流量往不小心使用到GatewayIP的設備過去,就能進一步使用中間人攻擊。
同網段的設備網路都不定時怪怪,然後火氣會上來。
ARP偽造解決手段
ARP Inspection
這是網路上常見的手段,BUT,這是好手段嗎?
所需要的條件如下:
- 有台DHCP Server去發放IP
- DHCP Snooping
- 全部Client需要透過DHCP取得IP
- DHCP Snooping上要有紀錄
很多時候是難於第三點,有些設備會使用手動設定IP,這些設備可能有固定IP的需求,但要固定DHCP取得IP是一個功夫。網管人員跟使用者往往不同單位,要改動是個行政影響,這可能要花很多時間溝通,也會造成更多的行政流程要跑。
講白,要納入管理就要額外多工做量。
另外是第四點,若DHCP Snooping還沒運作一陣子,直接DHCP Snooping與ARP Inspection一起開,就會直接使已經拿到DHCP IP但沒被紀錄的Client當成非法ARP。
因此還需要先用DHCP Snooping跑一個租期,才能順利銜接ARP Inspection。
交換器量體也是一個考量,如果一路介接的交換器又遇到有兩個組別,例如Server所接的交換器是系統組管理。這個手段,可能就沒有那麼容易實踐。
Detect IP Conflict
我認為這是最經濟、實惠、簡易、直接的手段。
如果IP被衝突到,尤其是Gateway IP的設備,直接跳Log,然後拋到網管軟體,觸發告警發送通知。
將能在最短時間內,用最少功夫,就能讓網管人員知道狀況。
通常一般辦公室使用者都用DHCP IP,因此,很少去手動設定IP。
不過研發單位可能因為自身需求去手動設定IP,一般來說這樣的使用者是比較具有網路知識,也不太會把IP設定成Gateway IP,但還是有可能在。
ARP Inspection要具備的條件與工作量多,又會加重日常工作量。
被ARP偽造GatewayIP只會影響該網段設備,如果第一時間跳出告警,這也能給網管人員迅速的排查手段,整體個工作量與負擔也許是相對利益最優解。
東西向防火牆與微分割
最近剛好做這個LAB。
微分割透過Private VLAN與Local-Proxy-ARP:
Private VLAN讓同VLAN的設備無法直接互通,需要往上游Primary VLAN去進行溝通。
Local-Proxy-ARP讓該網段的設備看其他同網段設備時,MAC全部都是L3設備的MAC,意思即流量會由L3設備進行同網段轉送。
因此兩個搭配起來,即便有個Endpoint使用Gateway IP,ARP優先度仍會以L3設備的優先,因為ARP請求的傳遞路徑是先到L3設備上,然後才會到ARP偽造設備。
搭配東西向防火牆可以做到更進階存取限制,藉此達到同網段同VLAN的流量可以被防火牆政策管控到。
不過此架構會有侷限性,微分割可能會讓備援(以MAC為主)出現狀況。
通常使用東西向防火牆是非常不信任的環境,當然,工作量也是非常大的。
混搭式的方案
隨著資安意識與手段提升,人力資源越來越不足,要推動更嚴格的管理方式都需要人力、時間、磨合,這意味著我們沒辦法什麼都要,都能去做。
對於未知越害怕,做越多的手段預防,就要付出更多維運負擔。
簡化網路管理是雲端平臺的訴求,能夠減少維運負擔才是比較正確的選擇。
對於重大服務,例如DNS、AD、DHCP等,這些都是Static IP,因此並不適用ARP Inspection,但是GatewayIP被ARP偽造卻是傷害力最強的。因此可用Detect IP Conflict、東西向防火牆與微分割。
對於一般使用者,進行網路存取驗證,相信我,他們只管連上後能不能用網路,能用就不會亂搞,連不上才會有意見。
如果無法對一般使用者進行網路存取驗證,就可以進一步使用DHCP Snooping。
研發單位是最聰明最勇於嘗試的,他們會想不受管控接一些設備,建議還是管控起來,尤其是他們的網路設備,建議還是做網路存取認證。如果要彈性,就要做到底ARP Inspection,甚至是切割成多個互不干擾的內網。
如果搭配ClearPass,是可以MAC Auth並且全數過,然後進行設備指紋辨識,若是網路設備則讓該裝置拒絕連線,其餘裝置正常使用。
※設備如果被辨識到為AP、Router、Switch就在研發區的交換器上會被認證拒絕。

※ClearPass也可以從MAC Vendor判斷,也可以把常用的網路品牌都鎖起來不給接入企業網路。

後記
關於除錯如何進行還是ARP偽造,我覺得都可以放網路除錯課程。
不過工作實在沒有給我大多時間可以撰寫,新事物探索跟新專案總是無窮無盡。
若能為了讓新人可以多點工具與知識,減少他們的工作壓力,這一塊我覺得還是應該要去做的。
希望今年可以寫出造出一堂夠簡單好上手的網路除錯課程。