返回列表 回復 發帖

最大限度地避免VLAN虛擬網的弱點

交換機不是被設計用來作安全設備的,其功能仍是以提高網路性能為主。如果要將交換機納入安全機制的一部分,前提是首先要對交換機進行正確的配置,其次交換機的製造商要對交換機軟體的基礎標準有著全面理解並徹底實現了這些標準。  

  如果對網路安全有著嚴格的要求,還是不要使用共用的交換機,應該使用專門的交換機來保證網路安全。如果一定要在不可信的網路和可信的用戶之間共用一個交換機,那麼帶來的只能是安全上的災難。  

  VLAN的確使得將網路業務進行隔離成為可能,這些業務共用同一交換機甚至共用一組交換機。但是交換機的設計者們在把這種隔離功能加入到產品之中時,優先考慮的並不是安全問題。VLAN的工作原理是限制和過濾廣播業務流量,不幸的是,VLAN是依靠軟體和配置機制而不是通過硬體來完成這一任務的。 

  最近幾年,一些防火牆已經成為VLAN設備,這意味著可以制定基於包標籤的規則來使一個數據包轉到特定的VLAN。然而,作為VLAN設備的防火牆也為網頁寄存站點增加了很多靈活的規則,這樣防火牆所依賴的這些標籤在設計時就不是以安全為準則了。交換機之外的設備也可以生成標籤,這些標籤可以被輕易地附加在數據包上用來欺騙防火牆。  

  VLAN的工作原理究竟是怎樣的?VLAN又有著什麼樣的安全性上的優點呢?如果決定使用VLAN作為安全體系的一部分,怎樣才能最大限度地避免VLAN的弱點呢?  

  分區功能  

  “交換機”一詞最早被用來描述這樣一種設備,這種設備將網路業務在被稱之為“端口”的網路介面間進行交換。就在不久以前,局域網的交換機被稱作“橋接器”。現在,即使是與交換機相關的IEEE標準中也不可避免地用到“橋接器”這一術語。  

  橋接器用來連接同一局域網上不同的段,這裏的局域網指的是不需要路由的本地網路。橋接器軟體通過檢測收到數據包中所含的MAC地址來獲悉哪個端口聯接到哪個網路設備。最初,橋接器將所有收到的數據包發送到每個端口,經過一段時間以後,橋接器通過建立生成樹和表的方法獲悉如何將數據包發送到正確的網路介面。這些生成樹和表將MAC地址映射到端口的工作,是通過一些選擇正確網路介面和避免回路的演算法來完成的。通過將數據包發送到正確的網路介面,橋接器減少了網路業務流量。可以將橋接器看作是連接兩條不同道路的高速公路,在高速公路上只通過兩條道路間必要的交通流量。  

  儘管橋接器從整體上減少了網路業務流量,使得網路可以更加高效地運行。橋接器仍然需要對所有端口進行廣播數據包的發送。在任何局域網中,廣播的含義是:一個消息廣播發送給局域網內所有系統。ARP(地址解析協議)包就是廣播資訊的一個例子。  


  隨著端口數目和附加管理軟體數目的增多,橋接器設備的功能變得越來越強。一種新的功能出現了:橋接器具有了分區功能,可被分成多個虛擬橋。當通過這種方式進行分區時,廣播資訊將被限制在與虛擬橋和對應的VLAN的那些端口上,而不是被發送到所有的端口。  

  將廣播限制在一個VLAN中並不能夠阻止一個VLAN中的系統訪問與之連接在同一橋接器而屬於不同VLAN的系統。但要記住,ARP廣播被用來獲得與特定IP對應的MAC地址,而沒有MAC地址,即使在同一網路中的機器也不能相互通信。  

  Cisco網站上描述了在兩種情況下,數據包可以在連接於同一交換機的VLAN中傳送。在第一種情況下,系統在同一VLAN中建立了TCP/IP連接,然後交換機被重新設置,使得一個交換機的端口屬於另一個VLAN。通信仍將繼續,因為通信雙方在自己的ARP緩衝區中都有對方的MAC地址,這樣橋接器知道目的MAC地址指向哪個端口。在第二種情況下,某人希望手動配製VLAN,為要訪問的系統建立靜態ARP項。這要求他知道目標系統的MAC地址,也許需要在物理上直接訪問目標系統。  

  這兩種情況中所描述的問題能夠通過使用交換機軟體來得到改善,這些軟體的功能是消除數據包在傳送時所需要的資訊。在Cisco的高端交換機中,將每個VLAN所存在的生成樹進行分離。其他的交換機要麼具有類似的特點,要麼能被設置成可以對各個VLAN裏的成員的橋接資訊進行過濾。 



  鏈路聚合  

  多個交換機可以通過配製機制和在交換機間交換數據包的標籤來共用同一VLAN。你可以設置一個交換機,使得其中一個端口成為鏈路,在鏈路上可以為任何VLAN傳送數據包。當數據包在交換機之間傳遞時,每個數據包被加上基於802.1Q協議的標籤,802.1Q協議是為在橋接器間傳送數據包而設立的IEEE標準。接收交換機消除數據包的標籤,並將數據包發送到正確的端口,或在數據包是廣播包的情況下發送到正確的VLAN。  

  這些四位元組長的802.1Q被附加在以太網數據包頭中,緊跟在源地址後。前兩個位元組包含81 00,是802.1Q標籤協議類型。後兩個位元組包含一個可能的優先順序,一個標誌和12比特的VID(VLAN Identifier)。VID的取值在0到4095之間,而0和4095都作為保留值。VID的默認值為1,這個值同時也是為VLAN配置的交換機的未指定端口的默認值。  

  根據Cisco交換機的默認配置,鏈路聚合是推薦的配置。如果一個端口發現另一個交換機也連在這個端口上,此端口可以對鏈路聚合進行協商。默認的鏈路端口屬於VLAN1,這個VLAN被稱作該端口的本地VLAN。管理員能夠將鏈路端口指定給任何VLAN。  

  可以通過設置鏈路端口來防止這種VLAN間數據包的傳送,將鏈路端口的本地VLAN設置成不同於其他任何VLAN的VID。記住鏈路端口的默認本地VLAN是VID 1。可以選擇將鏈路端口的本地VLAN設置為1001,或者任何交換機允許的且不被其他任何VLAN所使用的值。  


  防火牆和VLAN  

  知道了交換機如何共用VLAN資訊之後,就可以更準確地評價支持VLAN的防火牆。支持VLAN的防火牆從支持VLAN的交換機那裏獲得頭部帶有802.1Q標籤的數據包,這些標籤將被防火牆展開,然後用來進行安全規則的檢測。儘管到目前為止,我們只討論了以太網的情況,802.1Q標籤同樣適用於其他類型的網路,比如ATM 和FDDI。  

  802.1Q標籤並不能提供身份驗證,它們只不過是交換機用來標誌從特定VLAN來的特定數據包的一種方式。如同許多年來人們偽造IP源地址一樣,VLAN標籤同樣可以被偽造。最新的Linux操作系統帶有對工作於VLAN交換機模式的支持,可以生成本地系統管理員可以選擇的任意VLAN標籤。 

  安全使用802.1Q標籤的關鍵在於設計這樣一種網路:交換機鏈路連接到防火牆介面,而基於VLAN標籤的安全檢測將在防火牆介面進行。如果有其他的線路能夠到達防火牆的介面,偽造VLAN標籤的可能性就會增大。交換機本身必須被正確配置,進行鏈路聚合的鏈路端口要進行特殊配置,然後加入到非默認VID中。  

  在任何關於交換機的討論中,保護對交換機設備的管理權限這一結論是永遠不變的。交換機和其他網路設備一樣可以從三種途徑進行管理:Te.net、HTTP和SNMP。關掉不使用的管理途徑,在所使用的管理途徑上也要加上訪問控制。因為當攻擊者來自網路外部時,防火牆可以控制他對交換機的訪問;當攻擊者來自網路內部或者攻擊者獲得了訪問內部系統的許可權而發起攻擊時,防火牆對此將無能為力。
返回列表