วิธีตรวจสอบบัญชีผู้ดูแล Joomla แปลกปลอมในฐานข้อมูล

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

❶ เตรียมฐานข้อมูลสำหรับตรวจสอบ

① สำรองฐานข้อมูลก่อน

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

② ตรวจชื่อฐานข้อมูลและ table prefix

เปิด configuration.php ผ่าน File Manager หรือ SFTP แล้วดูชื่อฐานข้อมูลและค่า $dbprefix อย่าเผยแพร่หรือส่งต่อรหัสผ่านฐานข้อมูลที่อยู่ในไฟล์นี้

③ เปิดฐานข้อมูลที่ถูกต้อง

เข้า phpMyAdmin หรือเครื่องมือฐานข้อมูลของโฮสติ้ง แล้วเลือกฐานข้อมูลที่ตรงกับเว็บไซต์ ตรวจชื่อ table prefix ให้ตรงก่อนค้นหา เพราะแต่ละเว็บไซต์อาจใช้คำนำหน้าตารางต่างกัน

❷ ตรวจตารางผู้ใช้และกลุ่มสิทธิ์

① ตรวจตารางผู้ใช้

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

② ตรวจตารางเชื่อมโยงกลุ่มผู้ใช้

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

③ ใช้คำสั่ง SELECT เพื่อตรวจแบบอ่านอย่างเดียว

เปลี่ยน abc_ ในตัวอย่างให้เป็น table prefix ของเว็บไซต์ แล้วรันในแท็บ SQL ของ phpMyAdmin คำสั่งนี้ใช้แสดงบัญชีและกลุ่มที่เชื่อมโยง โดยไม่แก้ไขข้อมูล

SELECT
  u.id,
  u.name,
  u.username,
  u.email,
  u.block,
  u.registerDate,
  u.lastvisitDate,
  g.title AS user_group
FROM abc_users AS u
LEFT JOIN abc_user_usergroup_map AS m
  ON m.user_id = u.id
LEFT JOIN abc_usergroups AS g
  ON g.id = m.group_id
ORDER BY u.id;

ผู้ใช้หนึ่งคนอาจปรากฏหลายแถว หากอยู่ในหลายกลุ่ม ให้ตรวจว่ากลุ่มใดได้รับสิทธิ์สูง เช่น Administrator หรือ Super Users

❸ เปรียบเทียบข้อมูลกับบัญชีที่ควรมี

① ยืนยันชื่อและอีเมลกับผู้ดูแล

เปรียบเทียบรายชื่อในฐานข้อมูลกับรายการ Users → Manage และสอบถามผู้ดูแลที่เกี่ยวข้อง ตรวจว่าบัญชีผู้ดูแลทุกบัญชีมีเจ้าของและเหตุผลการใช้งาน

② ตรวจบัญชีที่มีสิทธิ์สูงเป็นพิเศษ

ไล่ดูทุกแถวที่เชื่อมกับกลุ่ม Administrator หรือ Super Users ตรวจอีเมล วันที่สมัคร และข้อมูลการเปลี่ยนแปลง หากมีบัญชีที่ไม่มีผู้รับผิดชอบ ให้บันทึก ID และรายละเอียดไว้

③ ตรวจการเปลี่ยนแปลงร่วมกับ Log

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

❹ จัดการบัญชีที่น่าสงสัยอย่างปลอดภัย

① บล็อกบัญชีผ่านหลังบ้าน Joomla

หลังยืนยันกับทีมแล้วว่าบัญชีไม่ควรใช้งาน ให้บล็อกผ่าน Users → Manage แทนการลบแถวจากฐานข้อมูลโดยตรง เพื่อให้ Joomla จัดการข้อมูลที่เกี่ยวข้องตามระบบ

② เปลี่ยนข้อมูลเข้าสู่ระบบและตรวจบัญชีอื่น

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

③ ขอความช่วยเหลือก่อนแก้ฐานข้อมูลโดยตรง

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

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

หากยืนยันว่ามีบัญชีแปลกปลอม ให้ตรวจ Log ไฟล์ และส่วนเสริมร่วมด้วย ComSiam แนะนำให้เก็บสำเนาฐานข้อมูลและรายละเอียดบัญชีไว้ก่อนบล็อกหรือลบ