
สรุปคำตอบ
Brute Force Attack คือการโจมตีที่แฮกเกอร์ใช้บอทสุ่มชื่อผู้ใช้และรหัสผ่านซ้ำแล้วซ้ำเล่าจนกว่าจะล็อกอินสำเร็จ ใน WordPress บอทมักยิงไปที่ /wp-login.php และ XML-RPC โดยใช้รหัสที่รั่วไหลหรือรหัสยอดนิยมอย่าง 123456 อาการที่พบคือเว็บช้า CPU สูง และมี request ไป wp-login.php จำนวนมากจาก IP เดิม การป้องกันที่ได้ผลคือใช้หลายมาตรการพร้อมกัน ได้แก่ รหัสผ่านแข็งแรงและไม่ใช้ชื่อ admin, จำกัดจำนวนครั้งล็อกอินผิด, เปิด 2FA, เปลี่ยน URL หน้าล็อกอิน และปิด XML-RPC ถ้าไม่ได้ใช้
Brute Force Attack คือการโจมตีที่แฮกเกอร์ใช้โปรแกรมสุ่มรหัสผ่านหรือชื่อผู้ใช้ซ้ำแล้วซ้ำเล่าจนกว่าจะเจาะเข้าระบบได้สำเร็จ สำหรับ WordPress ซึ่งมีหน้าล็อกอินเดิมที่ทุกคนรู้ URL อย่าง /wp-login.php การโจมตีรูปแบบนี้จึงเกิดขึ้นบ่อยมาก โดยเฉพาะเว็บที่ยังใช้รหัสผ่านอ่อนหรือชื่อผู้ใช้เป็น admin บทความนี้จะช่วยให้คุณเข้าใจว่า Brute Force ทำงานอย่างไร สังเกตอาการได้อย่างไร และมีขั้นตอนป้องกันที่ทำได้ทันทีโดยไม่ต้องเขียนโค้ด
Brute Force Attack ทำงานอย่างไรกับ WordPress
โบท (Bot) ที่แฮกเกอร์ปล่อยออกมาจะส่ง HTTP POST request ไปยัง /wp-login.php หรือ XML-RPC endpoint ต่อเนื่องในปริมาณมาก โดยเฉพาะทาง XML-RPC ที่ Sucuri รายงานว่าเดารหัสได้หลายร้อยรหัสในคำขอเดียว โดยสุ่มคู่ username/password จากฐานข้อมูลรหัสที่รั่วไหลในอินเทอร์เน็ต (credential stuffing) หรือใช้ dictionary attack ที่ลองรหัสยอดนิยมอย่าง 123456 หรือ password ก่อนเสมอ ถ้าเว็บคุณไม่มีกลไกจำกัดการล็อกอิน โบทจะทดลองได้ไม่จำกัดจนกว่าจะสำเร็จ ซึ่งOWASP ระบุว่าวิธีพื้นฐานที่สุดในการสกัดคือล็อกบัญชีหลังใส่รหัสผิดครบจำนวนที่กำหนด นอกจากนี้ XML-RPC ของ WordPress ยังเป็นช่องโหว่อีกเส้นทางหนึ่งที่มักถูกใช้โจมตีด้วยวิธีเดียวกัน

