คำตอบสั้น ๆ: จัดการกฎ Firewall ผ่านหน้าจอ Plesk เปิดพอร์ตเฉพาะที่จำเป็น จำกัดต้นทาง และแก้เมื่อล็อกตัวเองออกจากเซิร์ฟเวอร์
คู่มือนี้อธิบาย Plesk Firewall ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
เซิร์ฟเวอร์ที่ติดตั้ง Plesk ใหม่มักเปิดพอร์ตไว้มากกว่าที่จำเป็น ทุกพอร์ตที่เปิดสู่อินเทอร์เน็ตคือช่องทางที่ผู้โจมตีสแกนหาได้ การปิดสิ่งที่ไม่ใช้จึงเป็นการลดความเสี่ยงที่ทำได้ทันทีและฟรี
Plesk มีส่วนขยาย Firewall ที่จัดการกฎผ่านหน้าจอได้ โดยเบื้องหลังคือ iptables หรือ nftables ของระบบ คู่มือนี้ตั้งค่าให้ปลอดภัยพร้อมวิธีกู้เมื่อพลาด
สิ่งที่ต้องเตรียม (Plesk Firewall)
- Plesk Obsidian และสิทธิ์ผู้ดูแลระบบ
- ช่องทางสำรองเข้าเซิร์ฟเวอร์ เช่น Console ผ่านหน้าเว็บของผู้ให้บริการ เตรียมไว้ก่อนเริ่มเสมอ
- รายการบริการที่ใช้งานจริงและพอร์ตของแต่ละบริการ
ขั้นตอนที่ 1: ติดตั้งส่วนขยาย
เข้า Plesk ไปที่ Extensions ค้นหาคำว่า Firewall แล้วติดตั้ง จากนั้นจะพบเมนูใหม่ที่ Tools & Settings แล้ว Firewall
ตรวจจากบรรทัดคำสั่งได้เช่นกัน
plesk bin extension --list | grep -i firewall
plesk ext firewall --status
ขั้นตอนที่ 2: ดูกฎปัจจุบันก่อนแก้
ในหน้า Firewall กด Modify Plesk Firewall Rules จะเห็นรายการกฎที่ใช้อยู่
ตรวจจากระบบโดยตรงเพื่อให้เห็นภาพจริง
sudo iptables -L -n --line-numbers | head -40
sudo ss -tlnp
คำสั่งที่สองแสดงว่ามีบริการใดฟังพอร์ตอะไรอยู่จริง เทียบกับรายการที่คุณคิดว่าควรมี หากเห็นบริการที่ไม่รู้จัก ให้ตรวจสอบก่อนปิด
ขั้นตอนที่ 3: พอร์ตที่จำเป็นของ Plesk
ก่อนปิดอะไร ต้องรู้ว่าพอร์ตไหนขาดไม่ได้
- 22 SSH
- 80, 443 เว็บไซต์
- 8443 หน้าจัดการ Plesk แบบเข้ารหัส
- 8447 ตัวอัปเดตและติดตั้งของ Plesk จำเป็นสำหรับการอัปเดต
- 21 และ 49152-65535 FTP และช่วงพอร์ตแบบ Passive หากใช้ FTP
- 25, 465, 587 ส่งอีเมล
- 110, 995, 143, 993 รับอีเมล POP3 และ IMAP
- 53 DNS หากเซิร์ฟเวอร์นี้ทำหน้าที่ Name Server
พอร์ตที่ควรปิดหรือจำกัด ได้แก่ 8880 ซึ่งคือหน้า Plesk แบบไม่เข้ารหัส และ 3306 ของ MySQL หากไม่ได้ให้เชื่อมต่อจากภายนอก
ขั้นตอนที่ 4: เพิ่มกฎใหม่
ในหน้า Firewall กด Add Custom Rule ตั้งค่า
- Rule name ตั้งชื่อที่สื่อความ เช่น "MySQL จากออฟฟิศ"
- Match direction เลือก Incoming
- Action เลือก Allow หรือ Deny
- Ports ใส่หมายเลขพอร์ตและเลือกโพรโทคอล
- Sources ใส่ IP หรือช่วง IP ที่อนุญาต หากเว้นว่างคืออนุญาตทุกที่
ตัวอย่างที่ควรทำ จำกัดหน้าจัดการ Plesk ให้เข้าได้เฉพาะจาก IP ของออฟฟิศ
- Ports: 8443
- Action: Allow
- Sources: 203.0.113.0/24
แล้วเพิ่มอีกกฎที่ปฏิเสธ 8443 จากที่อื่นทั้งหมด โดยวางไว้หลังกฎอนุญาต เพราะกฎถูกใช้ตามลำดับจากบนลงล่าง
ขั้นตอนที่ 5: ตั้งนโยบายเริ่มต้น
ในหน้าเดียวกันมีตัวเลือกสำหรับการเชื่อมต่อขาเข้าที่ไม่ตรงกับกฎใด แนะนำให้ตั้งเป็น Deny ซึ่งหมายความว่าอะไรที่ไม่ได้อนุญาตไว้จะถูกปฏิเสธทั้งหมด
ก่อนตั้งค่านี้ ต้องแน่ใจว่ามีกฎอนุญาต SSH และ 8443 อยู่แล้ว ไม่เช่นนั้นคุณจะเข้าเซิร์ฟเวอร์ไม่ได้ทันทีที่กดใช้งาน