การดูแลความปลอดภัยของเว็บไซต์ WordPress เป็นสิ่งที่เจ้าของเว็บไซต์ไม่ควรมองข้าม โดยเฉพาะเรื่องวิธีป้องกัน Username Enumeration ซึ่งเป็นเทคนิคพื้นฐานที่แฮกเกอร์ใช้ในการหาชื่อผู้ใช้ เพื่อเตรียมการโจมตีแบบ Brute-force หรือ Credential Stuffing
บทความนี้จะพาคุณเจาะลึกถึงความหมาย อันตราย และวิธีป้องกัน Username Enumeration แบบครบเครื่อง พร้อมแนวทางปฏิบัติจริงที่คุณสามารถลงมือทำได้ทันที
🧠 Username Enumeration คืออะไร?
Username Enumeration คือกระบวนการที่แฮกเกอร์พยายามหาชื่อผู้ใช้งาน (Username) ที่มีอยู่ในระบบ WordPress เพื่อใช้ประกอบกับการเดารหัสผ่านในลำดับถัดไป
หากแฮกเกอร์รู้ Username แล้ว ครึ่งหนึ่งของการโจมตีก็สำเร็จไปแล้ว!
🔍 ช่องทางที่มักถูกใช้ในการหา Username
1. ผ่าน URL Query
ตัวอย่าง URL:
https://yourdomain.com/?author=1
หากเว็บไซต์แสดงหน้าโปรไฟล์หรือโพสต์ของผู้ใช้ ก็สามารถรู้ชื่อบัญชีผู้ใช้ได้ทันทีจาก slug
2. หน้า Login
หากระบบแสดงข้อความชัดเจน เช่น:
-
“ชื่อผู้ใช้ไม่ถูกต้อง” → แปลว่า Username ไม่มี
-
“รหัสผ่านไม่ถูกต้อง” → แปลว่า Username มีอยู่จริง
3. REST API ของ WordPress
WordPress มี REST API ที่ให้ดึงข้อมูลผู้ใช้ได้ง่าย:
https://yourdomain.com/wp-json/wp/v2/users
หากไม่ได้ปิดไว้ ใครก็สามารถเข้าถึง Username ได้
🔥 ทำไม Username Enumeration ถึงอันตราย?
-
ทำให้แฮกเกอร์สามารถระบุผู้ใช้จริงได้โดยไม่ต้องเดา
-
เสริมโอกาสในการโจมตีแบบ Brute-force หรือ Dictionary Attack
-
เสี่ยงโดนยึดบัญชีแอดมิน หากรหัสผ่านไม่รัดกุม
-
ลดความน่าเชื่อถือของเว็บไซต์ในสายตาผู้ใช้
🔐 วิธีป้องกัน Username Enumeration ใน WordPress
🛠️ 1. ปิดการเข้าถึงผ่าน ?author=1
🔧 วิธีทำ: เพิ่มโค้ดใน functions.php
ของธีม
if (!is_admin()) {
add_filter('request', function($query_vars) {
if (isset($query_vars['author'])) {
wp_redirect(home_url());
exit;
}
return $query_vars;
});
}
ผลลัพธ์: เมื่อมีคนพยายามเข้าถึง URL ?author=1
จะถูกเปลี่ยนเส้นทางกลับไปหน้าแรก
🔌 2. ใช้ Plugin ป้องกัน Enumeration
📦 ปลั๊กอินแนะนำ:
-
Stop User Enumeration
ป้องกัน URL Enumeration และ REST API ได้ในตัวเดียว
ดาวน์โหลดฟรีที่ WordPress.org -
WPS Hide Login
ซ่อน URL
/wp-login.php
เพื่อเพิ่มความยากในการหาหน้าเข้าสู่ระบบ -
iThemes Security หรือ Wordfence
มีฟีเจอร์ครบด้านความปลอดภัย รวมถึงป้องกัน Username Enumeration
✏️ 3. ปรับแต่งข้อความ Error เวลา Login
ปัญหา:
WordPress เริ่มต้นจะแสดงข้อความต่างกันเมื่อ Username หรือ Password ผิด
แนวทาง:
เปลี่ยนข้อความให้คลุมเครือ เช่น:
function no_wordpress_errors(){
return 'Invalid login details';
}
add_filter('login_errors', 'no_wordpress_errors');
ผลลัพธ์: ไม่ว่าจะใส่ Username หรือ Password ผิด ระบบจะแสดงข้อความเดียว
🚪 4. ปิด REST API สำหรับผู้ใช้ที่ไม่ได้ล็อกอิน
วิธีปิด Endpoint ที่ดึงชื่อผู้ใช้:
add_filter('rest_endpoints', function($endpoints){
if (!is_user_logged_in()) {
unset($endpoints['/wp/v2/users']);
}
return $endpoints;
});
เหมาะสำหรับเว็บที่ไม่ใช้ REST API กับบุคคลภายนอก
🔠 5. ใช้ชื่อผู้ใช้ที่คาดเดายาก
-
หลีกเลี่ยงชื่อว่า
admin
,editor
,webmaster
-
ไม่ควรใช้ชื่อจริงของเจ้าของเว็บ เช่น
somchai
,sirinapa
-
ควรตั้งชื่อเช่น
wp_main_user2025
,siteadmin_008
🧱 เคล็ดลับเสริมความปลอดภัย WordPress
🔐 เปิดใช้งาน Two-Factor Authentication (2FA)
เช่น Google Authenticator หรือ Authy
🚫 จำกัดความพยายามเข้าสู่ระบบผิดพลาด
ใช้ Plugin อย่าง:
-
Limit Login Attempts Reloaded
-
Loginizer
🧼 ลบ user “admin” ทิ้งหลังติดตั้ง
หากยังมี admin
อยู่ ให้:
-
สร้าง User ใหม่ (สิทธิ์แอดมิน)
-
ล็อกอินด้วย User ใหม่
-
ลบ
admin
ออก พร้อมโอนโพสต์
📌 ตัวอย่างแนวทางใช้งานจริง (Checklist)
✅ รายการตรวจสอบ | สถานะ |
---|---|
ปิด ?author=1 แล้วหรือยัง? |
☐ |
ติดตั้ง Stop User Enumeration? | ☐ |
เปลี่ยนข้อความ Login แล้ว? | ☐ |
ปิด REST API /users ? |
☐ |
ใช้ชื่อผู้ใช้แบบสุ่ม? | ☐ |
ติดตั้ง 2FA แล้วหรือยัง? | ☐ |
📈 ผลลัพธ์ที่ได้จากการป้องกัน Username Enumeration
-
ลดความเสี่ยงการถูก Brute-force
-
เพิ่มความมั่นใจให้ผู้ใช้งาน
-
ทำให้เว็บไซต์ดูมีการดูแลความปลอดภัยจริงจัง
-
ช่วยให้ผ่านเกณฑ์ด้าน Security หากตรวจสอบจากองค์กรภายนอก
🎯 สรุป
Username Enumeration อาจดูเหมือนไม่ร้ายแรงในตอนแรก แต่ถือเป็นจุดเริ่มต้นที่ทำให้แฮกเกอร์สามารถเจาะระบบของคุณได้ง่ายขึ้นมาก
ด้วยการ ปิด URL ?author=1
, ปรับข้อความ Login, ปิด REST API, และ ตั้งชื่อผู้ใช้ที่เดายาก — คุณก็สามารถยกระดับความปลอดภัยเว็บไซต์ WordPress ได้ทันทีภายในไม่กี่นาที
🔚 บทส่งท้าย
อย่ารอให้เว็บไซต์ของคุณถูกโจมตีจนสายเกินไป เริ่มต้นจากจุดเล็ก ๆ อย่างการป้องกัน Username Enumeration วันนี้ แล้วคุณจะปลอดภัยยิ่งขึ้นในโลกออนไลน์
หากคุณดูแลเว็บไซต์ WordPress อยู่ อย่าลืมทำตามคำแนะนำ การสอนสร้างเว็บด้วย WordPress ในบทความนี้ให้ครบ!
สบู่พิพัฒน์ กรีเซอรีนอโลเวร่า (Aloevera Bright Soap) เป็นผลิตภัณฑ์ทำความสะอาดผิวหน้าที่มีส่วนผสมจากธรรมชาติ เช่น ว่านหางจระเข้ ซึ่งช่วยลดสิว ฝ้า กระ จุดด่างดำ และกระชับรูขุมขน พร้อมเพิ่มความชุ่มชื่นให้กับผิว ทำให้ผิวเนียนนุ่มและกระจ่างใส ผลิตภัณฑ์นี้อ่อนโยนต่อผิวหน้า และเหมาะสำหรับผู้ที่มีผิวแพ้ง่าย