วิธีป้องกัน Brute Force Attack บน WordPress

Brute Force Attack คือการใช้โปรแกรมลองชื่อผู้ใช้และรหัสผ่านซ้ำ ๆ เพื่อเข้าสู่ระบบ WordPress การโจมตีอาจมาจากหลาย IP address จึงไม่ควรพึ่งการบล็อก IP หรือเปลี่ยน URL หน้าเข้าสู่ระบบเพียงอย่างเดียว ควรใช้หลายมาตรการร่วมกันตั้งแต่บัญชีผู้ใช้จนถึงระบบป้องกันของโฮสติ้ง

❶ ใช้รหัสผ่านเฉพาะและเปิด 2FA

ตั้งรหัสผ่านผู้ดูแลให้ยาว เดายาก และไม่ใช้ซ้ำกับบริการอื่น หลีกเลี่ยงชื่อผู้ใช้ทั่วไปและตรวจว่ามีบัญชีผู้ดูแลเท่าที่จำเป็น หากมีผู้ดูแลหลายคน ให้แต่ละคนใช้บัญชีของตนเอง

เปิด Two-Factor Authentication (2FA) ให้บัญชีผู้ดูแล เพื่อเพิ่มขั้นตอนยืนยันตัวตนแม้รหัสผ่านจะถูกเปิดเผย เก็บรหัสสำรองไว้ในที่ปลอดภัยและทดสอบการกู้คืนบัญชีไว้ล่วงหน้า

❷ จำกัดคำขอเข้าสู่ระบบที่ระดับ WAF หรือโฮสติ้ง

หากโฮสติ้งหรือ CDN มี WAF ให้ตั้งกฎจำกัดคำขอที่หน้าเข้าสู่ระบบ เพื่อให้กรองบอทก่อนคำขอจะไปถึง WordPress หากไม่มีระบบระดับนี้ ให้ใช้ปลั๊กอินความปลอดภัยที่เชื่อถือได้เพื่อจำกัดจำนวนครั้งและบันทึกการเข้าสู่ระบบผิดพลาด

① ตั้งค่าการจำกัดให้เหมาะกับเว็บไซต์

กำหนดการหน่วงหรือบล็อกคำขอที่ผิดปกติ โดยคำนึงถึงผู้ใช้จริงที่อาจกรอกรหัสผ่านผิด หากมีผู้ใช้จำนวนมากหรือใช้เครือข่ายร่วมกัน ควรทดสอบก่อนใช้งานจริงเพื่อไม่ให้หลายคนถูกบล็อกพร้อมกัน

② ใช้ CAPTCHA หรือการตรวจสอบบอทเมื่อจำเป็น

เพิ่ม CAPTCHA หรือระบบท้าทายบอทเมื่อพบการโจมตีต่อเนื่อง โดยทดสอบการใช้งานบนมือถือและกับผู้ใช้จริง หากเปิดการตรวจสอบมากเกินไป อาจทำให้ผู้ใช้ที่ถูกต้องเข้าสู่ระบบลำบาก

❸ ตรวจช่องทาง XML-RPC และระบบเชื่อมต่อ

ไฟล์ xmlrpc.php เป็นอีกช่องทางที่อาจถูกใช้ส่งคำขอเข้าสู่ระบบ หากเว็บไซต์ไม่ได้ใช้ XML-RPC อาจพิจารณาปิดผ่านวิธีที่ปลั๊กอินหรือโฮสติ้งรองรับ แต่ถ้าใช้ Jetpack แอปมือถือ หรือบริการที่ต้องเชื่อมต่อ ควรตรวจผลกระทบก่อน

หากจำเป็นต้องเปิด XML-RPC ให้จำกัดคำขอผ่าน WAF หรือโฮสติ้ง และทดสอบว่าบริการที่เว็บไซต์ใช้อยู่ยังทำงานได้ อย่าบล็อกไฟล์หรือช่องทางเชื่อมต่อโดยไม่ตรวจสอบก่อน

❹ ตรวจสอบบัญชีและอัปเดตเว็บไซต์

ลบบัญชีผู้ดูแลที่ไม่ใช้งาน ปรับสิทธิ์สมาชิกตามหน้าที่ และตรวจบันทึกการเข้าสู่ระบบเพื่อดูรูปแบบที่ผิดปกติ เช่น มีความพยายามจำนวนมากในช่วงสั้นหรือมีบัญชีที่ไม่รู้จัก

อัปเดต WordPress ธีม และปลั๊กอินอย่างสม่ำเสมอ เพราะช่องโหว่ในส่วนเสริมอาจเปิดช่องให้เข้าถึงเว็บไซต์โดยไม่ต้องเดารหัสผ่าน ComSiam แนะนำให้สำรองข้อมูลและตรวจความพร้อมในการกู้คืนเป็นระยะด้วย

❺ ตรวจผลหลังตั้งค่าการป้องกัน

หลังเปิดระบบป้องกัน ให้ทดสอบเข้าสู่ระบบจากเบราว์เซอร์ส่วนตัว ตรวจว่าผู้ดูแลยังล็อกอินได้ ดูบันทึกการบล็อกและการแจ้งเตือน และตรวจว่าฟังก์ชันสมาชิกหรือการเชื่อมต่อกับบริการอื่นไม่ถูกขัดขวาง

หากเว็บไซต์ช้าหรือมีคำขอจำนวนมากจนเข้าใช้งานไม่ได้ ให้ติดต่อโฮสติ้งเพื่อช่วยตรวจการโจมตีและกรองคำขอที่ระดับเซิร์ฟเวอร์ ปลั๊กอินใน WordPress อาจช่วยควบคุมการเข้าสู่ระบบ แต่คำขอจำนวนมากยังใช้ทรัพยากรของเว็บไซต์ได้ก่อนถูกบล็อก

❻ เช็กลิสต์ป้องกัน Brute Force Attack

  • ใช้รหัสผ่านผู้ดูแลที่ยาวและไม่ซ้ำ
  • เปิด 2FA ให้บัญชีที่มีสิทธิ์สูง
  • จำกัดคำขอเข้าสู่ระบบผ่าน WAF โฮสติ้ง หรือปลั๊กอิน
  • ใช้ CAPTCHA เมื่อพบพฤติกรรมบอท
  • ตรวจว่าเว็บไซต์จำเป็นต้องใช้ XML-RPC หรือไม่
  • ลบบัญชีผู้ดูแลที่ไม่จำเป็นและตรวจบันทึกการเข้าสู่ระบบ
  • อัปเดต WordPress ธีม และปลั๊กอิน
  • สำรองข้อมูลและทดสอบการกู้คืนเป็นระยะ

การป้องกัน Brute Force Attack ได้ผลดีที่สุดเมื่อใช้มาตรการหลายชั้นและตรวจผลอย่างสม่ำเสมอ สำหรับเว็บไซต์ของ ComSiam ควรเริ่มจากบัญชีผู้ดูแลและระบบจำกัดคำขอ แล้วทดสอบว่าผู้ใช้จริงยังเข้าสู่ระบบได้ตามปกติ