Files
lcbp3/specs/99-archives/03_Securities.md
admin ef16817f38
All checks were successful
Build and Deploy / deploy (push) Successful in 4m44s
260223:1415 20260223 nextJS & nestJS Best pratices
2026-02-23 14:15:06 +07:00

9.9 KiB

การตั้งค่า Network Segmentation และ Firewall Rules

สำหรับอุปกรณ์ Omada (ER7206 + OC200) กลยุทธ์หลักคือการใช้ VLANs (Virtual LANs) เพื่อแบ่งกลุ่มอุปกรณ์ และใช้ Firewall ACLs (Access Control Lists) เพื่อควบคุมการจราจรระหว่างกลุ่มเหล่านั้น

นี่คือคำแนะนำตามแนวทาง "Zero Trust" ที่ปรับให้เข้ากับสถาปัตยกรรมของคุณครับ


1. 🌐 การแบ่งส่วนเครือข่าย (VLAN Segmentation)

ใน Omada Controller (OC200) ให้คุณไปที่ Settings > Wired Networks > LAN และสร้างเครือข่ายย่อย (VLANs) ดังนี้:

  • VLAN 10: SERVER

    • IP Range: 192.168.10.x
    • วัตถุประสงค์: ใช้สำหรับอุปกรณ์ Server (QNAP และ ASUSTOR)
  • VLAN 20 MGMT(Default): Management

    • IP Range: 192.168.20.x
    • วัตถุประสงค์: ใช้สำหรับอุปกรณ์ Network (ER7206, OC200, Switches) และ PC ของผู้ดูแลระบบ (Admin) เท่านั้น
  • VLAN 30: USER

    • IP Range: 192.168.30.x
    • วัตถุประสงค์: สำหรับ PC, Notebook, และ Wi-Fi ของพนักงานทั่วไปที่ต้องเข้าใช้งานระบบ (เช่น lcbp3.np-dms.work)
  • VLAN 40: CCTV

    • IP Range: 192.168.40.x
    • วัตถุประสงค์: ใช้สำหรับอุปกรณ์ CCTV เท่านั้น
  • VLAN 50 VOICEt

    • IP Range: 192.168.50.x
    • วัตถุประสงค์: ใช้สำหรับอุปกรณ์ IP Phone เท่านั้น
  • VLAN 60 DMZ

    • IP Range: 192.168.60.x
    • วัตถุประสงค์: ใช้สำหรับ Network DMZ เท่านั้น
  • VLAN 70: GUEST / Untrusted (สำหรับ Wi-Fi แขก)

    • IP Range: 192.168.70.x
    • วัตถุประสงค์: สำหรับ Wi-Fi แขก (Guest) ห้ามเข้าถึงเครือข่ายภายในโดยเด็ดขาด

การตั้งค่า Port Switch: หลังจากสร้าง VLANs แล้ว ให้ไปที่ Devices > เลือก Switch ของคุณ > Ports > กำหนด Port Profile:

  • Port ที่เสียบ QNAP NAS: ตั้งค่า Profile เป็น VLAN 10
  • Port ที่เสียบ PC พนักงาน: ตั้งค่า Profile เป็น VLAN 20

2. 🔥 Firewall Rules (ACLs)

นี่คือหัวใจสำคัญครับ ไปที่ Settings > Network Security > ACL (Access Control)

กฎของ Firewall จะทำงานจากบนลงล่าง (ข้อ 1 ทำก่อนข้อ 2)


2.1 IP Groups & Port Groups

IP Groups (สร้างใน Settings > Network Security > Groups):

Group Name Members
Server 192.168.10.8, 192.168.10.9, 192.168.10.111
Omada-Controller 192.168.20.250 (OC200 IP)
DHCP-Gateways 192.168.30.1, 192.168.70.1
QNAP_Services 192.168.10.8
Internal 192.168.10.0/24, 192.168.20.0/24, 192.168.30.0/24
Blacklist (Add malicious IPs as needed)

Port Groups:

Group Name Ports
Web TCP 443, 8443, 80, 81, 2222
Omada-Auth TCP 443, 8043, 8088, 8843, 29810-29814
VoIP UDP 5060, 5061, 10000-20000 (SIP + RTP)
DHCP UDP 67, 68

2.2 Switch ACL (สำหรับ Omada OC200)

