เปิดและปิดพอร์ตด้วย Plesk Firewall

จัดการกฎ Firewall ผ่านหน้าจอ Plesk เปิดพอร์ตเฉพาะที่จำเป็น จำกัดต้นทาง และแก้เมื่อล็อกตัวเองออกจากเซิร์ฟเวอร์

โดย ทีมงาน THAI DATA CLOUD อัปเดต อ่าน 7 นาที เข้าชม 3 ครั้ง

แชร์FacebookXLINELinkedIn
Plesk Firewall — เปิดและปิดพอร์ตด้วย Plesk Firewall
เปิดและปิดพอร์ตด้วย Plesk Firewall

คำตอบสั้น ๆ: จัดการกฎ 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 อยู่แล้ว ไม่เช่นนั้นคุณจะเข้าเซิร์ฟเวอร์ไม่ได้ทันทีที่กดใช้งาน

ขั้นตอนที่ 6: ใช้งานกฎอย่างปลอดภัย

เมื่อกด Apply Changes Plesk จะแสดงหน้าจอนับถอยหลังพร้อมปุ่มยืนยัน หากคุณไม่กดยืนยันภายในเวลาที่กำหนด ระบบจะย้อนกฎกลับเป็นแบบเดิมอัตโนมัติ

นี่คือกลไกที่ช่วยชีวิตเมื่อตั้งกฎผิด ใช้ประโยชน์จากมันด้วยการเปิดหน้าต่างใหม่ทดสอบการเชื่อมต่อก่อนกดยืนยัน

# จากเครื่องคุณ ทดสอบก่อนกดยืนยัน
ssh [email protected]
curl -skI https://203.0.113.10:8443 | head -1

หากทั้งสองคำสั่งทำงานได้ จึงค่อยกลับไปกดยืนยันในหน้า Plesk

ขั้นตอนที่ 7: กู้เมื่อถูกล็อกออก

หากพลาดจนเข้าไม่ได้ ให้เข้าผ่าน Console ของผู้ให้บริการแล้วปิด Firewall ชั่วคราว

# ปิดกฎของ Plesk Firewall
sudo plesk ext firewall --disable

# หรือล้างกฎทั้งหมดของ iptables
sudo iptables -P INPUT ACCEPT
sudo iptables -F INPUT

จากนั้นเข้า Plesk แก้กฎให้ถูกต้องแล้วเปิดใหม่

sudo plesk ext firewall --enable

ขั้นตอนที่ 8: ใช้ร่วมกับ Fail2Ban

Firewall ปิดพอร์ตที่ไม่ใช้ ส่วน Fail2Ban แบน IP ที่พยายามเดารหัสผ่านบนพอร์ตที่เปิดอยู่ ควรใช้คู่กัน

ไปที่ Tools & Settings แล้ว IP Address Banning เปิดใช้งานแล้วตรวจว่า Jail ที่สำคัญเปิดอยู่

sudo fail2ban-client status
sudo fail2ban-client status plesk-panel
sudo fail2ban-client status ssh

ดู IP ที่ถูกแบนและปลดแบนเมื่อจำเป็น

sudo fail2ban-client set plesk-panel unbanip 203.0.113.55

ปัญหาที่พบบ่อยเกี่ยวกับ Plesk Firewall

เว็บเข้าไม่ได้หลังเปิด Firewall

ตรวจว่ากฎอนุญาตพอร์ต 80 และ 443 อยู่ และตรวจว่านโยบายเริ่มต้นไม่ได้ปิดกั้นทุกอย่างโดยไม่มีกฎอนุญาต

อัปเดต Plesk ไม่ได้

พอร์ต 8447 ถูกปิด ซึ่งจำเป็นสำหรับตัวติดตั้งและอัปเดตของ Plesk เปิดเฉพาะขาออกก็เพียงพอในบางกรณี แต่ขาเข้าจำเป็นสำหรับบางฟีเจอร์

FTP เชื่อมต่อได้แต่แสดงรายการไฟล์ไม่ได้

ช่วงพอร์ตแบบ Passive ถูกปิด เปิดช่วง 49152-65535 หรือกำหนดช่วงที่แคบกว่าใน ProFTPD แล้วเปิดเฉพาะช่วงนั้น

กฎที่ตั้งไว้หายหลังรีบูต

ตรวจว่าส่วนขยาย Firewall เปิดใช้งานอยู่ และอย่าแก้ iptables ด้วยมือควบคู่กัน เพราะ Plesk จะเขียนทับกฎเมื่อใช้งานกฎของตัวเอง

ต้องการ Cloud VPS พร้อม Plesk ที่ตั้งค่าความปลอดภัยมาให้แล้ว ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/

สรุปขั้นตอน Plesk Firewall

ทบทวน Plesk Firewall ทั้งหมดตามลำดับ ก่อนนำไปใช้กับระบบจริง

  1. ติดตั้งส่วนขยาย
  2. ดูกฎปัจจุบันก่อนแก้
  3. พอร์ตที่จำเป็นของ Plesk
  4. เพิ่มกฎใหม่
  5. ตั้งนโยบายเริ่มต้น
  6. ใช้งานกฎอย่างปลอดภัย
  7. กู้เมื่อถูกล็อกออก
  8. ใช้ร่วมกับ Fail2Ban

เมื่อทำครบทุกข้อแล้ว Plesk Firewall จะพร้อมใช้งาน หากผลลัพธ์ไม่เป็นไปตามที่คาด ให้ย้อนกลับไปดูหัวข้อปัญหาที่พบบ่อยด้านบน ซึ่งรวบรวมกรณีที่พบจริงจากการใช้งาน Plesk Firewall ไว้แล้ว

อ่านเพิ่มเติมเกี่ยวกับ Plesk Firewall

แชร์FacebookXLINELinkedIn

มีคำถามเรื่องบริการ? ติดต่อทีมงาน