前幾天我們看到了 Layer 1 實體層的安全問題與實作
而今天我們將會看到下一層 Layer 2 連結層的一些常見的協定安全問題
Layer 2 是掌管 IP 底下的連結,通常不外乎與實體傳輸密切相關,像是網路拓樸結構探測
或者是與 IP 配發有關
比較常見的 L2 協定有以下一些
現在在 Ethernet 協定上,基本是以 MAC Address (Media Access Control Address) 作為識別位置,再用這個位置來轉發封包
與之前介紹的 IP 封包轉發類似,不同的點在於 L2 轉發使用的是 MAC Address 而非 IP Address
大部分的 L2 轉發都局限於區域,或者是兩條線之間
舉例來說,像是家庭使用的小型網路,或者跨建築的光纖,甚至是跨海的海纜,L2 轉發「基本」不會超過起點裝置太多設備
有一些例外像是 L2VPN、MPLS EVPN 等
我們今天會先來介紹一下這些常見的 L2 通訊協定
相信 DHCP 大家都耳熟能詳,DHCP 是在終端設備尚未拿到 IP 時的協議提升協議
當一台電腦尚未設定 IP 時,基本上都會發出 DHCP 請求的 L2 廣播封包
當這個廣播封包被 DHCP 伺服器(通常為 Router)接收到的時候,就會從 DHCP 伺服器那裏獲得一個 IP
讓電腦可以使用 L3,也就是 IP 協議來通訊
為什麼把這兩個放在一起講呢?
主要是因為這兩個協定都是設備探測協議,可以偵測到線的另一端接的是甚麼樣的設備、韌體版本、廠牌等其他資訊
兩者的全名如下:
LLDP: Link Layer Discovery Protocol
CDP: Cisco Discovery Protocol
這兩個主要差別在於 CDP 一開始是由 Cisco 這家網路設備大廠所自己開發出來的協議
但現在基本上兩個都有設備在用,許多設備也同時支援兩種協定
ARP 與 DHCP 很相似,DHCP 是在獲得獲得 IP 前使用 L2 來獲得 L3 資訊
而 ARP 恰好反過來,是由 IP 資訊獲得別台電腦的 L2 位置等
當一台電腦想要連結同個區域網路底下的設備時,因為不想經過路由器而造成路由器負擔,所以會採用直接將封包傳送給該目的地設備的方式。
但在傳輸時需要對方的 MAC 位置,才能讓較低階的設備準確的轉送封包(如 L2 Switch)
這時候就會先透過 ARP 這個協定,傳送一個廣播的 ARP Request 向周邊電腦詢問說誰持有目的地 IP
藉此就可以獲得該 IP 所對應的 MAC Address,再傳送想傳送的封包,這樣可以避免資料因為不確定目的地而被廣播送到周邊每一台上
STP 全名為 Spanning Tree Protocol,中文叫生成樹協定,主要用來避免網路拓樸產生環狀結構(Loop)
網路中產生環狀結構時容易造成廣播風暴(Broadcast radiation、Broadcast Storm)
這個協定可以探測出網路的實體接線,並找出一個不會產生環狀結構的網路拓樸
VLAN(Virtual LAN),普遍使用程度也相當高,主要用途為將不同的 L2 網路隔開
兩台交換器之間也可以透過 VLAN Trunk 讓兩台上所設定的同 VLAN 互相溝通
首先,上面這些協定都是建立在相信區網設備的前提上所建立的
基本上預設沒有什麼安全機制,所以當使用這些協定時,往往需要特別注意安全性上的考量
比起以往單純的網路環境,在移動裝置數量日漸增長的狀況下
我們更需要注意未知與未受信任的設備進入網路之中
在這個系列中,我們將會講解與實作較多的 L2 協定攻擊
當然,L2 問題與攻擊遠不止這些,由此可見 L2 攻擊是常見且常被忽略的一環
L2 連結層攻擊也可以做到前面 L1 做到的 DoS、Sniffing,且因為不用接觸到實體
常常十分難被發現,唯一防治的方法為在一開始設定網路設備時就考量到這些安全因素
Layer 2 連結層的安全常常都是被忽略的一環,像筆者在外部公司常常發現這樣的情況
希望能有更多人認真的來重視這塊
從學習基礎網路的設定時,也應一併學習這些知識,才能營造出一個更好的網路環境與體驗
設定網路,不是只要會通就好,還要兼顧穩定性與安全性
今天的文章就到這邊,希望大家有學到東西,謝謝
感謝大大分享~~L2真的很多人忽略,很多人ping 192.168.1.87就很開心沒人用這IP,然後設上去就IP重複....
大學宿舍常見狀況(O
感覺學校很難管理
交大的宿舍真的做得很好
一個網路孔就是綁一個 IP
還有 DHCP 免去學生手設的麻煩我每天都在聽隔壁校的抱怨他們宿網又炸了
DHCP+GPO鎖住不能改IP,不然還是會有手賤的學生XD
學生自己的設備不能上 GPO 啦
然後是根據網孔的
顯然有做 ACL
手動改 IP 會直接不通
嗯嗯...ACL可以綁網孔IP,這我就不知了~以前公司有用個設備,沒設定的PORT會分配同網段某個mac address,那時看mac address table嚇一跳一整排相同的macaddress