網路分層模型回顧:OSI 七層模型 🌐
在深入討論 Layer 7 和 Layer 3 阻擋之前,我們先快速回顧一下 OSI (Open Systems Interconnection) 七層模型。這個模型將網路通訊過程劃分為七個抽象層次,每個層次都有其特定的功能和協定。理解它,能幫助我們釐清不同網路設備和安全手段的作用層級。
簡化來看:
- Layer 7 (應用層 - Application Layer): 最靠近用戶的層次。處理應用程式之間的通訊,例如 HTTP (網頁瀏覽)、FTP (檔案傳輸)、SMTP (電子郵件)。
- Layer 6 (表達層 - Presentation Layer): 數據格式轉換、加密、壓縮。
- Layer 5 (會話層 - Session Layer): 管理應用程式之間的會話建立、維護與終止。
- Layer 4 (傳輸層 - Transport Layer): 處理端到端的數據傳輸,例如 TCP (可靠傳輸) 和 UDP (不可靠傳輸)。
- Layer 3 (網路層 - Network Layer): 處理數據包的路由和尋址,即 IP (網際網路協定)。
- Layer 2 (資料鏈路層 - Data Link Layer): 處理區域網路內的數據幀傳輸,例如乙太網路。
- Layer 1 (實體層 - Physical Layer): 處理數據的物理傳輸,例如網線、光纖。
1. Layer 3 (網路層) 阻擋手段 🧱
Layer 3 阻擋主要是在 OSI 模型的網路層進行,這個層級的防禦手段主要基於 IP 位址 和協定類型來判斷和阻擋流量。它就像一個粗獷的「路障」,只看車牌(IP 位址)和車型(協定),不看車上裝了什麼貨物(內容)。- 判斷依據: 主要是來源 IP 位址、目的 IP 位址、以及協定類型 (如 TCP, UDP, ICMP)。
- 阻擋方式:
- ACL (Access Control List - 存取控制列表):
- 說明: 在路由器或防火牆上設定的一組規則,用於過濾進出網路的流量。你可以指定允許或拒絕哪些來源 IP 到達哪些目的 IP,或是允許/拒絕特定協定(如只允許 HTTP 流量)。
- 範例: 「拒絕所有來自 1.2.3.4 這個 IP 的流量進入我的網路」或「只允許 80 埠 (HTTP) 和 443 埠 (HTTPS) 的流量通過」。
- 黑名單/白名單 (Blacklisting/Whitelisting):
- 說明: 維護一份已知惡意 IP 或被允許 IP 的清單。防火牆或其他安全設備會根據這份清單直接阻擋或允許流量。
- 應用: 阻擋來自特定國家或已知攻擊來源 IP 的流量(如我們之前討論的綠盟黑名單,或 IPS 中的 IP 情資資料庫)。
- 基於 IP 的速率限制 (IP-based Rate Limiting):
- 說明: 限制來自單一 IP 位址在特定時間內的連接數或請求數。例如,某個 IP 在一秒內發起超過 100 個新連接,就暫時阻擋它。
- 應用: 防禦低層次的 DDoS 攻擊(如 SYN Flood),或防止自動化腳本頻繁掃描。
- 優點:
- 效率高、速度快: 由於只看 IP 和協定,不解析內容,處理速度非常快,對網路效能影響小。
- 阻擋範圍廣: 可以在很早的階段就阻擋大量惡意流量,避免它們進入後端系統。
- 防禦 DDoS: 對於 SYN Flood、UDP Flood 等基於網路層的 DDoS 攻擊非常有效。
- 缺點:
- 盲點: 無法識別應用程式層的攻擊,因為它不檢查封包的「內容」。例如,它無法分辨一個 HTTP 請求是正常的網頁瀏覽還是惡意的 SQL 注入。
- 誤判可能: 粗暴地阻擋 IP 可能會影響到共享 IP 的合法用戶。
- 缺乏彈性: 只能進行簡單的阻擋,無法針對複雜的攻擊模式進行精細化防禦。
2. Layer 7 (應用層) 阻擋手段 🛡️
Layer 7 阻擋主要在 OSI 模型的應用層進行。這個層級的防禦手段能深入解析封包的內容,理解應用程式協定(如 HTTP、HTTPS)的具體語義,並根據請求的「行為」和「內容」來判斷和阻擋。它就像一個智慧型「海關」,會拆開包裹檢查裡面裝了什麼,以及貨物的來源和目的地是否合法。
- 判斷依據:
- HTTP/HTTPS 請求的內容: URL 路徑、HTTP 方法 (GET, POST)、請求參數、HTTP Header、Cookie、POST 數據等。
- 應用程式行為模式: 用戶的請求序列、頻率、異常行為等。
- 攻擊特徵碼: 已知應用層攻擊的特定模式(如 SQL 注入語法、XSS 腳本)。
- 阻擋方式:
- WAF (Web Application Firewall - 網頁應用程式防火牆):
- 說明: WAF 是最典型的 Layer 7 防禦工具。它部署在 Web 應用程式前,檢查所有進出的 HTTP/HTTPS 流量,偵測並阻擋應用程式層攻擊。
- 範例: 偵測到請求參數中包含類似 OR 1=1-- 的 SQL 注入語法就阻擋;偵測到 URL 中有惡意的 <script> 標籤就阻擋。
- 應用: 防禦 OWASP Top 10 中列出的各種應用層漏洞,如 SQL 注入、XSS、跨站請求偽造 (CSRF)、不安全的反序列化等。
- API Gateway 級別的安全策略:
- 說明: API Gateway 可以在應用層對 API 請求進行精細控制,包括認證、授權、限流、以及基於內容的過濾。
- 基於用戶行為的阻擋:
- 說明: 監測單個用戶或特定行為模式,如果短時間內嘗試多次失敗登入,或訪問了大量不相關頁面,就暫時阻擋該用戶。這比 Layer 3 的 IP 速率限制更精細。
- 基於 Bot 識別的阻擋:
- 說明: 識別並阻擋惡意機器人(Bot)的流量,例如惡意爬蟲、撞庫攻擊等。
- 優點:
- 防禦精準: 能有效防禦針對應用程式漏洞的複雜攻擊,這些攻擊是 Layer 3 防禦無法處理的。
- 減少誤判: 由於能理解應用層語義,可以更好地分辨合法流量和惡意流量,降低誤判率。
- 保護應用程式邏輯: 深入應用層,保護了應用程式的業務邏輯層面。
- 缺點:
- 效能開銷大: 需要解析封包內容,處理速度相對較慢,對設備資源消耗較大。
- 部署複雜: 配置和調優 WAF 規則可能很複雜,需要專業知識,且容易產生誤判(誤擋合法流量)。
- 無法防禦低層次攻擊: 無法直接阻擋大規模的網路層 DDoS 攻擊,因為這些攻擊在到達應用層防禦前就可能已經耗盡了網路頻寬。
其他層級的阻擋手段 🛡️
我們將從 OSI 模型的角度來看看其他層次的防禦:
Layer 2 (資料鏈路層) 阻擋 🌉
- 作用層級: OSI 模型的第二層,主要處理區域網路 (LAN) 內的數據傳輸,涉及 MAC 位址。
- 白話比喻: 想像這是在一棟公寓大樓裡,每個住戶都有一個唯一的門牌號碼 (MAC 位址)。Layer 2 阻擋就是在大樓入口處或樓層交換機,根據門牌號碼來決定是否允許某個住戶進入或與其他住戶通訊。
- 判斷依據: 主要是 MAC 位址 (Media Access Control Address,媒體存取控制位址,是網路卡的唯一硬體位址)。
- 阻擋方式:
- MAC 位址過濾 (MAC Filtering): 在交換機 (Switch) 或無線基地台 (Access Point) 上設定白名單或黑名單,只允許或拒絕特定 MAC 位址的設備連接到網路。
- ARP 欺騙防護 (ARP Spoofing Protection): 防止攻擊者偽造 MAC 位址來劫持網路通訊。
- 埠安全 (Port Security): 限制交換機的埠只能連接特定的 MAC 位址,防止未經授權的設備接入。
- 優點:
- 高效: 在 OSI 模型中層級較低,處理速度快,影響小。
- 內部網路防禦: 有效防禦區域網路內的一些惡意行為和未經授權的設備接入。
- 缺點:
- 無法跨網路: 僅限於區域網路內部,無法防禦來自外部網路的攻擊。
- MAC 位址可偽造: 雖然是硬體位址,但 MAC 位址很容易被偽造 (MAC Spoofing),因此不能作為唯一的安全依據。
- 盲點: 無法識別更高層次的攻擊 (如 Layer 3 IP 或 Layer 7 應用層內容)。
Layer 4 (傳輸層) 阻擋 🚪
- 作用層級: OSI 模型的第四層,處理端到端 (End-to-End) 的數據傳輸,涉及 埠號 (Port Number) 和傳輸協定 (TCP/UDP)。
- 白話比喻: 想像這是在公寓大樓內部的每個房間門口,貼著一張「允許進入房間的訪客身分」和「訪客敲哪個號碼的門」的列表。Layer 4 阻擋就是根據這些資訊來決定是否允許某個應用程式通訊。
- 判斷依據: 主要是 來源/目的埠號 (Source/Destination Port) 和 傳輸協定 (TCP 或 UDP)。
- 阻擋方式:
- 基於埠號的防火牆規則: 這是最常見的 Layer 4 阻擋手段。在防火牆上設定規則,允許或拒絕特定埠號的流量。
- 範例: 「只允許從外部網路訪問我伺服器的 80 (HTTP) 和 443 (HTTPS) 埠,阻擋所有其他埠的連線」,或「禁止內部電腦訪問外部的 22 (SSH) 埠」。
- 連接狀態追蹤 (Stateful Inspection):
- 說明: 高階防火牆不僅檢查埠號,還會追蹤網路連接的「狀態」。例如,只有在內部電腦主動發起連接後,防火牆才會允許外部回覆的流量通過。這能有效防止來自外部的惡意連接。
- Layer 4 DDoS 防禦: 針對 TCP SYN Flood, UDP Flood 等針對埠號和連接狀態的低層次 DDoS 攻擊。
- 優點:
- 高效: 比應用層阻擋快,因為不需要解析應用層內容。
- 精準控制應用服務: 能夠針對特定應用程式服務 (由埠號標識) 進行訪問控制。
- 防禦低層次攻擊: 有效應對針對傳輸層的攻擊。
- 缺點:
- 無法識別內容: 與 Layer 3 類似,它不檢查封包的內容,因此無法防禦應用層攻擊 (如 SQL 注入)。
- 端口復用: 如果惡意流量使用合法埠號 (例如 80 或 443),Layer 4 阻擋就無能為力了。
Layer 1 (實體層) 阻擋 🔌
- 作用層級: OSI 模型的最低層,涉及物理連接和電氣訊號。
- 白話比喻: 就像直接把網線拔掉,或關掉電源。這是一種最直接、最原始的阻擋方式。
- 判斷依據: 物理連線狀態、電氣訊號。
- 阻擋方式:
- 物理斷開連線: 直接拔掉網路線、關閉設備電源。
- 物理隔離: 將重要的設備放在獨立、無法從外部物理接觸的區域。
- 實體安全措施: 門禁管制、監控攝像頭、生物辨識等,防止未經授權的人員接觸網路設備。
- 優點:
- 最直接: 簡單粗暴,一旦斷開就無法通訊。
- 基礎防禦: 任何高層次的安全都建立在實體安全的基礎上。
- 缺點:
- 破壞性: 會導致服務中斷,不是常用於正常運行的防禦。
- 無法精細控制: 只能全部阻擋或全部放行。
- 無法防禦遠端攻擊: 主要針對物理存取。
總結:多層次縱深防禦 🛡️
可以看到,不同層次的阻擋手段各有優缺點和適用場景。在現代網路安全中,沒有任何單一的防禦措施是萬能的。企業通常會採用多層次、多維度的縱深防禦 (Defense in Depth) 策略,將不同層級的阻擋手段結合起來,形成一道道堅固的防線。
- 實體層: 保護資料中心和設備的安全。
- 資料鏈路層: 防止區域網路內的未授權接入和欺騙。
- 網路層: 透過防火牆和路由器快速過濾 IP 和基本協定流量,抵擋低層次的 DDoS。
- 傳輸層: 精準控制埠號和連接狀態,抵擋傳輸層的 DDoS。
- 應用層: 透過 WAF 等工具深入檢查內容,抵擋複雜的 Web 應用程式攻擊。
這樣,即使攻擊者突破了其中一道防線,還有其他防線可以阻止他們,從而最大程度地保護資訊資產。