Azure DMZ 實作指南:資安專業人員完整手冊
隨著雲計算技術的快速發展,企業對於雲基礎架構的安全性要求越來越高。對於資安專業人員來說,了解如何在雲環境中運用傳統的網路安全策略至關重要。Demilitarized Zone(DMZ,非軍事區)是網路安全中的一項基礎概念,旨在提供一個隔離層,保護內部網路免受外部攻擊。本文將深入探討在 Microsoft Azure 雲平台上實施 DMZ 的關鍵步驟和最佳實踐。
什麼是 DMZ(非軍事區)?
DMZ(Demilitarized Zone,非軍事區)是一個位於內部可信網路與外部不可信網路(如網際網路)之間的隔離網路區段。其主要功能包括:
- 安全緩衝區:作為內外網路之間的安全緩衝層,降低直接攻擊內部資源的風險
- 對外服務託管:安全地託管需對外提供服務的伺服器,如 Web Server、郵件伺服器、DNS Server
- 流量監控與過濾:集中監控並過濾進出內部網路的流量
- 減少攻擊面:即使 DMZ 中的伺服器被入侵,攻擊者仍需突破額外防護才能進入內部網路
傳統 DMZ vs. Azure 雲端 DMZ
傳統地端環境中,DMZ 通常透過實體防火牆與路由器建立。在 Azure 雲端環境中,DMZ 概念透過以下方式實現:
【傳統 DMZ 架構】
Internet → 外部防火牆 → DMZ (Web/Mail Server) → 內部防火牆 → 內部網路
【Azure DMZ 架構】
Internet → Azure Firewall/Application Gateway → DMZ Subnet (VNet) → NSG → Private Subnet
在 Azure 上實施 DMZ 的核心服務
1. Azure Virtual Network (VNet)
Azure VNet 為您的雲環境提供了隔離的網路空間。透過 VNet,您可以:
- 定義自訂 IP 位址範圍(例如 10.0.0.0/16)
- 創建多個 Subnet 以實現網路分割
- 配置專門用於 DMZ 的 Subnet(例如 10.0.1.0/24 作為 DMZ Subnet)
- 控制 Subnet 之間的路由與通信
實際配置範例:
VNet: 10.0.0.0/16
├─ DMZ Subnet: 10.0.1.0/24 (對外服務)
├─ App Subnet: 10.0.2.0/24 (應用層)
└─ Data Subnet: 10.0.3.0/24 (資料庫層)
2. Network Security Group (NSG)
NSG(網路安全群組)是 Azure 的虛擬防火牆,允許您定義流量規則:
- 輸入規則(Inbound Rules):控制從外部進入 Subnet 或 VM 的流量
- 輸出規則(Outbound Rules):控制從 Subnet 或 VM 離開的流量
- 優先權設定:數字越小優先權越高(100-4096)
- 5-Tuple 比對:來源 IP、來源 Port、目的 IP、目的 Port、協定
DMZ Subnet 的 NSG 規則範例:
// 允許 HTTPS 流量進入 DMZ
Priority: 100
Source: Internet (*)
Source Port: *
Destination: DMZ Subnet
Destination Port: 443
Protocol: TCP
Action: Allow
// 拒絕所有其他輸入流量
Priority: 4096
Source: *
Action: Deny
3. Azure Firewall
Azure Firewall 是完全受控的雲端網路安全服務,提供:
- 應用程式 FQDN 過濾:基於完整網域名稱(FQDN)的流量過濾
- 網路流量規則:支援 L3-L4 層流量過濾
- 威脅情報整合:整合 Microsoft 威脅情報,自動封鎖惡意 IP/網域
- 高可用性:內建 99.99% SLA,跨 Availability Zone 部署
- 集中日誌記錄:與 Azure Monitor 整合,提供完整稽核記錄
部署位置:通常部署在 Hub VNet 中,作為所有流量的檢查點。
4. Azure Application Gateway
Application Gateway 是專門處理 HTTP/HTTPS 流量的 Layer 7 負載平衡器,特別適合 DMZ 中的 Web 應用:
- SSL/TLS 終止:在 Gateway 層卸載 SSL,減輕後端伺服器負擔
- URL 路由:基於 URL 路徑將請求路由到不同後端池
- Web Application Firewall (WAF):防護 OWASP Top 10 威脅(SQL Injection、XSS 等)
- 自動擴展:根據流量自動調整容量
- Session Affinity:支援基於 Cookie 的會話親和性
5. Azure Private Link
Private Link 確保 Azure PaaS 服務(如 Azure SQL Database、Storage Account)與您的 VNet 安全連接:
- 服務透過私有 IP 位址存取,不經過公共網際網路
- 流量保持在 Microsoft 骨幹網路內
- 防止資料外洩風險
- 簡化網路架構(無需 Service Endpoint)
Azure DMZ 實作步驟
步驟 1:規劃網路架構
1. 定義 IP 位址空間
- VNet: 10.0.0.0/16
- DMZ Subnet: 10.0.1.0/24
- Application Subnet: 10.0.2.0/24
- Database Subnet: 10.0.3.0/24
2. 識別需要暴露至網際網路的服務
- Web 應用程式
- API Gateway
- VPN Gateway
3. 規劃安全規則與流量流向
步驟 2:建立 VNet 與 Subnet
# 使用 Azure CLI 建立 VNet
az network vnet create
--resource-group MyResourceGroup
--name MyVNet
--address-prefix 10.0.0.0/16
--subnet-name DMZ-Subnet
--subnet-prefix 10.0.1.0/24
步驟 3:配置 NSG 規則
# 建立 NSG
az network nsg create
--resource-group MyResourceGroup
--name DMZ-NSG
# 添加允許 HTTPS 的規則
az network nsg rule create
--resource-group MyResourceGroup
--nsg-name DMZ-NSG
--name Allow-HTTPS
--priority 100
--source-address-prefixes Internet
--destination-port-ranges 443
--access Allow
--protocol Tcp
步驟 4:部署 Azure Firewall 或 Application Gateway
根據需求選擇:
- Azure Firewall:需要全方位流量過濾(L3-L7)
- Application Gateway + WAF:主要處理 Web 應用流量
步驟 5:配置路由表(User-Defined Routes, UDR)
// 強制所有流量經過 Firewall
Route Table for App Subnet:
0.0.0.0/0 → Next Hop: Azure Firewall Private IP
安全最佳實踐
1. 多層防禦架構(Defense in Depth)
- 結合使用 NSG、Azure Firewall 和 Application Gateway
- 不同層次使用不同安全控制(網路層、應用層、資料層)
- 實施最小權限原則(Principle of Least Privilege)
2. 定期安全審計
- 每季度檢視 NSG 規則,移除不必要的規則
- 使用 Azure Security Center 進行安全評估
- 審查 Azure Firewall 日誌,識別異常流量模式
- 執行滲透測試(需遵守 Azure 使用條款)
3. 持續監控與警報
- Azure Monitor:收集並分析日誌與指標
- Azure Sentinel:SIEM 解決方案,提供威脅偵測與回應
- Network Watcher:監控網路健康狀態、連線問題診斷
- Azure DDoS Protection:防護分散式阻斷服務攻擊
4. 身分與存取管理
- 使用 Azure AD 整合身分驗證
- 啟用多因素驗證(MFA)
- 實施 Role-Based Access Control (RBAC)
- 定期輪換金鑰與憑證
5. 資料保護
- 啟用 Transparent Data Encryption (TDE) for Azure SQL
- 使用 Azure Key Vault 管理敏感資訊
- 啟用 Storage Account 加密(預設已啟用)
- 配置備份與災難復原策略
常見DMZ 架構模式
模式 1:單層 DMZ(Small to Medium Business)
Internet
↓
Application Gateway (WAF)
↓
DMZ Subnet (Web Servers)
↓
NSG
↓
Private Subnet (App + Database)
模式 2:雙層 DMZ(Enterprise)
Internet
↓
Azure Firewall
↓
DMZ-1 Subnet (Reverse Proxy)
↓
NSG
↓
DMZ-2 Subnet (Application Servers)
↓
NSG
↓
Private Subnet (Database)
模式 3:Hub-Spoke 架構(Large Enterprise)
Hub VNet (Shared Services)
Azure Firewall
|
+-------------+--------------+
| | |
Spoke 1 Spoke 2 Spoke 3
(Prod) (Dev) (Test)
Each with own DMZ Subnet
結論
在 Azure 雲平台上實施 DMZ 需要綜合運用多項服務與安全策略。透過 Azure VNet、NSG、Azure Firewall、Application Gateway 等核心服務的組合,資安專業人員可以在雲端環境中建構出與傳統地端環境同等甚至更高安全等級的 DMZ 架構。
關鍵要點:
- DMZ 是多層防禦架構的重要組成部分
- Azure 提供豐富的原生安全服務來實現 DMZ
- 結合 NSG、Firewall、WAF 實現深度防禦
- 持續監控與定期審計是維護安全的關鍵
- 根據組織規模選擇適合的 DMZ 架構模式
隨著雲端安全威脅的不斷演進,掌握如何在 Azure 等雲平台上設計與實作 DMZ,對每一位資安專業人員來說都是一項必備技能。持續學習 Azure 的最新安全功能,並將其整合到您的安全架構中,才能有效保護企業的雲端資源。