💡 先搞懂問題
把公司網路直接接上網際網路,會同時發生兩件事。第一,每一台電腦、每一台伺服器都可能被外面的人掃描和連線,只要其中一台有沒修補的漏洞或弱密碼,就可能被闖進來。第二,就算你只打算讓外面連到公司網站,如果網站和資料庫、帳號主機放在同一個網段,網站一旦被攻破,攻擊者就已經站在內部,下一步可以直接連到其他主機,這種從一台跳到另一台的行為叫做橫向移動(Lateral Movement)。
所以網路邊界需要三種能力:決定哪些連線可以通過,這是防火牆;把「必須對外」和「絕不能對外」的主機分到不同區域,這是 DMZ 與網路分段;在被允許的流量裡找出攻擊,這是 IDS 與 IPS。下面這張圖可以切換兩種架構,按「下一步」看攻擊者攻下網站之後能走多遠。
用一個比喻來想:有管理室的社區大樓
想像一棟社區大樓。大門口的警衛手上有一份名單,只看來訪者要去幾號幾樓、找哪一戶,符合名單就放行。比較用心的警衛還會記得「剛剛 12 樓住戶叫了外送」,所以等一下外送員來了,他只放這一位上樓,沒有人叫的「外送員」一律擋下。更嚴格的社區則由管理室代收包裹,拆開檢查內容後再送上樓。
大樓一樓有一間對外開放的交誼廳,訪客、快遞、來看房子的人都在這裡活動,但交誼廳通往住戶樓層的門仍然要刷卡,訪客不能自己搭電梯上樓。大廳天花板上有監視器,看到可疑的人會通知管理室,但它本身攔不住任何人;站在門口的保全才能直接把人擋下。
回到資安,剛才的每個角色都有對應的技術。
照名單放行的警衛是封包過濾防火牆(Packet Filtering),名單上寫的是來源與目的 IP 位址、通訊埠(Port,用來區分同一台主機上不同服務的號碼)和協定;記得誰叫了外送的警衛是狀態檢視防火牆(Stateful Inspection),它記住內部發出的連線,只放行對應的回應;代收拆包的管理室是應用層代理防火牆(Proxy Firewall),以及專門檢查網頁請求的 WAF(Web Application Firewall,網頁應用程式防火牆)。
對外開放的交誼廳是 DMZ(Demilitarized Zone,非軍事區),住戶樓層是內網,交誼廳通往樓上的刷卡門,就是「DMZ 到內網也要限制」的那組規則。只會通知的監視器是 IDS(Intrusion Detection System,入侵偵測系統),能出手攔人的門口保全是 IPS(Intrusion Prevention System,入侵防禦系統)。
🎮 互動實驗室
三個實驗室分別練習「規則怎麼比對」、「主機該放哪一區」與「偵測和阻擋的差別」。畫面上的 IP 位址都是文件範例用的保留位址,所有操作只在這個頁面裡模擬,不會連到任何真實系統。
1防火牆規則表模擬器
防火牆的規則表又叫 ACL(Access Control List,存取控制清單)。封包進來時,防火牆從第 1 條往下比對,只要來源、目的與通訊埠三個欄位都符合某一條,就執行那一條的動作,後面的規則不再看;全部都不符合時,由最後的「預設規則」決定。你可以切換允許/拒絕、修改欄位、用 ↑↓ 調整順序,再點下方的測試封包看比對過程。挑戰關卡的規則表各藏了一個常見錯誤。
測試封包(點一下看逐條比對;括號是依安全設計應有的結果)
2DMZ 架構拼圖
某公司要重新規劃網路,下面有八台主機或設備。把每一台拖進外網、DMZ 或內網(也可以先點選設備,再點區域),放下去就會立即告訴你合不合理。判斷原則只有兩個:需要讓網際網路上的人主動連進來的,放 DMZ;不需要對外、或存放重要資料與帳號的,放內網。
外網(網際網路)
DMZ
內網
3IDS vs IPS 流量實驗
同一段網頁流量同時送進兩種部署。上面那條線,IDS 接在交換器的鏡像埠(SPAN port)上,拿到的是流量的複本;下面那條線,IPS 串接(inline)在流量必經的路上。選一個情境後按「▶ 下一個封包」逐一播放。偵測規則以教學用的示意特徵表示。
旁路 IDS 紀錄
串接 IPS 紀錄
📘 原理補完
防火牆的種類,差在「拆到第幾層」
網路通訊常用 OSI 七層模型來分工:第 3 層(網路層)負責 IP 位址與路由,第 4 層(傳輸層)負責 TCP、UDP 與通訊埠,第 7 層(應用層)才是 HTTP 請求、郵件內容這些真正的資料。各種防火牆的差別,就在於它把封包拆到第幾層來判斷。看得越上層,能判斷的事越多,處理成本也越高。點選下方的種類,左邊的七層圖會亮出它主要檢查的層級,下方的封包會標出它看得到的欄位;也可以直接點圖上的某一層。
點圖上的任一層,可以看這一層負責什麼。
| 種類 | 主要檢查 | OSI 層級 | 擅長 | 限制 |
|---|---|---|---|---|
| 封包過濾 | 來源/目的 IP、通訊埠、協定 | 第 3、4 層 | 快速擋掉不該存在的連線,例如外部直連內網 3389 | 看不到內容;不記得連線,回應封包要另開規則 |
| 狀態檢視 | 同上,再加上連線狀態表 | 第 3、4 層+狀態追蹤 | 擋下未經請求的連入封包與偽裝成回應的封包 | 仍看不到應用層內容 |
| 應用層代理 | 替雙方重新建立連線,檢查應用協定內容 | 可到第 7 層 | 不合協定規格的請求、特定指令 | 每種協定需要對應的代理,速度較慢 |
| 次世代防火牆 NGFW | 狀態檢視,加上應用程式辨識、使用者身分,常整合 IPS | 第 3~7 層 | 「只准業務部使用某個雲端服務」這類政策 | 加密流量要先解密才看得到內容;效能負擔大 |
| WAF | HTTP/HTTPS 請求的網址、參數、標頭與內容 | 第 7 層,只看網頁 | SQL 注入、XSS 等常見網頁攻擊,請求速率限制 | 看不懂業務邏輯,擋不了越權存取;可能被編碼變形繞過 |
幾個常見的判斷:狀態檢視看的資訊比封包過濾多;代理防火牆運作在應用層,不是第 4 層;依國家或地區封鎖(GeoIP)本質上是依 IP 位址判斷,屬於第 3 層。網頁攻擊走的是正常的 443 埠,一般防火牆只會看到「有人連 443」而放行,要看出請求內容裡的注入字串,得靠 WAF 或 IPS。UTM(Unified Threat Management,整合式威脅管理)則是把防火牆、IPS、防毒、內容過濾等功能整合在一台設備裡的產品型態。
WAF 通常以反向代理的方式放在網站前面。它是程式修好之前的補償性防護,根治 SQL 注入仍要靠參數化查詢,越權存取則要在伺服器端做授權檢查。
狀態檢視:為什麼回應進得來,偽裝的卻進不來
員工瀏覽外部網站時,連線是從內部發起的,網站的回應卻是從外面進來。只看表頭的封包過濾防火牆分不出哪個封包是「回應」,為了讓回應進得來,只好額外寫一條「來源埠是 443 的封包都放進來」的寬鬆規則,而攻擊者只要把自己封包的來源埠設成 443,就能利用這條規則。狀態檢視防火牆則在內部發起連線時記下一筆狀態(雙方位址、埠號、連線進度),只放行和狀態表對得上的封包。切換下方兩種防火牆,按「下一步」逐步比較。
為了聚焦在狀態追蹤,圖中省略 NAT 位址轉換;TCP 開始傳資料前要先完成三向交握(SYN → SYN/ACK → ACK)。
規則表的寫法
「由上而下、第一條符合即停」帶出三個寫法原則。第一,具體的規則放上面,範圍大的放下面,否則範圍大的那條會先把封包攔走,實驗室 1 的挑戰 1 和挑戰 2 就是這兩種情況。第二,最後一條採用預設拒絕(Default Deny),也就是白名單做法:只列出業務需要的連線,其餘一律拒絕;預設允許則是黑名單做法,只擋列出來的壞東西,沒想到的就會被放行。第三,規則要最小化並定期審查,只開必要的來源、目的與埠號,臨時開的規則要有期限與負責人,規則的新增與變更要有書面程序與專人審核;規則過多也會拖慢比對效能。被拒絕的連線要留下日誌,它們常是掃描或入侵嘗試的第一個跡象。
NAT(Network Address Translation,網路位址轉換)常和防火牆一起出現。它讓內部多台主機共用少數公開 IP,外部看不到內部的真實位址,也節省 IP。但 NAT 不是存取控制,擋不了針對已開放服務的暴力破解。如果只想讓外部連到內部某一台主機的特定服務,要用連接埠對應(Port Mapping,也叫轉送),同時也該想想這台主機是不是其實應該放在 DMZ。
DMZ 的兩種常見架構
DMZ 可以用一台有三個網路介面的防火牆切出外網、DMZ、內網三區(三腳式),也可以用兩道防火牆把 DMZ 夾在中間(雙防火牆)。雙防火牆的好處是攻擊者要連續突破兩台設備;若兩道採用不同廠牌,同一個設備漏洞也比較不會一次打穿兩道,代價是成本與管理負擔較高。點選下方的連線,看它在兩種架構中怎麼走、在哪裡被擋。
三腳式:一台防火牆,三個介面各接一區。
雙防火牆:外層防火牆①管外網與 DMZ,內層防火牆②管 DMZ 與內網。
不論哪一種架構,原則都一樣:外網只能連到 DMZ 裡開放的那幾個服務;外網不能直接連內網;DMZ 到內網也要預設拒絕,只開放業務必要的連線,例如 Web 伺服器連資料庫的那一個埠。內網還可以再依部門與敏感度切成多個網段(網路分段),甚至細到每台主機依身分與角色決定能連誰(微分段,Micro-segmentation),限制攻擊者的橫向移動。工廠環境則在企業 IT 與生產 OT 之間另設 IDMZ(工業 DMZ),兩邊不直接通訊,資料交換一律透過中繼伺服器。要注意,分了區卻把區與區之間的規則全開,等於沒有分。
IDS 與 IPS
防火牆按規則放行後,被允許的連線裡如果夾帶攻擊,它看不出來,這時候需要能看懂流量內容的 IDS 或 IPS。兩者的偵測能力可以很接近,真正的分界在部署位置:IDS 在旁邊看複本,IPS 站在路中間。
| 項目 | IDS 入侵偵測系統 | IPS 入侵防禦系統 |
|---|---|---|
| 部署位置 | 旁路:接在交換器鏡像埠(SPAN)或分流器(TAP) | 串接(inline)在流量必經的路徑上 |
| 發現攻擊時 | 告警與記錄,交由人員或其他系統處理 | 直接丟棄封包或中斷連線,同時告警 |
| 誤判的代價 | 誤報浪費分析人力,但不影響服務 | 誤報會擋掉正常使用者,直接影響服務 |
| 效能與可用性 | 不在路上,故障或過載不會中斷流量,但可能漏看封包 | 設備故障或過載會影響流量,要規劃效能與失效時的處理方式 |
| 控制類型 | 偵測性控制 | 預防性控制 |
判斷「這是不是攻擊」有兩種方法。特徵式(Signature-based)拿已知攻擊的樣式來比對,準確、誤報少,但沒見過的新手法或經過變形的攻擊就比不到。異常式(Anomaly-based)先學會平常的流量長什麼樣子(基線),偏離太多就告警,能抓到未知攻擊,代價是正常但少見的行為也可能被當成異常,誤報較多。
誤報(False Positive)是把正常當成攻擊,漏報(False Negative)是把攻擊當成正常。漏報通常更危險,因為攻擊在沒人知道的情況下進行;但對 IPS 來說,誤報同樣有實際成本。因此導入 IPS 時,常見做法是先用僅偵測模式觀察一段時間、調校規則,確認不影響業務後再開啟阻擋。
部署在網路上看流量的叫 NIDS,安裝在主機上看日誌與檔案變化的叫 HIDS。IDS 是單一來源的偵測器,SIEM 則把 IDS、防火牆、主機日誌集中起來做關聯分析。
容易混淆的地方
防火牆與 WAF。一般防火牆看 IP 與通訊埠,WAF 看網頁請求的內容。題目問擋 SQL 注入或 XSS,要選 WAF(或能檢查內容的 IPS),而不是加一條防火牆規則。WAF 也不是萬能,選項寫「完全阻擋所有網頁攻擊」就是錯的。
IDS 與 IPS。只告警、旁路部署的是 IDS;能阻擋、串接部署的是 IPS。選項若把兩者的功能對調,就是錯誤描述。IPS 切到僅偵測模式時,行為和 IDS 一樣。
DMZ 與內網的分工。資料庫、AD 網域控制站放進 DMZ,或讓外網直接連到內網,通常就是架構圖題裡的錯誤。DMZ 到內網沒有限制,DMZ 也就失去了意義。
NAT 與防火牆。NAT 隱藏內部位址、節省公開 IP,但它不是存取控制;真正決定放不放行的,是防火牆規則。
✅ 自我檢測
以下是原創情境題,點選答案後會立即顯示對錯與解析。
🎯 重點整理
- 規則由上往下比對,第一條符合就執行並停止;具體的放上面、範圍大的放下面,最後一條預設拒絕(白名單)。
- 封包過濾看 IP、埠號、協定(第 3、4 層);狀態檢視再加連線狀態表,只放行對應的回應;代理防火牆在應用層;NGFW 能辨識應用程式與使用者。
- WAF 專看 HTTP 請求內容,擋 SQL 注入、XSS、做速率限制,但看不懂業務邏輯,也可能被編碼繞過。
- DMZ 放對外服務(網站、郵件、對外 DNS、VPN 入口);資料庫、AD、員工電腦、檔案伺服器放內網。
- 外網不可直連內網,DMZ 到內網也要預設拒絕,只開必要的連線,例如 Web → 資料庫的特定埠。
- IDS 旁路(SPAN/TAP)只告警,IPS 串接(inline)可阻擋;IPS 誤判會擋掉正常使用者,常先用偵測模式觀察。
- 特徵式抓已知、誤報低、抓不到新手法;異常式可抓未知、誤報較高。漏報是把攻擊當正常,通常更危險。