ลำดับ Name Policy Source Destination Ports
1 01 Allow-User-DHCP Allow Network → VLAN 30 IP → 192.168.30.1 Port Group → DHCP
2 02 Allow-Guest-DHCP Allow Network → VLAN 70 IP → 192.168.70.1 Port Group → DHCP
3 03 Allow-WiFi-Auth Allow Network → VLAN 30 IP Group → Omada-Controller Port Group → Omada-Auth
4 04 Allow-Guest-WiFi-Auth Allow Network → VLAN 70 IP Group → Omada-Controller Port Group → Omada-Auth
5 05 Isolate-Guests Deny Network → VLAN 70 Network → VLAN 10, 20, 30, 60 All
6 06 Isolate-Servers Deny Network → VLAN 10 Network → VLAN 30 (USER) All
7 07 Block-User-to-Mgmt Deny Network → VLAN 30 Network → VLAN 20 (MGMT) All
8 08 Allow-User-to-Services Allow Network → VLAN 30 IP → QNAP (192.168.10.8) Port Group → Web (443,8443, 80, 81, 2222)
9 09 Allow-Voice-to-User Allow Network → VLAN 50 Network → VLAN 30,50 All
10 10 Allow-MGMT-to-All Allow Network → VLAN 20 Any All
11 11 Allow-Server-Internal Allow IP Group : Server IP Group : Server All
12 12 Allow-Server → CCTV Allow IP Group : Server Network → VLAN 40 (CCTV) All
13 100 (Default) Deny Any Any All

⚠️ หมายเหตุสำคัญ - ลำดับ ACL:

  1. Allow rules ก่อน - DHCP (#1-2) และ WiFi-Auth (#3-4) ต้องอยู่ บนสุด
  2. Isolate/Deny rules ถัดมา - (#5-7) block traffic ที่ไม่ต้องการ
  3. Allow specific rules - (#8-12) อนุญาต traffic ที่เหลือ
  4. Default Deny ล่าสุด - (#13) block ทุกอย่างที่ไม่ match

2.3 Gateway ACL (สำหรับ Omada ER7206)

ลำดับ Name Policy Direction PROTOCOLS Source Destination
1 01 Blacklist Deny [WAN2] IN All IP Group:Blacklist IP Group:Internal
2 02 Geo Permit [WAN2] IN All Location Group:Allow IP Group:Internal
3 03 Allow-Voice-Internet Permit LAN->WAN UDP Network → VLAN 50 Any
4 04 Internal → Internet Permit LAN->WAN All IP Group:Internal Domain Group:DomainGroup_Any

💡 หมายเหตุ: Rule #3 Allow-Voice-Internet อนุญาต IP Phone (VLAN 50) เชื่อมต่อ Cloud PBX ภายนอก ผ่าน Port Group → VoIP (UDP 5060, 5061, 10000-20000)


3. 🚪 Port Forwarding (การเปิด Service สู่สาธารณะ)

ส่วนนี้ไม่ใช่ Firewall ACL แต่จำเป็นเพื่อให้คนนอกเข้าใช้งานได้ครับ ไปที่ Settings > Transmission > Port Forwarding

สร้างกฎเพื่อส่งต่อการจราจรจาก WAN (อินเทอร์เน็ต) ไปยัง Nginx Proxy Manager (NPM) ที่อยู่บน QNAP (VLAN 10)

  • Name: Allow-NPM-HTTPS

  • External Port: 443

  • Internal Port: 443

  • Internal IP: 192.168.10.8 (IP ของ QNAP)

  • Protocol: TCP

  • Name: Allow-NPM-HTTP (สำหรับ Let's Encrypt)

  • External Port: 80

  • Internal Port: 80

  • Internal IP: 192.168.10.8 (IP ของ QNAP)

  • Protocol: TCP

สรุปผังการเชื่อมต่อ

  1. ผู้ใช้ภายนอก -> https://lcbp3.np-dms.work
  2. ER7206 รับที่ Port 443
  3. Port Forwarding ส่งต่อไปยัง 192.168.10.8:443 (QNAP NPM)
  4. NPM (บน QNAP) ส่งต่อไปยัง backend:3000 หรือ frontend:3000 ภายใน Docker
  5. ผู้ใช้ภายใน (Office) -> https://lcbp3.np-dms.work
  6. Firewall ACL (กฎข้อ 4) อนุญาตให้ VLAN 30 คุยกับ 192.168.10.8:443
  7. (ขั้นตอนที่ 3-4 ทำงานเหมือนเดิม)

การตั้งค่าตามนี้จะช่วยแยกส่วน Server ของคุณออกจากเครือข่ายพนักงานอย่างชัดเจน ซึ่งปลอดภัยกว่าการวางทุกอย่างไว้ในวง LAN เดียวกันมากครับ