Categories
บทความ

วิธีลบมัลแวร์ (Malware) ออกจาก WordPress

สำหรับท่านที่ทำเว็บไซต์ด้วย WordPress แล้วเจออปัญหาเว็บไซต์ติดมัลแวร์ วันนี้แอดมินจะมาแนะนำแนวทางการลบมัลแวร์ออกจากเว็บไซต์ WordPress กัน ซึ่งมีขั้นตอนต่างๆ ดังนี้

  1. เบื้องต้นลองดูแนวทางการแก้ไขจาก Hostatom กันก่อน https://kb.hostatom.com/content/1112/ ซึ่งแอดมินเองก็ใช้แนวทางนี้ในการแก้ไขเช่นกัน แต่จะมีทำเพิ่มเติมจากที่ระบุไว้ในบทความดังกล่าวด้วย ซึ่งส่วนนี้ก็แล้วแต่เทคนิคของแต่ละท่านด้วย ซึ่งเดี๋ยวจะมีการแนะนำในหัวข้อต่อไป
  2. ก่อนอื่น มาเริ่มแบ็คอัพเว็บไซต์กันก่อน โดยการแบ็คอัพผ่าน Panel ของโฮสติ้ง หรือ FTP ก็ได้ โดยให้แบ็คอัพทั้งไฟล์ และ Database เพื่อป้องกันเว็บไซต์พัง หรือข้อมูลหาย อย่างน้อยเราก็มีเว็บไซต์เวอร์ชั่นล่าสุดที่มีเนื้อหาครบ ถึงแม้จะติดมัลแวร์ หรือโดนแฮกก็ตาม แต่มันยังสามารถแก้ไขได้อยู่
  3. ลองดูก่อนว่าเรามีแบ็คอัพที่ไม่ติดมัลแวร์อยู่หรือไม่ หรือลองสอบถามกับคนที่ทำเว็บไซต์ WordPress ให้เรา หรือสอบถามผู้ให้บริการโฮสติ้งว่ามีแบ็คอัพของวันที่เท่าไหร่ให้เราบ้างหรือไม่ แจ้งเขาไปได้เลยว่าเว็บเราโดนแฮก ซึ่งหากมีแบ็คอัพที่เชื่อได้ว่า ณ ตอนนั้นที่มีการทแบ็คอัพ เว็บไซต์ของเรายังไม่ได้โดแฮ็กแน่นอน ก็สามารถแจ้งให้ผู้ให้บริการ Restore เว็บไซต์กลับมาได้เลย ซึ่งถ้าทำข้อนี้ได้ ก็ให้ข้ามไปข้อ 6 ได้เลย
  4. หากเราไม่มีแบ็คอัพ ก็อาจจะต้องมาเริ่ม Clean เว็บไซต์ด้วยตัวเองกันเลย โดยขั้นตอนแรกให้ลบไฟล์ทั้งหมดออกก่อน ยกเว้นไฟล์ wp-config.php และไดเรกทอรี่ wp-content เพราะส่วนนี้จะเป็นพวกรูปภาพที่เราเคยอัพโหลดเข้าไป แล้วก็พวกการตั้งค่าต่างๆ ของเว็บไซต์ หากลบไปนี้งานเข้าได้ แนะนำว่าควรดำเนินการโดยผู้เชี่ยวชาญจะดีที่สุดครับ
  5. ดาวน์โหลดไฟล์ WordPress Core มาติดตั้งแทนที่ไฟล์เดิมที่ลบออกไป โดยให้โหลดจากเว็บไซต์ https://th.wordpress.org/download/ เท่านั้น ยกเว้นไดเรกทอรี่ wp-content ไม่ต้องอัพเข้าไป เพราะเรามีของเดิมอยู่แล้ว ซึ่งขั้นตอนนี้สำคัญ เราอาจจะต้องดูด้วยว่า เดิมเว็บไซต์ของเรานั้นใช้ WordPress เวอร์ชั่นอะไร เพราะถ้าเดิมของเราเป็นเวอร์ชั่นเก่า แล้วเราไปโหลดเวอร์ชั่นใหม่มาใส่แทนที่ อาจจะมีงานเข้าได้โดยไม่รู้ตัวครับ โดยเฉพาะอย่างยิ่งเรื่องเวอร์ชั่น PHP ที่ต้องต้องเป็น 7.4 ขึ้นไป ถ้าเป็น 8.1 หรือ 8.2 ได้ก็ยิ่งดี แต่ทั้งนี้ทั้งนั้น ก็อาจจะต้องมาดูว่าปลั๊กอินที่เราใช้อยู่จะมีปัญหากับ PHP เวอร์ชั่นไหนบ้างหรือไม่
  6. ต่อไปเราก็มาเริ่ม Clean ปลั๊กอินกันต่อ ขั้นตอนก็คล้ายๆ กับข้อ 5 ก็คือเราจะค่อยๆ ลบปลั๊กอินแต่ละตัวออกไปก่อน แต่อย่าลืมดูไว้ว่าเป็นปลั๊กอินตัวไหนบ้าง จะได้ไปโหลดไฟล์ต้นฉบับมาใส่แทนที่ได้ ซึ่งถ้าเป็นเวอร์ชั่นฟรีต่างๆ ก็สามารถโหลดได้ที่ https://th.wordpress.org/plugins/ ได้เลย แต่ถ้าเป็นตัวโปร หรือตัวที่เราซื้อมา ก็อาจจะต้องไปโหลดไฟล์จากเว็บไซต์ของผู้ให้บริการที่เราซื้อลงมา แล้วอัพไฟล์ขึ้นไปใส่แทนที่ไฟล์เดิมได้เลยครับ ทำแบบนี้ไปเรื่อยๆ จนครบทุกปลั๊กอิน เราก็จะได้ปลั๊กอินเวอร์ชั่นใหม่ และเป็นปลั๊กอินที่ Clean 100% มาติดตั้งบน WordPress แล้ว ส่วนปลั๊กอินตัวไหนไม่ได้ใช้ ก็แนะนำให้ลบออกเสียบ้าง จะได้ช่วยลดช่องโหว่ที่มีโอกาสเกิดขึ้นได้ในอนาคตนั่นเอง
  7. ทีนี้มาเริ่ม Clean ธีมกันต่อ โดยการทำลักษณะเดียวกัน ก็คือ ให้ลบไฟล์เดิมออกไปก่อน แล้วโหลดไฟล์ต้นฉบับมาใส่แทนที่ ถ้าเป็นธีมจาก WordPress ก็ลองค้นหาจากหน้านี้ดูก่อน https://th.wordpress.org/themes/ หรือถ้าเป็นธีมที่ซื้อมา ก็อาจจะต้องไปโหลดไฟล์จากเว็บไซต์ของผู้ให้บริการที่เราซื้อปลั๊กอินลงมา จากนั้นก็อัพไฟล์ขึ้นไปใส่แทนที่ไฟล์เดิมได้เลย ทำแบบนี้ไปเรื่อยๆ จนครบทุกธีม เราก็จะได้ธีมที่ Clean 100% มาติดตั้งบน WordPress แล้ว ส่วนธีมที่ไม่ได้ใช้ ให้ลบออกเลยก็ได้ จะได้ช่วยลดช่องโหว่ที่มีโอกาสเกิดขึ้นได้ในอนาคตนั่นเอง
  8. มาต่อกันเลยครับ WordPress Core เรา Clean แล้ว ปลั๊กอิน เรา Clean แล้ว ธีม เราก็ Clean แล้ว ต่อไปให้ลองตรวจสอบที่ไดเรกทอรี่ wp-content ซึ่งส่วนนี้เราต้อง Clean ด้วยตัวเองครับ เพราะว่าไม่มีไฟล์ต้นฉบับให้นำมาใส่แทนที่ได้ โดยการสังเกตไฟล์ .htaccess หรือ ไฟล์ .php ที่มีชื่อแปลกๆ ซึ่งส่วนนี้ก็ต้องอาศัยผู้เชี่ยวชาญในการตรวจสอบเช่นกัน หรือบางโฮสติ้งเขาก็มีตัวสแกนมัลแวร์ให้ เช่น Imunify360 ก็แจ้งให้เขาช่วยสแกนทั้งเว็บไซต์ให้ได้เลยครับ หากดำเนินการข้อนี้เสร็จแล้วก็ไปขั้นตอนต่อไปกันได้เลย
  9. หลังจากที่เราได้ Clean กันมามากมายแล้ว มาถึงขั้นตอนนี้ หากไม่พลาดขั้นตอนไหน หวังว่าจะสามารถเข้าระบบหลังร้านกันได้แล้วนะครับ เมื่อเข้าได้แล้ว แอดมินเองจะติดตั้งปลั๊กอิน Wordfence Security แล้วลองสแกนเว็บไซต์ดูอีกรอบ เพราะว่าบางครั้งตัวสแกนมัลแวร์บนโฮสติ้งของเราก็อาจจะสแกนเจอไม่หมด
  10. ตรวจสอบ ผู้ใช้ ให้ลองดูว่ามี Admin เพิ่มขึ้นมาหรือไม่ ถ้าเจอก็จัดการได้เลย ส่วน User ของเราเองก็ให้ทำการเปลี่ยนรหัสผ่านใหม่ได้เลยครับ
  11. จากนั้นให้เราแก้ไข Secret Key และ รหัสผ่านของ Database ที่ไฟล์ wp-config.php ตามคำแนะนำในข้อ 1 ได้เลย
  12. ลองสุ่มตรวจสอบบทความของเราว่ามีการแอบสร้างบทความขึ้นมา หรือมีการแอบแทรกลิงก์ แทรกสคริปเอาไว้ท้ายๆ บทความบ้างหรือไม่ บางครั้งแอดมินเองก็เคยเจอลิงก์แปลกปลอมที่ถูกตั้งค่าไว้ในส่วนของรูปพื้นหลังก็มี ซึ่งก็จะเจอได้ในเว็บไซต์ที่ใช้ปลั๊กอิน Page Builder ต่างๆ หรือถ้าหาไม่เจอจริงๆ ก็ลองเอา URL ที่ Google แจ้งมาค้นหาใน Database ดูได้เลย
  13. แนะนำเปลี่ยนรหัสผ่าน FTP และ Panel โฮสติ้ง เพื่อความปลอดภัย