緯育 2026-0508
出自頂極製作所
本系列講座為網路治安課程,深入探討防火牆的核心技術,特別是存取控制列表(ACL)。講師首先強調,雖然課程使用具備進階功能的路由器(Router)進行教學,而非實際的防火牆硬體,但學習目標是為了掌握防火牆的原理與配置,如ACL、NAT和VPN等核心技術,這對於網路工程師的求職面試至關重要。講座詳細闡述了ACL的概念、從傳統號碼式演進至命名式ACL的原因,並透過實際網路拓撲案例(如新竹總公司與各分公司的VLAN和OSPF架構)解釋如何利用ACL在原本暢通的網路中實現精細的存取控制,以保護如資料中心等重要資源。
內容深入探討了ACL的原理、類型(標準型與擴充型)、萬用遮罩(Wildcard Mask)的應用,以及防火牆在企業網路中的兩種主要佈署位置:資料中心外圍與企業網路邊界。講師進一步解釋了ACL作為封包分類工具的進階應用,如何與NAT、VPN等功能結合,並透過FTP、DNS、ICMP等協定細節,展示資安人員如何制定更精確、高效的控制規則,例如利用ICMP類型防禦Ping Flooding攻擊,或應用基於時間的ACL保護企業機密資料。
講座也揭示了傳統編號型ACL存在修改不便的致命缺點,例如no access-list [number]指令會刪除該編號下的所有規則,因此思科(Cisco)推廣使用更具彈性的命名式ACL。命名式ACL引入了行號概念,允許在規則中間插入或刪除特定行,大幅提升了管理靈活性。最後,講師運用程式設計的流程圖與條件判斷概念,詳細拆解了ACL的內部執行順序與比對邏輯,包括封包如何依序比對路由表與ACL規則、綁定方向(in/out)的重要性,以及ACL結尾隱含的「Deny Any」規則如何作為預設安全機制,確保所有未被明確允許的流量都會被拒絕。
防火牆與網路治安的重要性
- 防火牆的核心地位與教學策略
- 硬體防火牆是企業網路治安的基礎設備,相關知識在求職面試中佔比極高(80-90%)。
- 因實體防火牆映像檔資源消耗大,課程採用具備治安功能(IOS檔名含"K9")的Cisco路由器來學習ACL、NAT、VPN等核心技術。此方法在面試中被視為聰明的學習策略。
- 學員應表明學過防火牆的核心技術,而非直接回答「沒有」。
- 防火牆的佈署與資安角色
- 兩個主要佈署位置:
1. 資料中心外圍:保護內部伺服器與資料,根據資安政策對訪問者進行分級控管。 2. 企業網路與網際網路邊界:保護整個企業內網,防止外部未經授權的訪問,常與NAT技術結合。
- 資安部門的角色:在組織中層級較高,獨立掌控防火牆的設定與管理權限,以落實資安控管。近年政府主管機關也要求資安部門需獨立運作。
存取控制清單 (ACL) 的原理與類型
- ACL基本概念與目的
- ACL(Access Control List)是一系列用於比對、過濾網路封包的規則,其核心功能是控制封包的進出(permit 或 deny)。
- 學習重點在於掌握其語法,並根據網路安全需求進行配置。
- ACL的類型:標準型與擴充型
- 標準型 ACL (Standard ACL):
** 僅比對封包的「來源 IP 位址 (Source IP)」。 ** 號碼範圍:1-99 及 1300-1999。 ** 語法相對簡單,但在特定場景下仍非常實用。
- 擴充型 ACL (Extended ACL):
** 可比對多個參數,條件更精細,包括:「來源IP」、「目的IP」以及「第四層協定與埠號」。這些條件是 AND 的邏輯關係。 ** 號碼範圍:100-199 及 2000-2699。 ** CCNA考試的重點,因其複雜度較高。
- 萬用遮罩 (Wildcard Mask)
- 在Cisco設備中,ACL使用萬用遮罩來定義IP位址的比對範圍,0 代表「必須比對」,1 代表「不比對」,與子網路遮罩意義相反。
- 在OSPF與ACL中皆有應用,但比對對象不同:OSPF比對路由器介面IP,ACL比對封包的來源或目的IP。
ACL的進階應用與協定細節
- ACL作為封包分類工具
- 除了基本的允許/拒絕,ACL更廣泛的應用是作為「封包分類」工具。
- 它能將封包分為不同類別(如需NAT的封包、需VPN的封包),再交由後續功能處理。此「無所不搭」的特性使其成為網路故障排除時必須檢查的一環。
- 基於協定細節的精細化控制
- FTP:Port 21(命令)與Port 20(資料)協同工作。阻擋FTP只需deny Port 21,但允許FTP則需同時permit Port 20和Port 21。撰寫最精簡的ACL規則能獲得更高評價。
- DNS:使用Port 53。Client到Server的查詢用UDP(可掉包),Server到Server的區域傳輸(Zone Transfer)用TCP(確保資料完整性)。
- ICMP:ping的Echo Request為Type 8,Echo Reply為Type 0。為防禦Ping Flooding攻擊,可在防火牆上Deny ICMP Type 0,使設備不回覆ping請求,從而節省CPU資源。
- 基於時間的存取控制
- 擴充型ACL可加入時間參數(Time Range),實現分時段的存取控制。
- 例如,可設定規則,禁止高階主管在非上班時間(如深夜)存取核心伺服器,以防止類似梁孟松事件的機密資料外洩。
ACL的撰寫、部署與管理
- 號碼式ACL vs. 命名式ACL
- 號碼式ACL的缺點:具有隱含的行號順序,修改極為不便。若指令打錯,需先用no指令刪除整條規則,再重新加入,會導致規則順序被打亂。更致命的是,no access-list [number]指令會刪除該編號下的所有規則,而非僅單一行。
- 命名式ACL的優勢:為了解決上述問題,Cisco推廣使用命名式ACL(ip access-list [standard/extended] [name])。它引入了明確的行號(Sequence Number),預設從10開始,每次遞增10。這允許使用者在規則中間插入新規則,或根據行號精確刪除單一規則,大幅提升了管理的靈活性。
- ACL的設定與綁定流程
- 兩步驟設定:
1. 定義規則:使用 access-list 指令撰寫 permit 或 deny 的條件。 2. 應用至介面:使用 ip access-group [number/name] [in/out] 指令將ACL綁定到特定介面的特定方向。若未綁定,ACL不會生效。
- 綁定方向 (in/out):方向是基於「路由器」的視角定義的。in指封包進入路由器的方向,out指封包離開路由器的方向。方向設定錯誤會導致ACL失效。
ACL的執行順序與比對邏輯
- 路由器內部處理順序
1. 路由表比對:封包進入後,首先根據其「目的IP」查詢路由表,決定「離開端口」。若無匹配路由,則丟棄封包。 2. ACL檢查:在封包離開端口前,檢查該端口是否有綁定方向相符的ACL。若有,則觸發ACL規則比對。
- ACL比對邏輯(流程圖概念)
1. 逐行比對:封包從ACL的第一行規則開始,根據其「來源IP」(標準型)或其他屬性(擴充型)進行比對。 2. 條件滿足 (Match):若封包符合某行規則,則執行該規則的動作(permit或deny),比對流程結束,不再檢查後續規則。 3. 條件不滿足 (No Match):若不符合,則跳至下一行規則繼續比對。 4. 隱含的Deny Any:若封包比對完所有使用者定義的規則後皆不滿足,將會觸發ACL結尾一條「看不見的」規則:deny any。這條「隱含拒絕」規則是所有主流防火牆的預設安全機制,確保所有未被明確允許的流量都會被封鎖。