วิธีทำให้เว็บไซต์ WordPress ปลอดภัยแบบมืออาชีพ

ทำไมเราต้องทำให้ WordPress ปลอดภัย เพราะถ้าเว็บไซต์เราพังจะกระทบกับธุรกิจ ซึ่งความเสียหายมากน้อยแล้วแต่มูลค่าธุรกิจของแต่ละคน
การทำให้ WordPress ปลอดภัยไม่ได้ขึ้นอยู่กับ Plugin เพียงตัวเดียวครับ แต่มันคือ “การป้องกันแบบเชิงลึก” (Defense in Depth) เปรียบเหมือนการสร้างปราสาทที่ไม่ใช่แค่มีประตูหนา แต่ต้องมีทั้งคูเมือง กำแพงเมือง และยามเฝ้าตู้เซฟด้านใน
การรักษาความปลอดภัยที่ดีที่สุดคือ แนวคิดแบบ Layered หรือหลายชั้น (Defense-in-Depth) โดยเริ่มจากระดับที่ไกลที่สุด (Domain Name) ไปจนถึงระดับแอปพลิเคชัน (WordPress เอง) แม้ชั้นใดชั้นหนึ่งจะถูกเจาะทะลุ ชั้นอื่น ๆ ยังสามารถป้องกันได้
บทความนี้จะแบ่งเป็น 5 Layer ตั้งแต่ระดับ Domain Name จนถึง App พร้อมคำแนะนำปฏิบัติจริงที่ใช้ได้ทันที
สารบัญ
Domain Name & DNS (ประตูนอกสุด)
จุดที่หลายคนมักมองข้าม แต่ถ้าโดนเจาะตรงนี้ แฮกเกอร์สามารถยึดเว็บไซต์ของคุณไปได้แบบ 100% โดยไม่ต้องแตะ WordPress เลยด้วยซ้ำ
Registrar Security
ล็อกบัญชีผู้ให้บริการโดเมน (เช่น GoDaddy, Namecheap) ด้วย 2FA (Two-Factor Authentication) เสมอ หรือตั้งรหัสผ่านยากๆ หากไม่มี 2FA
Domain Privacy
เปิดใช้งาน WHOIS Privacy เพื่อซ่อนอีเมลและเบอร์โทรศัพท์ของคุณจากการถูกสแกนไปทำ Social Engineering
DNSSEC
เปิดใช้งาน DNSSEC เพื่อป้องกันการโจมตีแบบ DNS Spoofing/Cache Poisoning (การดักเปลี่ยนเส้นทางทราฟฟิกไปยังเว็บปลอม)
Network & Edge (กำแพงเมืองรอบนอก)
Cloud WAF
Web Application Firewall ระดับ Domain คือการป้องกันแอปพลิเคชันเว็บที่ทำงานบน Layer 7 (OSI Model) โดยเฉพาะเจาะจงรายโดเมนหรือซับโดเมน ช่วยกรองทราฟฟิกที่เป็นอันตราย (SQL Injection, XSS) ก่อนถึงเซิร์ฟเวอร์ สามารถเปิด-ปิด ปรับแต่งกฎการป้องกันได้ละเอียดระดับรายเว็บ ผ่าน Cloud/Reverse Proxy เพื่อให้มี WAF ครอบคลุมตั้งแต่ระดับ DNS เช่น Cloudflare หรือ Sucuri
แนะนำให้ใช้แบบ version เสียเงินเพราะตัวฟรีเดี้ยงบ่อยมากโดยเฉพาะช่วงคนใช้เยอะ แต่ก็แลกมากับความช้านิดหน่อยราวๆ 1-200 ms โดยเฉลี่ย บางช่วงลากไป 600 ms ก็มีประจำ
Domain DDoS protection
คือระบบ/บริการที่ช่วยป้องกันการโจมตีแบบ Distributed Denial of Service ซึ่งเป็นการยิงทราฟฟิกจำนวนมหาศาลใส่เว็บ/เซิร์ฟเวอร์ จนระบบล่มหรือใช้งานไม่ได้ เราสามารถซื้อบริการเสริมตัวนี้จากผู้ให้บริการ Domain หรือ ผู้ให้บริการภายนอกได้เลย ส่วนใหญ่ไม่ค่อยแพง
การกรองทราฟฟิกที่ไม่ดีออกไปก่อนที่มันจะวิ่งมาถึงเซิร์ฟเวอร์ของคุณ
SSL/TLS Certificate
บังคับใช้ HTTPS เสมอเพื่อเข้ารหัสข้อมูลที่รับส่งระหว่างเบราว์เซอร์กับเซิร์ฟเวอร์ แนะนำเป็นแบบ Full (Strict) ใน Cloudflare หรือใช้ Let’s Encrypt ร่วมกับ Certbot auto-renew เพื่อต่ออายุแบบอัตโนมัติ
Server Infrastructure & Hosting
(โครงสร้างพื้นฐานและค่ายทหาร)
ต่อให้ WordPress ปลอดภัยแค่ไหน แต่ถ้าหลังบ้านเซิร์ฟเวอร์รั่ว ก็พังได้เหมือนกันครับ
เลือก Managed WordPress Hosting
Hosting ที่ปรับแต่งมาให้เหมาะกับ WordPress โดยเฉพาะ มี Automatic Updates, Built-in WAF, Daily Backup, Isolated Environment
เลือกใช้ Control Panel ยุคใหม่ที่ออกแบบเน้นระบบ Cluster เรื่อง Isolation หรือการแยกส่วนความปลอดภัย คือ ถ้าเว็บไซต์ใครโดนแฮค เว็บไซต์ของคนอื่นๆ ที่อยู่ใน server เดียวกันจะไม่โดนแฮคไปด้วย เนื่องจากออกแบบระบบให้แยกจากกันไปเลย
การเลือก hosting สำหรับ WordPress ให้ “ปลอดภัยจริง” ต้องมองเป็น ระบบ (stack) ไม่ใช่แค่ CPU/RAM เพราะจุดพังส่วนใหญ่คือ security + isolation + config ไม่ใช่สเปคบ้านๆ ราคาถูกอะไรก็ได้
PHP Version
ใช้ PHP เวอร์ชันล่าสุดที่ยังได้รับการสนับสนุน (Security Support)
SFTP > FTP
เลิกใช้ FTP ธรรมดา (ที่ส่งรหัสผ่านแบบไม่เข้ารหัส) แล้วเปลี่ยนมาใช้ SFTP หรือ SSH Key
File Permissions
ตั้งค่าสิทธิ์ของไฟล์และโฟลเดอร์ให้ถูกต้อง
- Folders:
755 - Files:
644 - wp-config.php: 400 หรือ 440 (ขึ้นอยู่กับการตั้งค่าเซิร์ฟเวอร์)
Disable Directory Browsing
ปิดไม่ให้คนนอกเข้ามาดูโครงสร้างโฟลเดอร์ในเว็บได้ผ่านไฟล์ .htaccess
Database (คลังมหาสมบัติ)
ฐานข้อมูลคือที่เก็บยูสเซอร์ รหัสผ่าน และเนื้อหาทั้งหมดของเว็บไซต์
เปลี่ยน Table Prefix: ตอนติดตั้งอย่าใช้ wp_ เริ่มต้น ให้เปลี่ยนเป็นค่าอื่น เช่น wp_s3cur3_ เพื่อหลบการสแกนอัตโนมัติ
แยก User ฐานข้อมูล: สิทธิ์ของ User ที่ใช้เชื่อมต่อ WordPress ควรเข้าถึงได้เฉพาะฐานข้อมูลของเว็บนั้นๆ ไม่ควรใช้สิทธิ์ระดับ Root
ปิด Remote Access: ตั้งค่าให้ฐานข้อมูลรับการเชื่อมต่อจาก localhost เท่านั้น ไม่เปิดให้ต่อจากไอพีนอกโดยไม่จำเป็น
Backup ฐานข้อมูลทุกวัน: ส่วนใหญ่ทำร่วมกับตัว files อยู่แล้ว
Application – WordPress (ห้องโถงพระราชวัง)
ด่านสุดท้ายที่ตัวแอปพลิเคชัน WordPress เอง ซึ่งเป็นจุดที่ถูกโจมตีบ่อยที่สุด
Core Security
อัปเดต WordPress, Plugins, Themes ทุกครั้งที่มีการอัปเดตความปลอดภัย (เปิด Auto Update สำหรับ Minor)
ลบ Theme และ Plugin ที่ไม่ได้ใช้ทิ้งทั้งหมด (ห้ามแค่ปิดใช้งาน ให้ลบออกไปเลย)
Login Security
- ใช้ 2FA สำหรับแอดมิน
- เปลี่ยน URL หน้าล็อกอิน (ซ่อน /wp-admin)
- จำกัดจำนวนครั้งในการเดารหัสผ่าน (Limit Login Attempts)
- ปิด XML-RPC (เพิ่มใน .htaccess หรือใช้ปลั๊กอิน)
Hardening
wp-config.php: ใส่โค้ดปิดการแก้ไขไฟล์ผ่านหลังบ้าน เพื่อป้องกันไม่ให้แฮกเกอร์แอบแก้โค้ดได้หากหลุดเข้ามา
define( 'DISALLOW_FILE_EDIT', true );
ปิด XML-RPC
หากไม่ได้ใช้แอปมือถือของ WordPress หรือการดึงข้อมูลผ่านแอปภายนอก ควรปิดทิ้งเพราะมักถูกใช้สุ่มรหัสผ่าน (Brute Force)
ตารางสรุปการเช็คลิสต์ (Quick Checklist)
| Layer | สิ่งที่ต้องทำทันที | ความสำคัญ |
|---|---|---|
| Domain | เปิด 2FA ที่ Registrar | สูงมาก |
| Network | ต่อผ่าน Cloudflare / เปิด SSL | สูงมาก |
| Server | อัปเดต PHP / ใช้ SFTP | ปานกลาง |
| Database | เปลี่ยน Prefix / รหัสผ่านยากๆ | ปานกลาง |
| App | อัปเดตปลั๊กอิน / เปิด 2FA ที่ Login | สูงมาก |
คำแนะนำ
ไม่มีระบบไหนปลอดภัย 100% สิ่งที่สำคัญพอๆ กับการป้องกันคือ “การสำรองข้อมูล (Backup)” ครับ ควรมีระบบ Auto-backup เก็บแยกไว้นอกเซิร์ฟเวอร์เสมอ (เช่น Google Drive, AWS S3) เผื่อเกิดเหตุไม่คาดฝัน จะได้กู้คืนได้ทันที
Plugins เสริม
รายการ plugins สำหรับเพิ่มความปลอดภัยให้ WordPress