อาการที่บ่งชี้ว่าเว็บกำลังถูก Brute Force
- เว็บช้าหรือล่มโดยไม่มีสาเหตุ — เซิร์ฟเวอร์รับ request จำนวนมากพร้อมกันจนทรัพยากรหมด
- ได้รับอีเมลแจ้งล็อกอินล้มเหลวจำนวนมาก — ถ้าคุณเปิดการแจ้งเตือนไว้
- CPU/RAM พุ่งสูงผิดปกติ — ดูได้จาก hosting dashboard หรือ server log
- พบ IP เดิม ๆ ใน access log — request หนาแน่นจาก IP กลุ่มเดียวในช่วงเวลาสั้น
- บัญชีผู้ใช้ถูกล็อก — ถ้าคุณเปิดระบบ lockout ไว้ จะเห็นบัญชีถูกล็อกบ่อยผิดปกติ
วิธีตรวจสอบว่าเว็บกำลังถูกโจมตีอยู่
วิธีเร็วที่สุดคือดู access log ของ hosting คุณ (มักอยู่ที่ cPanel → Logs → Raw Access) แล้ว grep หา wp-login.php ถ้าเห็น request จำนวนมากในช่วงเวลาสั้น แสดงว่ากำลังถูกโจมตี อีกวิธีคือติดตั้งปลั๊กอินอย่าง Wordfence ซึ่งจะแสดงสถิติการโจมตีและ IP ที่น่าสงสัยได้แบบเรียลไทม์จาก dashboard ใน WordPress โดยตรง
วิธีป้องกัน Brute Force ทีละขั้นตอน
1. เปลี่ยนชื่อผู้ใช้และรหัสผ่านให้แข็งแกร่ง
อย่าใช้ชื่อ admin เป็น username เด็ดขาด และตั้งรหัสผ่านให้ยาวและไม่ซ้ำกับเว็บอื่น ขั้นต่ำตาม NIST SP 800-63B คือ 8 ตัวอักษร ส่วนที่เราแนะนำคือ 16 ตัวขึ้นไป ผสมตัวเลข สัญลักษณ์ และตัวพิมพ์เล็ก-ใหญ่ WordPress มีตัวสร้างรหัสผ่านแข็งแกร่งในหน้า Users → Profile ใช้ได้เลย
2. จำกัดจำนวนการล็อกอินผิดพลาด (Login Attempts Limit)
ติดตั้งปลั๊กอินอย่าง Limit Login Attempts Reloaded หรือใช้ฟีเจอร์ใน Wordfence เพื่อล็อก IP อัตโนมัติหลังจากล็อกอินผิดพลาดเกินกำหนด เช่น 5 ครั้ง ภายใน 5 นาที
3. เปิดใช้ Two-Factor Authentication (2FA)
แม้แฮกเกอร์เดารหัสผ่านถูก แต่ยังต้องผ่าน OTP จากแอปอย่าง Google Authenticator ปลั๊กอิน WP 2FA หรือ Wordfence Login Security รองรับได้ง่าย และคู่มือป้องกัน Brute Force ของ WordPress.orgก็แนะนำให้เปิด 2FA กับผู้ดูแลทุกคน
4. เปลี่ยน URL หน้าล็อกอิน
ย้ายหน้าล็อกอินออกจาก /wp-login.php ไปยัง URL ที่คาดเดายาก เช่น /my-secret-login ด้วยปลั๊กอิน WPS Hide Login โบทมักยิง request ไปที่ URL เดิม การเปลี่ยนช่วยลดความรกของ log ได้ แต่คู่มือ WordPress.orgระบุว่าไม่ควรใช้เป็นการป้องกันเพียงอย่างเดียว
5. ปิดหรือจำกัด XML-RPC
ถ้าคุณไม่ได้ใช้แอปมือถือ WordPress หรือ Jetpack ควรปิด XML-RPC เพราะเป็นช่องทางที่โบทใช้โจมตีได้โดยไม่ผ่านหน้าล็อกอินปกติ คู่มือ WordPress.orgระบุว่า xmlrpc.php เป็นเป้าหมาย brute force ที่พบบ่อย โดยเฉพาะเมธอด system.multicall
6. บล็อก IP ด้วย Firewall
ใช้ Wordfence Firewall หรือ Cloudflare WAF บล็อก IP ที่มีพฤติกรรมโจมตี Cloudflare ยังช่วยดูดซับ request ก่อนถึงเซิร์ฟเวอร์จริง ทำให้ประสิทธิภาพเว็บไม่ได้รับผลกระทบด้วย

