ModSecurity WAF คืออะไร?
ModSecurity เป็น Web Application Firewall (WAF) ที่ช่วยป้องกันการโจมตีเว็บแอปพลิเคชัน เช่น SQL Injection, Cross-Site Scripting (XSS), Remote File Inclusion และการโจมตีอื่นๆ Plesk บน Cloud VPS ของ de.co.th รองรับ ModSecurity ในตัว ทำให้เปิดใช้งานได้ง่ายผ่าน GUI เป็นแนวหน้าของการป้องกันเว็บไซต์ WordPress จากภัยคุกคามทางออนไลน์
ประโยชน์ของการใช้ ModSecurity
- ป้องกัน SQL Injection — WAF สามารถตรวจจับและบล็อกคำสั่ง SQL ที่อันตรายซึ่งอาจถูกแทรกเข้ามาผ่าน Form ต่างๆ ลดความเสี่ยงจากการขโมยข้อมูล Database
- ป้องกัน XSS (Cross-Site Scripting) — ตรวจจับและบล็อกโค้ด JavaScript ที่ถูกแทรกเข้ามาในข้อมูล เพื่อป้องกันการโจมตี Cookie Stealing หรือ Session Hijacking
- ป้องกัน Remote Code Execution — ป้องกันการอัปโหลดไฟล์อันตรายหรือการทำงานโค้ดที่ไม่ได้รับอนุญาต
- บันทึกและตรวจสอบกิจกรรม — ModSecurity บันทึกการโจมตีทั้งหมด ช่วยให้คุณสามารถวิเคราะห์และปรับปรุงการป้องกันได้
- ลดการใช้แบนด์วิดท์ — บล็อกการโจมตี Bot ที่พยายามดึงข้อมูลจำนวนมากจากเว็บไซต์
เปิดใช้งาน ModSecurity ใน Plesk
การเปิดใช้งาน ModSecurity ใน Plesk นั้นสามารถทำได้ง่ายมากผ่านส่วนติดต่อกราฟิก โดยไม่ต้องเข้า Command Line เลย
ขั้นตอนที่ 1: เข้า Plesk Security Settings
เข้า Plesk Dashboard > Tools & Settings > Security > Web Application Firewall (ModSecurity)
ขั้นตอนที่ 2: เลือกโหมดการทำงาน
- Detection only — โหมดตรวจสอบอย่างเดียว WAF จะบันทึกการโจมตี แต่ไม่บล็อก ใช้สำหรับทดสอบว่ามี False Positive อะไรบ้าง
- On — โหมดปิดกั้น WAF จะบล็อกการโจมตีจริง แนะนำให้เปลี่ยนหลังจากทดสอบแล้ว
- Off — ปิด ModSecurity ทั้งหมด (ไม่แนะนำ)
ให้เลือก “Detection only” ก่อนเพื่อดูผลกระทบต่อเว็บไซต์ของคุณ
ขั้นตอนที่ 3: ติดตั้ง ModSecurity Extension (หากยังไม่มี)
หากยังไม่มี ModSecurity ใน Plesk ให้ติดตั้งผ่าน Plesk Extensions หรือ SSH Command:
# ติดตั้ง ModSecurity Extension
plesk bin extension --install modsecurity
# หรือผ่าน Plesk GUI: Extensions Repository > ModSecurity > Install
เลือก Ruleset ที่เหมาะสม
Plesk รองรับ Ruleset หลายตัว แต่อะไรต่อไปนี้เป็นตัวเลือกที่ได้รับความนิยม
OWASP ModSecurity Core Rule Set (CRS)
นี่คือ Ruleset มาตรฐานสากลที่ได้รับการยอมรับ ครอบคลุมการป้องกันเก่าแก่ของการโจมตีเว็บ เช่น SQL Injection, XSS, Remote Code Execution, Path Traversal และอื่นๆ ประจำวันมีการอัปเดตกฎใหม่เพื่อรับมือกับวิธีการโจมตีใหม่
Comodo WAF Rules
Ruleset นี้ได้รับการดูแลและอัปเดตบ่อยกว่า OWASP CRS มีความเชี่ยวชาญในการป้องกันการโจมตีที่นำเทรนด์ใหม่ๆ อาจมี False Positive ที่น้อยกว่า
ตั้งค่า ModSecurity สำหรับ WordPress โดยเฉพาะ
ใน Plesk สามารถตั้งค่า ModSecurity แยกตามแต่ละ Domain ได้ ซึ่งเป็นข้อดีเพราะเว็บ WordPress อาจต้องการการตั้งค่าที่แตกต่างจากเว็บอื่น
ขั้นตอน:
- เข้า Plesk > Domains > เลือก Domain WordPress ของคุณ
- ไปที่แท็บ “Web Application Firewall”
- ตั้งค่า Security Mode เป็น “On” (หลังจากทดสอบด้วย Detection only แล้ว)
- เลือก Ruleset ที่ต้องการ
- บันทึกการตั้งค่า
แก้ปัญหา False Positive
ModSecurity อาจบล็อกการทำงานปกติของ WordPress ได้ เช่น การบันทึกบทความที่มีโค้ด HTML, การอัปโหลดไฟล์ผ่าน Media Library, หรือการใช้งาน Plugin บางตัว นี่คือวิธีการแก้ปัญหา
ตรวจสอบ ModSecurity Log
# ดู ModSecurity Log ผ่าน SSH
tail -f /var/log/modsec_audit.log
# หรือค้นหากิจกรรมที่มีคำว่า DENIED (ถูกบล็อก)
grep "DENIED" /var/log/modsec_audit.log | tail -20
ทางเลือกอื่น คุณสามารถดู Log ผ่าน Plesk GUI ได้ที่ Plesk > Logs > ModSecurity Audit Log
เพิ่ม Rule Exception
เมื่อพบ False Positive ให้เพิ่ม Rule Exception ผ่าน Plesk GUI:
- ไปที่ Plesk > Tools & Settings > Security > Web Application Firewall
- ไปที่ Domain > ModSecurity Settings
- หาส่วน “Security Rule IDs to Turn Off”
- ใส่ Rule ID ที่ต้องการยกเว้น (หาได้จาก Log)
- บันทึกการตั้งค่า
ตัวอย่างการแก้ False Positive ทั่วไป
ปัญหา: เมื่อพยายามอัปโหลดไฟล์ขนาดใหญ่ผ่าน Media Library ModSecurity บล็อก
วิธีแก้: ปิดกฎที่ตรวจสอบขนาดไฟล์ (มักเป็น Rule ID 200000-200010) หรือเพิ่ม Exception สำหรับเส้นทาง wp-admin/upload.php
ปัญหา: เมื่อพยายามบันทึกบทความที่มี HTML หรือ JavaScript ModSecurity บล็อก
วิธีแก้: ปิดกฎที่ตรวจสอบ HTML/JavaScript (Rule ID 930100-930110) สำหรับ User Role ที่เชื่อถือได้ เช่น Admin เท่านั้น
คำแนะนำการใช้งาน ModSecurity อย่างมีประสิทธิผล
- เริ่มต้นด้วย Detection Only — ใช้โหมดนี้เป็นเวลา 2-3 สัปดาห์เพื่อเก็บสถิติและค้นหา False Positive ก่อนเปลี่ยนเป็น On
- ตรวจสอบ Log เป็นประจำ — ลองดู Log ทุกสัปดาห์เพื่อดูว่ามีการโจมตีใดเกิดขึ้นหรือไม่
- ปรับแต่ง Rule — จะไม่มี Rule ไหนที่สมบูรณ์ปกสิ้น ต้องปรับแต่งให้เหมาะสมกับเว็บของคุณ
- รวมกับเครื่องมืออื่น — ใช้ ModSecurity ร่วมกับ Fail2Ban, UFW Firewall และ Security Plugin อื่นๆ
- อัปเดต Ruleset — เปิดใช้งานการอัปเดต Ruleset อัตโนมัติ เพื่อให้ได้ความคุ้มครองทันสมัย
ข้อกำหนดเบื้องต้น
โปรดทราบว่า ModSecurity ใน Plesk จะทำงานได้ดีขึ้นหากคุณมี:
- Cloud VPS ของ de.co.th ที่มี Plesk ติดตั้งอยู่
- Plesk ต้องเป็นเวอร์ชัน 18.0 ขึ้นไป
- Apache หรือ Nginx Web Server (ส่วนใหญ่รองรับ)
- Apache modules mod_security2 ถูกติดตั้ง (โดยปกติ Plesk ติดตั้งให้เอง)
สรุป
ModSecurity WAF เป็นเครื่องมือสำคัญในการป้องกัน WordPress จากการโจมตีผ่านเว็บ Plesk บน Cloud VPS ของ de.co.th ทำให้การเปิดใช้งาน ModSecurity เป็นเรื่องง่ายผ่าน GUI โดยไม่ต้องแก้ไข Config ด้วยตัวเอง โดยใช้ร่วมกับ OWASP CRS หรือ Comodo WAF Rules จะช่วยป้องกันการโจมตีได้อย่างครอบคลุม สำคัญคือต้องปรับแต่ง False Positive ให้เหมาะสมเพื่อให้เว็บไซต์ทำงานได้อย่างราบรื่น

