หากจะพูดถึง CMS ที่ได้รับความนิยมในปัจจุบันนี้ คงจะหนีไม่พ้น WordPress ซึ่งมี Plug-in ลูกเล่นต่างๆ ให้มากมาย แต่การใช้ CMS เช่นนี้ก็มักจะโดนภัยคุกคามจากพวกแฮกเกอร์หรือผู้ไม่ประสงค์ดีเข้ามาเล่นงานบ่อยครั้ง ซึ่งในบทความนี้เราจะมาแนะนำแนวทางเบื้องต้นบางส่วน ที่อาจช่วยลดโอกาสการถูกแฮก WordPress Admin ของคุณจากการสุ่มรหัสผ่าน
ก่อนที่เราจะทำการติดตั้ง Plug-in เราควรป้องกันด้วยวิธีเบื้องต้นก่อน ดังนี้
- ไม่ควรตั้งค่า Password ที่คาดเดาง่ายเกินไป ควรมีทั้งตัวอักษรพิมพ์เล็ก ตัวอักษรพิมพ์ใหญ่ และตัวเลขรวมถึงสัญลักษณ์อยู่ร่วมกัน อย่างเช่น dki3-1(BF}@456jk
- ไม่ควรตั้งค่า 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 แล้ว พวกเราจึงควรหมั่นตรวจสอบเป็นระยะๆ