มาตรการเพิ่มเติมที่ไม่ควรมองข้าม
นอกจากขั้นตอนข้างต้น ควรตั้งค่า File Permission ให้ถูกต้อง เพื่อป้องกันไม่ให้แฮกเกอร์ที่เจาะเข้ามาแล้วสามารถแก้ไขไฟล์ได้ และจำกัดจำนวน บัญชี Admin ให้เหลือเท่าที่จำเป็น เพราะบัญชีที่ไม่ได้ใช้คือเป้าหมายที่ถูกมองข้าม มาตรการทั้งหมดนี้เป็นส่วนหนึ่งของ Checklist ความปลอดภัย WordPress ที่ควรตรวจสอบเป็นประจำ
เมื่อไหร่ควรขอความช่วยเหลือจากผู้เชี่ยวชาญ
ถ้าเว็บถูกเจาะเข้าไปแล้ว พบไฟล์แปลกปลอม มี admin account ที่ไม่รู้จัก หรือเว็บถูก blacklist โดย Google ควรหยุดแก้เองและติดต่อผู้เชี่ยวชาญทันที การแก้ไขผิดวิธีอาจทำให้ข้อมูลสูญหายหรือแฮกเกอร์ฝัง backdoor ไว้ลึกกว่าเดิม ทีมงานของเราให้บริการเสริมความปลอดภัย WordPress ตั้งแต่ตรวจสอบ ทำความสะอาด ไปจนถึงตั้งค่าป้องกันระยะยาว
- มาตรการที่ทำให้การเดารหัสผ่านไม่ได้ผลแม้เดาถูกคือการเปิดปัจจัยที่สอง อ่านวิธีตั้งค่าได้ที่ 2FA คืออะไร และวิธีเปิด 2FA ใน WordPress
- การเดารหัสผ่านจำนวนมากอาจมาจากเครื่องที่ถูกยึดเป็น Botnet ดูว่า Botnet คืออะไร และเว็บของเราเกี่ยวข้องอย่างไร
การโจมตีแบบนี้เกิดทุกวันกับทุกเว็บ ถ้าต้องการให้มีคนตรวจ Log เฝ้าดูเว็บล่ม และอัปเดตระบบให้ ดูบริการ ดูแลเว็บ WordPress รายเดือน
คำถามที่พบบ่อย
Brute Force Attack อันตรายแค่ไหนถ้าไม่ได้ป้องกัน?
ถ้าแฮกเกอร์เจาะเข้าได้สำเร็จ จะสามารถขโมยข้อมูลลูกค้า ติดตั้งมัลแวร์ หรือใช้เว็บเป็นฐานโจมตีเว็บอื่น ซึ่งส่งผลให้ Google blacklist เว็บของคุณได้
ปลั๊กอินป้องกัน Brute Force ฟรีมีตัวไหนบ้าง?
Wordfence Security (เวอร์ชันฟรีรองรับ login protection), Limit Login Attempts Reloaded และ WPS Hide Login ล้วนเป็นตัวเลือกฟรีที่นิยมใช้กัน
การเปลี่ยน URL ล็อกอินช่วยได้จริงไหม?
ช่วยได้มากในการลด noise จากโบทอัตโนมัติที่ยิง request ไปที่ wp-login.php แบบ mass scan แต่ไม่ใช่มาตรการเดียว ควรใช้คู่กับ 2FA และ login limit เสมอ
ถ้าเว็บถูกล็อกเพราะ Brute Force ต้องทำอย่างไร?
เข้า phpMyAdmin แล้วแก้ตาราง wp_users เพื่อรีเซ็ตรหัสผ่าน หรือใช้ WP-CLI ถ้าเข้าถึง server ได้ จากนั้นติดตั้งมาตรการป้องกันก่อนเปิดเว็บใหม่
Credential Stuffing ต่างจาก Brute Force ยังไง?
Credential Stuffing คือการนำคู่ชื่อผู้ใช้และรหัสผ่านที่รั่วไหลจากเว็บอื่นมาลองล็อกอิน ส่วน Brute Force แบบ Dictionary Attack คือการสุ่มลองรหัสยอดนิยมไปเรื่อยๆ ทั้งสองแบบป้องกันได้ด้วยรหัสผ่านที่ไม่ซ้ำกับที่อื่น การจำกัดจำนวนครั้งล็อกอิน และ 2FA
แหล่งอ้างอิง
- OWASP Foundation. (ม.ป.ป.). Blocking Brute Force Attacks. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://owasp.org/www-community/controls/Blocking_Brute_Force_Attacks
- OWASP Foundation. (ม.ป.ป.). Credential stuffing. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://owasp.org/www-community/attacks/Credential_stuffing
- OWASP Foundation. (ม.ป.ป.). Brute force attack. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://owasp.org/www-community/attacks/Brute_force_attack
- WordPress.org. (ม.ป.ป.). Brute Force Attacks (Advanced Administration Handbook). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://developer.wordpress.org/advanced-administration/security/brute-force/
- Sucuri. (2015). Brute Force Amplification Attacks via WordPress XML-RPC. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://blog.sucuri.net/2015/10/brute-force-amplification-attacks-against-wordpress-xmlrpc.html
- NIST. (2017). SP 800-63B Digital Identity Guidelines: Authentication and Lifecycle Management. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://pages.nist.gov/800-63-3/sp800-63b.html
- WordPress.org. (ม.ป.ป.). Limit Login Attempts Reloaded (WordPress plugin). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://wordpress.org/plugins/limit-login-attempts-reloaded/
- WordPress.org. (ม.ป.ป.). WP 2FA (WordPress plugin). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://wordpress.org/plugins/wp-2fa/
- WordPress.org. (ม.ป.ป.). WPS Hide Login (WordPress plugin). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://wordpress.org/plugins/wps-hide-login/
- Cloudflare. (ม.ป.ป.). WAF managed rulesets. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://developers.cloudflare.com/waf/managed-rules/
