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

wordpress security

ทำไมเราต้องทำให้ 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