หากจะพูดถึง CMS ที่ได้รับความนิยมในปัจจุบันนี้ คงจะหนีไม่พ้น WordPress ซึ่งมี Plug-in ลูกเล่นต่างๆ ให้มากมาย แต่การใช้ CMS เช่นนี้ก็มักจะโดนภัยคุกคามจากพวกแฮกเกอร์หรือผู้ไม่ประสงค์ดีเข้ามาเล่นงานบ่อยครั้ง ซึ่งในบทความนี้เราจะมาแนะนำแนวทางเบื้องต้นบางส่วน ที่อาจช่วยลดโอกาสการถูกแฮก WordPress Admin ของคุณจากการสุ่มรหัสผ่าน

ก่อนที่เราจะทำการติดตั้ง Plug-in เราควรป้องกันด้วยวิธีเบื้องต้นก่อน ดังนี้

  1. ไม่ควรตั้งค่า Password ที่คาดเดาง่ายเกินไป ควรมีทั้งตัวอักษรพิมพ์เล็ก ตัวอักษรพิมพ์ใหญ่ และตัวเลขรวมถึงสัญลักษณ์อยู่ร่วมกัน อย่างเช่น dki3-1(BF}@456jk
  2. ไม่ควรตั้งค่า Username ที่คาดเดาง่าย อย่างเช่น ชื่อ Admin หรือ Root (ตอนติดตั้ง WordPress แนะนำให้ใช้เป็นชื่ออื่นแทน)

หลังจากที่เราได้ป้องกันวิธีเบื้องต้นกันไปแล้ว เรามาทำความรู้จักพร้อมติดตั้ง Plug-in ที่ช่วยป้องกัน WordPress กันค่ะ

1. Limit Login Attempts

Plug-in ตัวนี้ จะจำจัดการ Login ได้เพียง IP เดียวเท่านั้น ยกตัวอย่างเช่น หากมีการใส่ Password ผิดเกิน 3 ครั้ง (แล้วแต่เรากำหนด) ระบบจะบล็อก IP ชั่วคราวเป็นเวลา 24 ชั่วโมง และจะสามารถ Login ใหม่ได้ก็ต่อเมื่อครบกำหนดเวลา นอกจากนั้นแล้วระบบยังแสดงให้เราเห็นด้วยว่า IP ที่พยายาม Login เข้ามานั้นมาจาก IP อะไร

ขั้นตอนการติดตั้ง

  • ทำการ Login เข้าหน้าจัดการของ WordPress

  • จากหน้า Dashboard ไปที่เมนู Plugins เลือก Add New

  • ในช่อง Search Plugins หาคำว่า Limit Login Attempts

  • เลือกติดตั้ง Plugin ชื่อ Limit Login Attempts กด Install Now

  • เมื่อติดตั้งเสร็จสมบูรณ์ให้กด Activate Plug-in

หลังจากทำการ Activate Plug-in เรียบร้อยแล้ว

  • จากหน้า Dashboard ไปที่เมนู Settings เลือก Limit Login Attempts
  • ตั้งค่าในส่วนของ Limit Login Attempts Settings ดังนี้
    • Lockout : กำหนดจำนวนครั้งที่ต้องการให้ล็อกอิน เช่น กำหนดค่าเป็น 3 สามารถล็อกอินได้ไม่เกิน 3 ครั้ง
    • กำหนดเวลา เพื่อล็อกอิน เช่น กำหนดค่าเป็น 20 มีเวลาภายใน 20 นาที ในการล๊อกอิน
    • กำหนดจำนวนครั้ง เช่น กำหนดค่าเป็น 3 เมื่อมีการล็อกอินรหัสผ่านผิดครบ 3 ครั้งแล้ว ระบบจะแบนทันที และจะสามารถล็อกอินได้ใน 24 ชั่วโมงถัดไป
    • กำหนดเวลา เพื่อให้ระบบรีเซ็ตใหม่อีกครั้ง

หรือถ้าหากไม่ต้องการเปลี่ยนแปลงค่าใดๆ สามารถใส่แป็นค่าเดิม ที่หลังจาก Activate เรียบร้อยแล้วก็ได้ค่ะ

