คำตอบสั้น ๆ: ตั้ง ECS Security Group บน Alibaba Cloud ให้ถูก เข้าใจ Priority 1–100 กับ Allow/Deny เปิดเว็บ 80/443 จำกัด SSH/RDP เฉพาะ IP สำนักงาน และทดสอบพอร์ต
คู่มือนี้อธิบาย ECS Security Group ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
ECS Security Group คือไฟร์วอลล์เสมือนของ Alibaba Cloud ที่ครอบเครื่อง ECS ไว้ แต่ละกฎกำหนดทิศทาง (Inbound หรือ Outbound) นโยบาย Allow หรือ Deny ลำดับความสำคัญ (Priority) โปรโตคอล พอร์ต และต้นทางหรือปลายทาง กฎมีผลทันทีที่บันทึก จึงทั้งช่วยปิดช่องโหว่ได้เร็ว และทำให้เซิร์ฟเวอร์เข้าไม่ได้ทันทีถ้าตั้งผิด
คู่มือนี้เหมาะกับผู้ดูแล ECS ที่รันเว็บไซต์ แอปพลิเคชัน หรือฐานข้อมูล เมื่อทำครบ คุณจะเข้าใจว่า Alibaba Cloud ตัดสินกฎอย่างไร มีกลุ่มกฎที่เปิดเว็บ 80/443 ให้ทุกคน เปิด SSH หรือ RDP เฉพาะ IP สำนักงาน ให้ฐานข้อมูลรับเฉพาะเครื่องแอป และทดสอบแล้วว่าทำงานตามที่ตั้งใจ
สิ่งที่ต้องเตรียม (ECS Security Group)
- เครื่อง ECS ใน VPC อย่างน้อย 1 เครื่อง และ RAM User ที่มีสิทธิ์จัดการ ECS (ไม่ควรใช้บัญชีหลัก)
- รายการพอร์ตที่แอปใช้จริง เช่น 22 (SSH), 3389 (RDP), 80/443 (เว็บ), 3306 (MySQL)
- Public IP ของสำนักงานหรือผู้ดูแล เช่น
198.51.100.25 - ทางเข้าสำรองกรณีตั้งกฎผิด คือปุ่ม Connect ของเครื่องในคอนโซล ซึ่งมี Workbench และ VNC
Security Group ทำงานคู่กับไฟร์วอลล์ในระบบปฏิบัติการ เช่น firewalld, UFW หรือ Windows Defender Firewall ต้องเปิดพอร์ตเดียวกันทั้งสองชั้น อ่านภาพรวมการป้องกันเซิร์ฟเวอร์ได้ที่ ความปลอดภัย Cloud Server
ขั้นตอนที่ 1: เข้าใจ Priority และลำดับการตัดสินกฎ
บน Alibaba Cloud ค่า Priority อยู่ระหว่าง 1 ถึง 100 ตัวเลขน้อยกว่าสำคัญกว่า ระบบเรียงกฎจาก Priority 1 ไปหา 100 ถ้าเท่ากัน กฎ Deny จะถูกตรวจก่อน Allow และกฎแรกที่ตรงกับทราฟฟิกเป็นตัวตัดสิน กฎที่เหลือไม่ถูกนำมาพิจารณา ถ้าเครื่องผูก ECS Security Group หลายกลุ่ม กฎของทุกกลุ่มจะถูกนำมารวมแล้วเรียงตามหลักเดียวกัน
ค่าเริ่มต้นของ ECS Security Group สองประเภทต่างกัน Basic Security Group อนุญาตให้เครื่องในกลุ่มเดียวกันคุยกันได้และอนุญาตขาออกทั้งหมด ส่วน Enterprise Security Group (เอกสารเก่าเรียก Advanced) ปฏิเสธทั้งขาเข้าและขาออกจนกว่าจะมีกฎ Allow และไม่มีการคุยกันภายในกลุ่มโดยอัตโนมัติ ทราฟฟิกขาเข้าที่ไม่มีกฎ Allow จะไม่ถึงเครื่องในทั้งสองแบบ
ขั้นตอนที่ 2: สร้าง ECS Security Group สำหรับเครื่องเว็บ
เปิด ECS console เลือก Region ให้ตรงกับเครื่อง ที่เมนูซ้ายเลือก Network & Security > Security Groups แล้วคลิก Create Security Group ตั้งชื่อ ECS Security Group ให้บอกหน้าที่ เช่น sg-web-public เลือก VPC เดียวกับเครื่อง และเลือกประเภท Basic สำหรับงานทั่วไป หรือ Enterprise ถ้าต้องการให้ปฏิเสธทุกอย่างเป็นค่าเริ่มต้นและมีเครื่องจำนวนมาก
คลิก ID ของ ECS Security Group เพื่อเปิดหน้ารายละเอียด ที่ส่วนกฎจะแยกทิศทาง Inbound กับ Outbound เลือกทิศทางที่ต้องการแล้วคลิก Add Rule เพื่อเพิ่มกฎทีละแถว
ขั้นตอนที่ 3: เปิดเว็บ 80/443 ให้ทุกคน
ในทิศทาง Inbound เพิ่มกฎ Action เป็น Allow, Priority 1, Protocol เป็น TCP พอร์ต 80 และ 443 และ Source เป็น 0.0.0.0/0 ถ้าเว็บรองรับ IPv6 ให้เพิ่มกฎคู่กันที่ Source เป็น ::/0 ใส่ Description เช่น Public web เพื่อให้คนดูแลคนต่อไปรู้ว่ากฎนี้มีไว้ทำไม
เมื่อเรียกผ่าน API หรือ CLI ช่วงพอร์ตเขียนเป็นรูปแบบ เริ่ม/สิ้นสุด เช่น 443/443 หรือ 8000/8080 และพอร์ตของ ICMP ใช้ -1/-1 ในคอนโซลจะมีตัวช่วยเลือกพอร์ตที่ใช้บ่อยให้
ขั้นตอนที่ 4: จำกัด SSH หรือ RDP เฉพาะ IP สำนักงาน
เพิ่มกฎ Allow, Priority 1, TCP พอร์ต 22 (Linux) หรือ 3389 (Windows) และ Source เป็น 198.51.100.25/32 ซึ่งหมายถึง IP เดียว จากนั้นตรวจรายการกฎว่ามีกฎ 22 หรือ 3389 ที่ Source เป็น 0.0.0.0/0 หลงเหลือจากตอนซื้อเครื่องหรือไม่ ถ้ามีให้ลบ เพราะพอร์ตบริหารจัดการที่เปิดให้ทั้งอินเทอร์เน็ตจะถูกสแกนและเดารหัสผ่านตลอดเวลา
คำเตือน: ก่อนลบกฎเปิดกว้าง ให้ทดสอบเข้าด้วย IP สำนักงานผ่านกฎใหม่ให้ได้ก่อน ถ้าล็อกตัวเองออก ให้ใช้ Connect > Workbench หรือ VNC จากคอนโซลเข้าไปแก้ ซึ่งไม่ผ่าน Security Group