作者: Rico Wu
環境: OPNsense 25.x + Zenarmor + Suricata
應用場景: 企業上網行為管理與應用層封包管控
🧱 一、什麼是 L7 流量控制?
一般防火牆主要運作在 L3(網路層)與 L4(傳輸層),
也就是依據 IP、Port、通訊協定 來允許或阻擋流量。
這樣能處理連線方向與基本安全,但無法辨識「應用內容」。
L7(Layer 7,應用層)防火牆 能深入檢視封包內容(DPI, Deep Packet Inspection),
可根據實際應用類型進行控制,例如:
- 🎬 阻擋 YouTube、Netflix、TikTok
- 💬 管控 Facebook、Instagram、LINE、WhatsApp
- 🔒 偵測並封鎖 VPN、Proxy 通道
- ⚙️ 限制 P2P、遊戲、串流等高頻寬應用
在企業網路環境中,L7 控制能大幅提升 安全性、效率與使用行為可視化。
⚙️ 二、OPNsense 如何支援 L7?
OPNsense 是基於 FreeBSD + pf 架構的防火牆,
其中 pf 防火牆本身僅支援 L3/L4 控制。
但 OPNsense 可透過 插件與整合模組 實現 L7(應用層)控制,
常用的三種方式如下:
| 模組 | 功能用途 | L7 支援程度 | 備註 |
|---|---|---|---|
| Zenarmor (原名 Sensei) | 深度封包檢測 + 應用層阻擋 | ✅ 完整 L7 DPI | 介面直覺,分類詳細 |
| Suricata IDS/IPS | 入侵偵測與防禦系統 | ✅ 協定/應用辨識 | 適合安全偵測用途 |
| Squid Proxy | HTTP/HTTPS 過濾與快取 | ⚠️ 僅限 Web 流量 | 可用於 URL 過濾 |
透過這些模組的搭配,OPNsense 能提供與商用「下一代防火牆(NGFW)」相近的 L7 能力。
🧩 三、Zenarmor — 視覺化、策略導向的 L7 控制
Zenarmor 是 OPNsense 上最完整的 L7 流量控制外掛,
它透過 DPI 引擎與雲端應用資料庫,能即時辨識 3000+ 種應用與服務。
🧠 主要特色
- 應用分類控制(YouTube、Steam、Telegram…)
- 類別封鎖(社群、影音、VPN、P2P 等)
- 即時流量分析與報表
- 使用者 / 裝置活動監控
- 頻寬使用統計
- 支援雲端同步策略
⚙️ 安裝步驟
1️⃣ 進入:
System → Firmware → Plugins
2️⃣ 搜尋並安裝:
os-zenarmor
3️⃣ 安裝完成後 → 開啟 Zenarmor Dashboard
4️⃣ 依照精靈設定:
- Protection Mode:Routed / Passive
- Interface:選擇 LAN 或 VLAN
- Policy:Allow / Block 類別
✅ 範例:封鎖社群網站與 VPN
前往 Zenarmor → Policies → Application Control
選擇以下分類:
Social Networking → Block
VPN & Proxy Services → Block
儲存後即生效。
此時所有屬於社群網站與 VPN 的封包會被即時攔截。
🔒 四、Suricata IDS/IPS — 以安全為核心的 L7 偵測
Suricata 是 OPNsense 內建的 IDS/IPS 系統,
透過簽名檔與協定分析偵測異常或惡意封包。
它可辨識應用層協定(如 OpenVPN、WireGuard、BitTorrent)並主動阻擋。
💡 建議設定步驟
1️⃣ 開啟:
Services → Intrusion Detection → Settings
勾選:
- ✅ Enable IDS
- ✅ Enable IPS mode
2️⃣ 選擇規則集:
ET-open 或 Proofpoint
3️⃣ 啟用常見規則類別:
policy-social, policy-vpn, malware, p2p
4️⃣ 儲存後查看:
Intrusion Detection → Alerts
Suricata 適合用於安全防護與威脅偵測,
搭配 Zenarmor 可同時實現「應用可視化 + 威脅防禦」。
🌐 五、HTTPS / SNI 辨識的限制與對策
現代網站與應用多採用 HTTPS 加密,
傳統防火牆難以解析封包內容。
不過 Zenarmor 與 Suricata 都能透過 SNI(Server Name Indication) 以及流量特徵進行辨識,
可在不破壞 SSL 的情況下做到應用層分類。
若需更精細的 URL 控制,可考慮使用:
Squid Proxy + SSL Bump
但需安裝企業 CA 憑證、且效能略受影響。
🧠 六、建議架構:Zenarmor + Suricata 雙模組佈署
[ Internet ]
│
(WAN)
[ OPNsense ]
├── Zenarmor → 應用層流量控制
├── Suricata → 入侵偵測與防禦
└── LAN/VLAN → 內部網路段
此架構能同時提供:
- 應用層可視化與分類管控
- DPI 威脅偵測與阻擋
- 頻寬與流量報表
- 即時事件監控
🚀 七、功能對照表
| 需求目標 | 推薦模組 | 說明 |
|---|---|---|
| 應用程式分類阻擋 | Zenarmor | 完整 L7 DPI、圖形化管理 |
| 威脅入侵偵測 | Suricata | 基於簽名與行為的封包分析 |
| URL 網頁過濾 | Squid Proxy | 適用於 HTTP/HTTPS 網站 |
| 綜合企業方案 | Zenarmor + Suricata | 可視化 + 安全防護雙引擎 |
✅ 八、結語
導入 L7 流量控制後,OPNsense 不僅是防火牆,更成為真正的 下一代安全閘道(Next-Gen Firewall)。
透過 Zenarmor 與 Suricata 的結合,企業 IT 團隊能夠:
- 即時了解網路上發生了什麼
- 阻擋非工作用途或高風險應用
- 控管頻寬使用與上網行為
- 偵測異常與惡意連線
這讓 OPNsense 成為兼具 開源、靈活與企業級安全 的防火牆解決方案。