WordPress เป็น CMS ที่ครองส่วนแบ่งตลาดโลกมากกว่า 43% ทำให้ตกเป็นเป้าหมายหลักของ Hacker และ Bot ที่พยายามบุกรุกเว็บไซต์อยู่ตลอดเวลา ในปี 2026 การโจมตียังคงเพิ่มสูงขึ้นเรื่อยๆ ดังนั้นการ Harden WordPress ให้ปลอดภัยจึงเป็นสิ่งที่เจ้าของเว็บไม่ควรละเลย
บทความนี้รวมทุกวิธีที่ใช้งานได้จริงในการป้องกัน WordPress จาก Brute Force, Malware, SQL Injection, XSS และการโจมตีรูปแบบอื่นๆ ตั้งแต่ขั้นพื้นฐานไปจนถึงระดับ Advanced
สารบัญบทความ
- ทำไม WordPress ถึงโดน Hack บ่อย
- ความปลอดภัยของหน้า Login
- อัปเดต WordPress, Theme และ Plugin
- ตั้งค่า File Permissions ให้ถูกต้อง
- ปิดฟีเจอร์ที่ไม่จำเป็น
- ติดตั้ง WAF และ Security Plugin
- บังคับใช้ HTTPS
- Backup อย่างถูกวิธี
- Harden wp-config.php
- ติดตามและ Monitor เว็บ
- ตารางเปรียบเทียบวิธีป้องกัน
- คำถามที่พบบ่อย
ทำไม WordPress ถึงโดน Hack บ่อย
มีเหตุผลหลักหลายประการที่ทำให้ WordPress ตกเป็นเป้าหมายของผู้ไม่ประสงค์ดี:
- ความนิยมสูง: WordPress ใช้งานกว่า 835 ล้านเว็บทั่วโลก Bot สแกนหา URL ที่รู้จักอยู่ตลอดเวลา
- Plugin และ Theme ที่มีช่องโหว่: มี Plugin ในตลาดหลายหมื่นตัว คุณภาพแตกต่างกัน บางตัวไม่ได้รับการอัปเดต
- ตั้งค่า Default ที่ไม่ปลอดภัย: เช่น Username "admin", URL Login ที่คาดเดาได้, ไม่มีการจำกัดการ Login
- ไม่อัปเดตซอฟต์แวร์: WordPress Core หรือ Plugin เก่ามักมีช่องโหว่ที่ถูกประกาศสาธารณะแล้ว
⚠️ สถิติน่ากลัว: จากรายงาน Sucuri ปี 2026 พบว่า 97% ของ WordPress ที่ถูก Hack เกิดจากช่องโหว่ใน Plugin และ Theme ที่ล้าสมัย ไม่ใช่ WordPress Core
ความปลอดภัยของหน้า Login
หน้า Login คือจุดอ่อนแรกที่ Hacker โจมตี วิธีป้องกันที่ควรทำ:
1. เปลี่ยน Username "admin" ทันที
WordPress ไม่อนุญาตให้เปลี่ยน Username โดยตรง ต้องสร้าง User ใหม่ที่มี Role Administrator แล้วลบ Username เดิมทิ้ง:
1. ไปที่ Users > Add New 2. ตั้ง Username ใหม่ที่ไม่ใช่ "admin" 3. ตั้ง Role เป็น Administrator 4. Login ด้วย Username ใหม่ 5. ลบ User "admin" เดิม
2. เปิดใช้งาน Two-Factor Authentication (2FA)
ติดตั้ง Plugin เช่น WP 2FA, Two Factor Authentication, หรือ Google Authenticator แล้วบังคับใช้สำหรับทุก Role Administrator
3. จำกัดจำนวนครั้งที่ Login ผิดพลาด
ใช้ Plugin Limit Login Attempts Reloaded หรือ Login LockDown เพื่อ Block IP ที่พยายาม Login ผิดเกินกำหนด เช่น Block หลัง 5 ครั้งใน 5 นาที
4. ซ่อนพาธ Login
เปลี่ยน /wp-login.php และ /wp-admin เป็น URL ที่คาดเดาไม่ได้ด้วย Plugin WPS Hide Login:
# ตัวอย่างเปลี่ยนเป็น https://yoursite.com/my-secret-door
5. ใช้รหัสผ่านที่แข็งแกร่ง
ใช้รหัสผ่านอย่างน้อย 16 ตัวอักษร ผสมตัวพิมพ์ใหญ่-เล็ก ตัวเลข และอักขระพิเศษ แนะนำให้ใช้ Password Manager เช่น Bitwarden หรือ 1Password
อัปเดต WordPress, Theme และ Plugin
วิธีป้องกันที่ง่ายและได้ผลที่สุดคือการอัปเดตซอฟต์แวร์อยู่เสมอ:
- WordPress Core: เปิด Auto-Update สำหรับ Minor Releases (Security Patches)
- Plugin: ตรวจสอบและอัปเดตทุกสัปดาห์ ลบ Plugin ที่ไม่ได้ใช้ทิ้งทันที
- Theme: อัปเดต Theme ที่ใช้งาน และลบ Theme ที่ไม่ได้ใช้ออก
💡 เคล็ดลับ: ก่อนอัปเดตครั้งใหญ่ ให้ Backup ข้อมูลก่อนเสมอ และทดสอบใน Staging Environment ก่อน Deploy บน Production
เช็ค Plugin ที่มีช่องโหว่
ใช้ Plugin WPScan Vulnerability Database หรือตรวจสอบที่ wpscan.com เพื่อดูช่องโหว่ที่รู้จักของ Plugin ที่คุณใช้
ตั้งค่า File Permissions ให้ถูกต้อง
File Permissions ที่ผิดอาจทำให้ Hacker แก้ไขไฟล์ได้โดยตรง ค่าที่ถูกต้องสำหรับ WordPress:
| ประเภทไฟล์ | Permission ที่แนะนำ | หมายเหตุ |
|---|---|---|
| Directories | 755 | Owner read/write/execute, Group/Other read/execute |
| Files ทั่วไป | 644 | Owner read/write, Group/Other read-only |
| wp-config.php | 600 หรือ 640 | ห้าม 777 เด็ดขาด |
| .htaccess | 644 | เว็บเซิร์ฟเวอร์ต้องอ่านได้ |
ตั้งค่าผ่าน DirectAdmin File Manager หรือรันคำสั่งใน SSH:
find /home/user/public_html -type d -exec chmod 755 {} \;
find /home/user/public_html -type f -exec chmod 644 {} \;
chmod 600 /home/user/public_html/wp-config.php
ปิดฟีเจอร์ที่ไม่จำเป็น
ปิด XML-RPC
XML-RPC ใช้สำหรับ Remote Publishing แต่ Hacker ใช้เพื่อ Brute Force หรือ DDoS เพิ่มโค้ดใน .htaccess:
<Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
ปิด File Editing ใน wp-admin
เพิ่มใน wp-config.php เพื่อป้องกันการแก้ไข Theme/Plugin Files ผ่านหน้า Admin:
define('DISALLOW_FILE_EDIT', true);
ปิด Directory Browsing
เพิ่มใน .htaccess:
Options -Indexes
ซ่อน WordPress Version
เพิ่มใน functions.php ของ Theme (หรือ Child Theme):
remove_action('wp_head', 'wp_generator');
ติดตั้ง WAF และ Security Plugin
Web Application Firewall (WAF) ช่วยกรอง Traffic ที่เป็นอันตรายก่อนถึงเว็บไซต์:
| Plugin/Service | ราคา | ฟีเจอร์หลัก |
|---|---|---|
| Wordfence Security | ฟรี / Premium ~$119/ปี | WAF, Malware Scan, Login Security, 2FA |
| Sucuri Security | ฟรี (Cloud WAF $199/ปี) | Malware Scan, File Integrity, Security Activity Audit |
| iThemes Security | ฟรี / Pro ~$99/ปี | Brute Force Protection, 2FA, Malware Scanning |
| All In One WP Security | ฟรี | Firewall, Login Security, Database Security |
| Cloudflare | ฟรี / Pro $25/เดือน | CDN + WAF ระดับ DNS ครอบคลุมกว่า Plugin |
💡 แนะนำ: ถ้าเพิ่งเริ่มต้น ใช้ Wordfence Security ฟรีก่อน แล้วค่อยพิจารณา Cloudflare Pro ถ้าต้องการ WAF ระดับ DNS
บังคับใช้ HTTPS
SSL Certificate ไม่ใช่แค่เรื่อง SEO แต่เป็นการเข้ารหัสข้อมูลทุกอย่างระหว่างผู้ใช้กับ Server:
# เพิ่มใน .htaccess เพื่อ Force HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
หลังจากนั้นตั้งค่าใน WordPress Dashboard ที่ Settings > General เปลี่ยน URL เป็น https:// และใน wp-config.php:
define('FORCE_SSL_ADMIN', true);
Backup อย่างถูกวิธี
Backup ที่ดีต้องทำทั้งไฟล์และฐานข้อมูล และเก็บไว้ในที่อื่นที่ไม่ใช่ Server เดียวกัน:
- UpdraftPlus: Plugin ยอดนิยมที่ Backup ไปยัง Google Drive, Dropbox, S3 ได้อัตโนมัติ
- BackupBuddy: Plugin Premium ที่มีฟีเจอร์ครบและ Restore ง่าย
- Duplicator: เหมาะสำหรับ Migration และ Backup
AsiaGB Hosting มี Backup อัตโนมัติ 2 ครั้งต่อเดือน (วันที่ 1 และ 15 ของเดือน) เก็บไว้ได้ 1 รอบ แนะนำให้ตั้ง UpdraftPlus เพื่อ Backup เพิ่มเติมไปยัง Cloud Storage ของตัวเองด้วย
Harden wp-config.php
wp-config.php มีข้อมูลสำคัญทั้งรหัส Database และ Security Keys ต้องป้องกันเป็นพิเศษ:
เพิ่ม Security Keys และ Salts
ไปที่ https://api.wordpress.org/secret-key/1.1/salt/ เพื่อสร้าง Keys ใหม่ แล้วแทนที่ใน wp-config.php
ย้าย wp-config.php ออกจาก Public Directory
WordPress รองรับการวาง wp-config.php ใน Directory บน Public Root หนึ่งระดับ:
/home/user/
wp-config.php ← ย้ายมาที่นี่
public_html/
index.php
wp-admin/
...
เพิ่ม Settings ความปลอดภัยเพิ่มเติม
// ปิด Error Reporting สำหรับ Production
define('WP_DEBUG', false);
// จำกัด Memory
define('WP_MEMORY_LIMIT', '256M');
// ปิด Automatic Updates ของ Plugin (ถ้าต้องการ Control เอง)
define('AUTOMATIC_UPDATER_DISABLED', false); // true = ปิดทั้งหมด
ติดตามและ Monitor เว็บ
การตรวจจับการโจมตีแต่เนิ่นๆ ช่วยลดความเสียหายได้มาก:
- Activity Log: ใช้ Plugin WP Activity Log ดูทุก Action ที่เกิดขึ้นในระบบ
- Uptime Monitor: ใช้ UptimeRobot หรือ Pingdom ตรวจสอบว่าเว็บยังออนไลน์
- Google Search Console: ตรวจสอบว่า Google ไม่ได้ Flag เว็บว่าเป็น Malware
- Email Alerts: ตั้งให้แจ้งเตือนเมื่อมี Login ผิดพลาดเกิน Threshold
ตารางเปรียบเทียบวิธีป้องกัน WordPress
| วิธีป้องกัน | ระดับความยาก | ผลลัพธ์ | ค่าใช้จ่าย |
|---|---|---|---|
| เปลี่ยน Username admin | ง่าย | ลด Brute Force | ฟรี |
| เปิด 2FA | ง่าย | ป้องกัน Login ถึงแม้รหัสหลุด | ฟรี |
| จำกัด Login Attempts | ง่าย | ป้องกัน Brute Force | ฟรี |
| ซ่อนพาธ Login | ง่าย | ลด Bot Scan | ฟรี |
| อัปเดต Plugin/Theme | ง่าย | ปิดช่องโหว่ที่รู้จัก | ฟรี |
| ตั้งค่า File Permissions | ปานกลาง | ป้องกันการแก้ไขไฟล์ | ฟรี |
| ปิด XML-RPC | ง่าย | ปิดช่องทาง Attack | ฟรี |
| ติดตั้ง WAF (Plugin) | ง่าย | กรอง Traffic อันตราย | ฟรี-$199/ปี |
| Force HTTPS | ง่าย | เข้ารหัส Traffic | ฟรี (Let's Encrypt) |
| Harden wp-config.php | ปานกลาง | ปกป้องข้อมูลสำคัญ | ฟรี |
| Backup อัตโนมัติ | ง่าย | กู้คืนได้เมื่อโดน Hack | ฟรี-$50/ปี |
| Cloudflare WAF | ปานกลาง | ป้องกันระดับ DNS | ฟรี-$25/เดือน |
คำถามที่พบบ่อย
WordPress ถูก Hack บ่อยไหม?
WordPress เป็น CMS ที่ได้รับความนิยมสูงสุดในโลก จึงตกเป็นเป้าหมายของ Hacker บ่อยมาก แต่ถ้า Hardening ดีพอ ความเสี่ยงจะลดลงอย่างมาก
ควรเปลี่ยนพาธ Login ของ WordPress ไหม?
แนะนำให้เปลี่ยน เพราะ Bot มักสแกน /wp-admin และ /wp-login.php อยู่ตลอด การเปลี่ยนพาธช่วยลด Brute Force Attack ได้มาก ใช้ Plugin อย่าง WPS Hide Login ได้ง่ายๆ
Plugin ความปลอดภัย WordPress ที่ดีที่สุดคืออะไร?
Plugin ที่นิยมใช้ได้แก่ Wordfence Security (ฟรี/Premium), Sucuri Security, iThemes Security และ All In One WP Security แต่ละตัวมีฟีเจอร์แตกต่างกัน ควรเลือกที่เหมาะกับ Hosting ของคุณ
Two-Factor Authentication (2FA) สำคัญแค่ไหนสำหรับ WordPress?
สำคัญมาก เพราะแม้รหัสผ่านจะถูกขโมย ผู้ไม่ประสงค์ดียังต้องการ OTP จากโทรศัพท์มือถืออีก ทำให้การบุกรุกยากขึ้นอย่างมาก ควรเปิดใช้งานสำหรับบัญชี Admin ทุกคน
SSL Certificate จำเป็นต้องมีสำหรับ WordPress ไหม?
จำเป็นมาก ทั้ง Google ให้ความสำคัญกับ HTTPS ในด้าน SEO และเป็นการเข้ารหัสข้อมูลระหว่าง Browser กับ Server ทำให้ข้อมูล Login และข้อมูลส่วนตัวของผู้ใช้ปลอดภัยขึ้น
ต้อง Backup WordPress บ่อยแค่ไหน?
ขึ้นอยู่กับความถี่ในการอัปเดตเนื้อหา เว็บที่อัปเดตทุกวันควร Backup ทุกวัน AsiaGB Hosting มี Backup อัตโนมัติ 2 ครั้งต่อเดือน (วันที่ 1 และ 15) แต่แนะนำให้ Backup เองเพิ่มเติมด้วย Plugin อย่าง UpdraftPlus
WordPress XML-RPC คืออะไร ควรปิดไหม?
XML-RPC เป็น API เก่าของ WordPress ที่ใช้สำหรับโพสต์บทความจากแอปภายนอก Hacker มักใช้เพื่อ Brute Force หรือ DDoS ถ้าไม่ได้ใช้งาน ควรปิดทันที
สรุป: เพิ่มความปลอดภัย WordPress ให้ครบในวันเดียว
การ Hardening WordPress ไม่ใช่เรื่องยาก แค่ทำตามขั้นตอนพื้นฐาน 5 อย่างแรกก็ช่วยป้องกันการโจมตีได้มากกว่า 90%:
- เปลี่ยน Username "admin" และตั้งรหัสผ่านที่แข็งแกร่ง
- เปิด 2FA สำหรับบัญชี Admin
- จำกัด Login Attempts
- อัปเดต WordPress, Plugin และ Theme สม่ำเสมอ
- ติดตั้ง Security Plugin อย่าง Wordfence
💡 โฮสติ้งที่ปลอดภัยคือพื้นฐาน: Hosting ที่ดีควรมี Imunify360 หรือ WAF ระดับ Server ร่วมด้วย ช่วยลดภาระการ Config ฝั่ง WordPress ได้มาก