DMZ (Demilitarized Zone) คืออะไร?
DMZ (Demilitarized Zone / เขตปลวก) คือ เครือข่ายย่อย (Subnetwork) ที่ตั้งอยู่ระหว่าง เครือข่ายภายนอก (Internet - Untrusted) และ เครือข่ายภายในองค์กร (Internal LAN - Trusted) เพื่อวางบริการที่ต้องเปิดให้เข้าถึงจากภายนอก (Public-facing Services) เช่น Web Server, Mail Server, DNS Server, VPN Gateway, API Gateway
DMZ เพิ่มความปลอดภัยอย่างไร? (Mechanism)
1. การแยกชั้น (Segmentation / Isolation)
- สร้าง Buffer Zone ระหว่าง Internet และ Internal Network
- External Users เข้าถึงบริการใน DMZ ได้ แต่ ไม่สามารถเข้าถึง Internal LAN โดยตรง
- แม้ Server ใน DMZ จะถูกควบคุม (Compromised) โจมตีต่อยอดเข้าสู่ Internal LAN ก็ยากกว่าเดิมมาก
2. การควบคุมการเข้าถึงแบบหลายชั้น (Multi-layered Access Control)
ใช้ 2 Firewalls (Dual Firewall Architecture) แบบนี้ปลอดภัยที่สุด:
Internet → [External Firewall] → DMZ → [Internal Firewall] → Internal LAN
- External Firewall: อนุญาตเฉพาะ Traffic ที่จำเป็นเข้าสู่ DMZ (เช่น TCP 80/443 ไป Web Server)
- Internal Firewall: อนุญาตเฉพาะ Traffic จาก DMZ ไป Internal LAN ที่จำเป็นจริงๆ (เช่น Web Server → App Server Port 8080 เท่านั้น)
3. การจำกัดพื้นที่โจมตี (Reduced Attack Surface)
- เฉพาะ Service ที่จำเป็นต้อง Public เท่านั้นที่วางใน DMZ
- Internal Servers (Database, AD, File Server, ERP) อยู่ภายใน Internal LAN ไม่โดน Expose ตรงๆ
- Hardening Server ใน DMZ ให้เข้มข้นกว่า Server ภายใน
4. การตรวจสอบและบันทึกเหตุการณ์ (Monitoring & Logging)
- Traffic ทั้งหมดผ่าน Firewall ทั้งคู่ → Log ครบถ้วน
- Anomaly Detection บน Traffic ระหว่าง DMZ ↔ Internal
- Honeypot ใน DMZ เพื่อดึงดูดและศึกษาโจมตี
สถาปัตยกรรม DMZ แบบต่างๆ
1. Single Firewall (3-Legged Firewall) - ราคาถูก แต่น้อยกว่า
Internet
|
[Firewall 3 Interfaces]
| | |
DMZ Internal Management
- ใช้ Firewall 1 ตัว มี 3 Interface (WAN, DMZ, LAN)
- หาก Firewall ถูก Compromise → ทั้ง DMZ และ LAN อันตราย
2. Dual Firewall (Screened Subnet) - มาตรฐาน Enterprise (แนะนำ)
Internet → [Ext FW] → DMZ → [Int FW] → Internal LAN
- Firewall 2 ตัว แยก Vendor (Defense in Depth) เช่น Palo Alto + FortiGate
- External FW ป้องกันจาก Internet, Internal FW ป้องกันจาก DMZ
- Load Balancing ได้ระหว่าง 2 FW
- Denial of Service บน Perimeter ไม่ทำให้ Internal ล่ม
Server/Service ที่ควรวางใน DMZ
- Web Server (HTTP/HTTPS)
- Mail Server (SMTP/IMAP/POP3) - หรือแค่ Mail Relay
- DNS Server (Authoritative DNS)
- VPN Gateway / Remote Access Server
- API Gateway / Reverse Proxy
- FTP/SFTP Server (Public)
- VoIP Gateway / SBC
- Proxy Server
Best Practices สำหรับ DMZ
- Hardening: Server ใน DMZ ต้อง Hardened แล้ว (Disable unused services, Patch, Minimal install, Host-based Firewall, EDR, FIM)
- No Direct DB Access: DMZ Server ห้ามเชื่อม DB โดยตรง → ผ่าน App Server/API ใน Internal
- One-way Communication: Internal → DMZ OK, DMZ → Internal จำกัดเฉพาะ Port/IP ที่จำเป็น
- Separate Management Plane: Management Network แยกจาก DMZ และ LAN
- Encryption: TLS ทุกอย่างใน DMZ รวมถึง Internal ↔ DMZ
- Vulnerability Scanning: Scan DMZ Servers ทุกสัปดาห์
- Log Everything: Firewall Logs, Web Logs, App Logs → SIEM
DMZ ยังจำเป็นในยุค Cloud/Zero Trust ไหม?
- Cloud: ใช้ Security Groups, NACLs, Cloud Firewall แทน DMZ แบบเดิม (แต่แนวคิดเดียวกัน: Public Subnet vs Private Subnet)
- Zero Trust: ไม่ไว้ใจ Network Location ใดๆ → ใช้ Identity-based Access (ZTNA) แทน Network-based
- Hybrid: หลายองค์กรยังใช้ DMZ สำหรับ On-prem Services ที่ย้าย Cloud ไม่ได้ (Legacy, Mainframe, OT)
สรุป
DMZ เพิ่มความปลอดภัยโดย แยกบริการ Public-facing ออกจากเครือข่ายภายใน สร้าง Buffer Zone ใช้ Dual Firewall ควบคุม Traffic ทิศทางเดียว Hardening Server ใน DMZ และ Logging ครบถ้วน แม้ Zero Trust จะลดความสำคัญของ Network Perimeter แต่มุมมอง DMZ (Segmentation, Least Privilege, Assume Breach) ยังคงเป็นหลักการสำคัญ