คำตอบสั้น ๆ: สร้าง Security Group บน TDC Enterprise กำหนดกฎ Inbound/Outbound ทั้งพอร์ตและ IP ต้นทาง แล้วผูกกับ Cloud Server ให้เปิดเฉพาะทราฟฟิกที่จำเป็นจริง
คู่มือนี้อธิบาย Security Group ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
Security Group คือไฟร์วอลล์เสมือนระดับคลาวด์ของ TDC Enterprise ที่กำหนดว่าทราฟฟิกแบบไหนเข้าถึงหรือออกจาก Cloud Server ได้ โดยเขียนเป็นกฎ Inbound และ Outbound ตามโปรโตคอล พอร์ต และช่วง IP ต้นทางหรือปลายทาง กฎเหล่านี้ทำงานที่ชั้นเครือข่ายของแพลตฟอร์ม จึงช่วยกันทราฟฟิกที่ไม่ต้องการไว้ก่อนถึงไฟร์วอลล์ในระบบปฏิบัติการ
คู่มือนี้เหมาะกับผู้ดูแล Linux Server, Windows Server, GPU Server และ Active Directory Server บน TDC Enterprise เมื่อทำครบทุกขั้นตอน คุณจะมีกลุ่มกฎที่เปิดเฉพาะพอร์ตที่จำเป็น เช่น HTTP/HTTPS สำหรับทุกคน และ SSH หรือ RDP เฉพาะ IP ของสำนักงาน ผูกเข้ากับเซิร์ฟเวอร์แล้ว และทดสอบแล้วว่าทำงานตามที่ตั้งใจ
สิ่งที่ต้องเตรียม
- บัญชี TDC Enterprise ที่เข้าสู่ระบบได้ (ดู วิธีสมัครและเข้าสู่ระบบ) และมี Cloud Server อย่างน้อย 1 เครื่อง
- รายการพอร์ตที่แอปพลิเคชันใช้จริง เช่น 22 (SSH), 3389 (RDP), 80/443 (เว็บ), 3306 (MySQL) หากไม่แน่ใจเลขพอร์ตมาตรฐาน ดูได้จากทะเบียนพอร์ตของ IANA
- Public IP ของสำนักงานหรือเครื่องผู้ดูแล สำหรับจำกัดสิทธิ์ SSH/RDP เช่น 198.51.100.25 (สอบถามผู้ดูแลเครือข่าย หรือตรวจจากเว็บไซต์ตรวจ IP)
- ทางเข้าสำรองกรณีตั้งกฎผิด เช่น Console ผ่าน Web UI
Security Group ทำงานคู่กับไฟร์วอลล์ในระบบปฏิบัติการ ไม่ได้แทนที่กัน ถ้าในเครื่องเปิด UFW หรือ Windows Defender Firewall อยู่ ต้องอนุญาตพอร์ตเดียวกันทั้งสองชั้น
ขั้นตอนที่ 1: เปิดหน้ารายการกลุ่มกฎ
ที่แถบเมนูซ้ายของ TDC Enterprise คลิก Network > Firewall Security (ถ้าเลือกภาษาไทย เมนูจะแสดงเป็น เครือข่าย > ไฟร์วอลล์) หน้าที่เปิดขึ้นมีรายการ Your Security Groups ซึ่งแต่ละกลุ่มแสดงชื่อ วันที่สร้าง และจำนวนกฎ (rules) พร้อมปุ่ม Manage และ Delete มีช่องค้นหาด้วยชื่อและปุ่ม Refresh
คลิกปุ่ม Create Security Group ที่ส่วนหัวของหน้า (ถ้ายังไม่มีกลุ่มใดเลย จะเห็นปุ่ม New Security Group กลางหน้าแทน) ระบบจะเปิดฟอร์ม New Security Group พร้อมคำแนะนำ Name it, then add the inbound and outbound rules ด้านบนขวามีปุ่ม Back to list สำหรับกลับหน้ารายการ
ขั้นตอนที่ 2: ตั้งชื่อและคำอธิบายของกลุ่ม
ช่อง Name เป็นช่องบังคับ ต้องยาวอย่างน้อย 6 ตัวอักษร และใช้ได้เฉพาะตัวอักษรภาษาอังกฤษ ตัวเลข ขีดกลาง (-) และจุด (.) ตั้งชื่อให้บอกหน้าที่ของกลุ่ม เช่น web-public หรือ ssh-office จะได้แยกออกง่ายเมื่อมีหลายกลุ่ม
ช่อง Description ไม่บังคับ แต่ควรเขียนว่ากลุ่มนี้ใช้กับเครื่องใด เช่น Web server production เพราะตอนผูกกลุ่มในหน้าเซิร์ฟเวอร์ ระบบจะแสดงคำอธิบายนี้ให้เลือกได้ถูกกลุ่ม
ขั้นตอนที่ 3: เพิ่มกฎ Inbound Rules
อยู่ที่แท็บ Inbound Rules แล้วคลิก Add inbound rule ระบบจะเพิ่มแถวใหม่ที่มีค่าเริ่มต้นเป็น Allow, Priority 1, TCP, SSH(22) และ Source 0.0.0.0/0 ให้แก้แต่ละคอลัมน์ดังนี้
- Action: Allow เพื่ออนุญาต หรือ Deny เพื่อปฏิเสธ
- Priority: ตัวเลข 1–100 ใช้จัดลำดับเมื่อมีหลายกฎครอบคลุมทราฟฟิกเดียวกัน วิธีที่ดูแลง่ายที่สุดคือออกแบบไม่ให้ Allow และ Deny ทับพอร์ตเดียวกัน
- Protocol: TCP หรือ UDP
- Port (or range): สำหรับ TCP เลือกพอร์ตสำเร็จรูปได้ ได้แก่ SSH(22), Telnet(23), HTTP(80), HTTPS(443), MS SQL(1433), Oracle(1521), MySQL(3306), RDP(3389), PostgresSQL(5432), Redis(6379) หรือเลือก Custom แล้วกรอกพอร์ตต้นและพอร์ตปลาย ส่วน UDP ต้องกรอกเองทั้งสองช่อง ถ้าเป็นพอร์ตเดียวให้กรอกเลขเดียวกันทั้งสองช่อง เช่น 8080 / 8080
- Source: เลือก 0.0.0.0/0 (ทุก IP), 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 หรือ Custom แล้วพิมพ์ CIDR เช่น 203.0.113.0/24 ถ้าเป็น IP เดียวให้ใส่ /32 ต่อท้าย (หลักการเขียน CIDR ดูได้ที่ RFC 4632)
- Note: บันทึกสั้น ๆ ว่ากฎนี้มีไว้ทำอะไร
ตัวอย่างชุดกฎของเว็บเซิร์ฟเวอร์ Linux ที่ผู้ดูแลทำงานจากสำนักงานเดียว
| Action | Protocol | Port (or range) | Source | Note |
|---|---|---|---|---|
| Allow | TCP | SSH(22) | 198.51.100.25/32 | ssh from office |
| Allow | TCP | HTTP(80) | 0.0.0.0/0 | web |
| Allow | TCP | HTTPS(443) | 0.0.0.0/0 | web tls |
อย่าเปิด SSH, RDP หรือพอร์ตฐานข้อมูลให้ 0.0.0.0/0 เพราะพอร์ตเหล่านี้ถูกสแกนและเดารหัสผ่านอยู่ตลอดเวลา ถ้ากรอกพอร์ตหรือ CIDR ผิดรูปแบบ ช่องจะเป็นสีแดงพร้อมข้อความ Invalid port number หรือ Invalid source value
ขั้นตอนที่ 4: ตรวจ Outbound Rules แล้วบันทึก
คลิกแท็บ Outbound Rules ปุ่มจะเปลี่ยนเป็น Add outbound rule และคอลัมน์ Source จะเปลี่ยนเป็น Destination ถ้าเซิร์ฟเวอร์ต้องเชื่อมต่อออกไปภายนอก เช่น อัปเดตแพ็กเกจหรือเรียก API ของคู่ค้า ให้แน่ใจว่ามีกฎ Allow สำหรับปลายทางและพอร์ตที่ต้องใช้ เช่น TCP 80/443 และ UDP 53 สำหรับ DNS
เมื่อครบแล้ว คลิก Save changes ปุ่มนี้กดได้ต่อเมื่อกลุ่มมีกฎอย่างน้อย 1 ข้อและไม่มีกฎซ้ำ หากมีกฎซ้ำ ระบบจะแสดงข้อความ Duplicate Inbound found (หรือ Duplicate Outbound found) ให้แก้แถวที่ซ้ำก่อน เมื่อบันทึกสำเร็จ ระบบจะพากลับไปหน้ารายการ และกลุ่มใหม่จะอยู่บนสุดของรายการ