ทดสอบ Login เข้าใช้งาน

Log out ออกจาก WordPress ก่อน แล้วทำการ Login ใหม่อีกครั้ง จะพบกล่องข้อความ คือ 3 attempts remaining (สามารถใส่รหัสได้ไม่เกิน 3 ครั้ง หากใส่รหัสผิดเกิน 3 ครั้ง ระบบจะแบนทันที)

2. ป้องกันการเข้าถึงโฟล์เดอร์ wp-admin โดยการสร้างไฟล์ .htaccess

โฟล์เดอร์ wp-admin นั้นเป็นโฟล์เดอร์ที่เข้าถึง  Dashboard หรือส่วนควบคุมของ WordPress ซึ่งในส่วนนี้จะเข้าถึงได้ก็ต่อเมื่อกรอก Username และ Password ถูกต้อง แต่จะทำอย่างไรไม่ให้ผู้ที่ไม่ประสงค์ดีเข้าถึงได้ นั่นก็คือ การกำหนดให้เฉพาะ IP ที่เรากำหนดสามารถเข้าถึงโฟลเดอร์ wp-admin ได้เท่านั้น ซึ่งหากมีคนแฮกบล็อกของคุณเข้าสู่ระบบ โดยกรอก Username และ Password ถูกต้อง แต่ IP ไม่ตรงกับที่เรากำหนดไว้ ก็ไม่สามารถเข้าถึง Dashboard ได้

หมายเหตุ: วิธีการนี้เป็นการป้องกันที่ค่อนข้างรัดกุม แต่อาจไม่เหมาะกับแอดมินที่ใช้งาน WordPress ตามบ้านเนื่องจากมีการเปลี่ยนแปลง IP ของตนเองอยู่เสมอๆ 

ขั้นตอนการกำหนด IP ในไฟล์ .htaccess

  • สร้างไฟล์ .htaccess โดยการกำหนด IP แล้วใส่โค้ดด้านล่างนี้
<LIMIT GET>
  order deny,allow
  allow from xxx.xxx.xxx.xxx 
  deny from all
</LIMIT>
  • เมื่อทำการสร้างไฟล์เสร็จสมบูรณ์แล้ว ก็ทำการอัพโหลดไฟล์ .htaccess ไปไว้ในโฟล์เดอร์ wp-admin
    • ในส่วนของ xxx.xxx.xxx.xxx  คือเลข IP ของเครื่องคุณเอง (เป็น IP ที่ได้รับจาก ISP) เช่น  123.145.156.78
    • allow from คือ อนุญาตให้เข้าถึงได้ตาม IP ที่กำหนด
    • deny from all คือ ปฏิเสธการเข้าถึงจากทุก ๆ IP ที่ไม่ตรงกับ allow from
    • ในกรณีที่มี IP มากกว่าหนึ่ง ก็สามารถเพิ่ม allow from xxx.xxx.xxx.xxx ที่เราต้องการได้ ซึ่งวิธีนี้จะทำให้โฟล์เดอร์ wp-admin ของคุณปลอดภัยมากขึ้น

ข้อสรุป : ทั้ง 2 วิธีที่ได้กล่าวมานั้นอาจจะป้องกันได้ไม่ถึง 100% แต่ก็สามารถลดอัตราการโดนเข้าโจมตี WordPress ของคุณได้เป็นอย่างดีเลยทีเดียวค่ะ

อีกเรื่องหนึ่งที่ผู้ดูแล WordPress ควรจะทำ คือหมั่นอัพเดต version อย่างต่อเนื่อง โดยเฉพาะอย่างยิ่งเมื่อมีการออก version ใหม่ที่แก้ไขปัญหาเกี่ยวกับความปลอดภัยออกมา เดี๋ยวนี้การอัพเดต WordPress version นั้นสามารถทำได้อย่างง่ายดายจาก dashboard แล้ว พวกเราจึงควรหมั่นตรวจสอบเป็นระยะๆ