วิธีแก้ไขเว็บไซต์ WordPress ติด มัลแวร์ (Malware)

เว็บไซต์ WordPress ติด Malware เป็นปัญหาที่เจ้าของเว็บไซต์อาจพบได้เมื่อระบบ WordPress, Theme หรือ Plugin มีช่องโหว่ ถูกเข้าถึงด้วยรหัสผ่านที่ไม่ปลอดภัย หรือมีไฟล์อันตรายถูกฝังอยู่ในเว็บไซต์ อาการที่พบอาจมีตั้งแต่เว็บไซต์ Redirect ไปหน้าอื่น มีไฟล์แปลก ๆ เพิ่มเข้ามา หน้าเว็บถูกแก้ไข ไปจนถึง Chrome หรือ Google แจ้งเตือนว่าเว็บไซต์อาจไม่ปลอดภัย บทความนี้ CJ Soft จะอธิบายวิธีตรวจสอบ แก้ไข และป้องกันอย่างเป็นขั้นตอน

เว็บไซต์ WordPress ติด Malware มีอาการอย่างไร?

อาการของเว็บไซต์ที่ถูกโจมตีไม่ได้มีเพียงรูปแบบเดียว บางเว็บไซต์ยังเปิดใช้งานได้ตามปกติ แต่มีโค้ดหรือไฟล์อันตรายซ่อนอยู่ภายใน จึงควรสังเกตความผิดปกติ เช่น เว็บไซต์ Redirect ไปยังเว็บที่ไม่รู้จัก มีโฆษณาหรือข้อความแปลก ๆ ปรากฏขึ้น หน้าเว็บไซต์หรือไฟล์ถูกแก้โดยไม่ได้ดำเนินการเอง หรือมีผู้ใช้งานระดับ Administrator ที่ไม่รู้จักเพิ่มเข้ามา

หาก เว็บไซต์ WordPress ติด Malware และ Google ตรวจพบปัญหาด้านความปลอดภัย ผู้ใช้งานอาจเห็นข้อความเตือน เช่น “Deceptive site ahead” หรือเว็บไซต์อาจมีรายงาน Security Issues ใน Google Search Console ดังนั้นหลังทำความสะอาดเว็บไซต์แล้ว ควรกลับไปตรวจสอบ Search Console อีกครั้งด้วย

เว็บไซต์ WordPress ติด Malware และการสแกนด้วย Wordfence

วิธีแก้เว็บไซต์ WordPress ติด Malware อย่างปลอดภัย

1. สำรองข้อมูลเว็บไซต์ก่อนเริ่มแก้ไข

ก่อนลบหรือแก้ไขไฟล์ใด ๆ ควร Backup เว็บไซต์ทั้งไฟล์และฐานข้อมูลก่อน แม้ Backup นั้นจะมีไฟล์ที่ติด Malware อยู่ก็ตาม เพราะสามารถใช้เป็นข้อมูลอ้างอิงหรือใช้กู้บางส่วนกลับมาได้หากเกิดปัญหาระหว่างการแก้ไข

หากเป็นเว็บไซต์ธุรกิจและมีผู้ใช้งานเข้ามาตลอด ควรพิจารณาเปิด Maintenance Mode ชั่วคราวเพื่อลดโอกาสที่ผู้เข้าชมจะถูก Redirect หรือได้รับผลกระทบจากเว็บไซต์ที่ยังมีไฟล์อันตรายอยู่

2. ใช้ Wordfence Scan ตรวจหาไฟล์ผิดปกติ

สามารถติดตั้ง Wordfence แล้วเข้าเมนู Wordfence > Scan เพื่อสแกนเว็บไซต์หา Malware, ไฟล์ที่ถูกแก้ไข และความผิดปกติอื่น ๆ

เมื่อ Scan พบปัญหา ไม่ควรลบทุกไฟล์ทันทีโดยไม่ตรวจสอบ เพราะบางไฟล์อาจเป็นไฟล์ของ WordPress, Theme หรือ Plugin ที่เว็บไซต์กำลังใช้งานอยู่ หากลบผิดเว็บไซต์อาจใช้งานไม่ได้ ควรพิจารณาประเภทของไฟล์ก่อนดำเนินการ

3. หากเป็นไฟล์ WordPress Core

หากพบว่าไฟล์ WordPress Core ถูกแก้ไขหรือมีโค้ด Malware ควรใช้ไฟล์ WordPress ที่สะอาดและตรงกับ Version ที่เว็บไซต์ใช้งานอยู่มาแทนไฟล์ที่ได้รับผลกระทบ สามารถดาวน์โหลด WordPress เวอร์ชันต่าง ๆ ได้จาก WordPress Releases

ควรหลีกเลี่ยงการลบทั้งเว็บไซต์โดยไม่จำเป็น และควรตรวจสอบให้แน่ใจว่าไฟล์สำคัญอย่าง `wp-config.php` และโฟลเดอร์ `wp-content` ไม่ถูกเขียนทับโดยไม่ได้สำรองข้อมูลไว้ก่อน

4. หากเป็น Plugin หรือ Theme ที่ติด Malware

หากไฟล์ที่พบเป็น Plugin หรือ Theme จากแหล่งที่เชื่อถือได้ วิธีที่ปลอดภัยกว่าการแก้โค้ดทีละบรรทัดคือ Backup แล้วนำ Plugin หรือ Theme ตัวเดิมออก จากนั้นติดตั้งไฟล์สะอาดจากผู้พัฒนาหรือ Repository ที่เชื่อถือได้อีกครั้ง

Plugin หรือ Theme ที่ไม่ได้ใช้งานแล้วควรลบออก ไม่ควรปล่อยไว้เพียงแค่ Deactivate เพราะไฟล์ยังคงอยู่บน Server และอาจมีช่องโหว่ที่ถูกนำมาโจมตีได้

5. ตรวจสอบไฟล์ที่ไม่ใช่ของ WordPress

หาก Wordfence พบไฟล์ที่ไม่ใช่ WordPress Core, Theme หรือ Plugin ที่รู้จัก ควรตรวจสอบชื่อไฟล์ ตำแหน่ง วันที่แก้ไข และเนื้อหาก่อน หากยืนยันว่าเป็นไฟล์ Malware หรือ Backdoor จึงค่อยนำออกจากระบบ

จุดที่ควรตรวจเพิ่มเติม ได้แก่ `wp-content/uploads`, `wp-content/plugins`, `wp-content/themes` และ Root Directory เพราะ Malware อาจซ่อนตัวในหลายตำแหน่งและสามารถสร้างไฟล์กลับขึ้นมาใหม่ได้หากยังมี Backdoor เหลืออยู่

กรณีเว็บไซต์ยัง Redirect หลังทำความสะอาด

หากสแกนและจัดการไฟล์แล้วแต่เว็บไซต์ยัง Redirect ไปหน้าอื่น ควรตรวจสอบค่า URL ของเว็บไซต์ในฐานข้อมูล โดยปกติสามารถดูค่า `siteurl` และ `home` ในตาราง `wp_options` ซึ่ง Prefix ของตารางอาจไม่ได้ใช้ชื่อ `wp_` เสมอไป ขึ้นอยู่กับการตั้งค่าของเว็บไซต์

ค่า `siteurl` และ `home` ควรเป็น Domain ที่ถูกต้องของเว็บไซต์ หากพบว่าถูกเปลี่ยนเป็น Domain ที่ไม่รู้จัก ให้แก้กลับเป็น URL ที่ถูกต้อง หลังจากนั้นควรตรวจไฟล์ `.htaccess`, `wp-config.php`, Theme, Plugin และ JavaScript ที่ถูกแทรกเพิ่มเติมด้วย เพราะการ Redirect อาจไม่ได้เกิดจากฐานข้อมูลเพียงจุดเดียว

หากต้องการกำหนด URL ผ่าน `wp-config.php` สามารถใช้คำสั่งต่อไปนี้ได้:

define( 'WP_HOME', 'https://www.yourdomain.com' );
define( 'WP_SITEURL', 'https://www.yourdomain.com' );

อย่างไรก็ตาม คำสั่งนี้มีหน้าที่กำหนด URL ของเว็บไซต์ ไม่ใช่ระบบป้องกัน Malware ดังนั้นหาก เว็บไซต์ WordPress ติด Malware ยังต้องค้นหาและกำจัดต้นเหตุของการโจมตีให้เรียบร้อยด้วย

วิธีป้องกันไม่ให้ Malware กลับมาติดซ้ำ

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

  1. อัปเดต WordPress Core, Theme และ Plugin ให้เป็น Version ที่ได้รับการดูแลและรองรับเว็บไซต์
  2. ลบ Theme และ Plugin ที่ไม่ได้ใช้งาน เพื่อลดจำนวนช่องทางที่อาจมีช่องโหว่
  3. เปลี่ยนรหัสผ่านทั้งหมด ได้แก่ WordPress Administrator, Hosting Control Panel, FTP/SFTP/SSH และ Database โดยใช้รหัสผ่านที่ไม่ซ้ำกับบริการอื่น
  4. ตรวจสอบ Users ใน WordPress และลบ Administrator ที่ไม่รู้จักหรือไม่ได้ใช้งาน
  5. เปิด Two-Factor Authentication สำหรับบัญชี Administrator หากระบบรองรับ
  6. ติดตั้ง Firewall และ Malware Scanner เช่น Wordfence หรือระบบ Security ที่เหมาะกับเว็บไซต์
  7. ทำ Backup เป็นประจำ และควรมี Backup ที่เก็บแยกจาก Hosting หลัก เพื่อใช้กู้เว็บไซต์เมื่อเกิดเหตุฉุกเฉิน
  8. ตรวจสอบ Google Search Console หากเว็บไซต์เคยถูกแจ้งเตือนด้าน Security และหลังแก้ไขเรียบร้อยให้ดำเนินการตามขั้นตอน Review ของ Google เมื่อจำเป็น

WordPress เองแนะนำให้เปลี่ยน Credential หลังเว็บไซต์ถูกเจาะ และตรวจสอบไฟล์หรือบัญชีที่ผิดปกติอย่างละเอียด ไม่ควรถือว่าการสแกนแล้วไม่พบ Malware เพียงครั้งเดียวหมายความว่าช่องทางการโจมตีถูกปิดหมดแล้ว

หาก เว็บไซต์ WordPress ติด Malware ซ้ำหลังจากทำความสะอาด แสดงว่าอาจยังมี Backdoor, Plugin หรือ Theme ที่มีช่องโหว่ บัญชีที่ถูกเจาะ หรือช่องทางเข้าถึง Server ที่ยังไม่ได้แก้ไข จึงควรตรวจสอบระบบทั้งหมดมากกว่าการลบไฟล์ที่ Wordfence แจ้งเตือนเพียงอย่างเดียว

หลังแก้ไขเสร็จ ควรทดสอบหน้าเว็บไซต์สำคัญ ระบบฟอร์ม Login, Checkout หรือฟังก์ชันต่าง ๆ ว่ายังทำงานเป็นปกติ พร้อมตรวจ Error Log และสแกนซ้ำอีกครั้งก่อนเปิดเว็บไซต์ให้ใช้งานตามปกติ

หากไม่สามารถตรวจหาต้นเหตุหรือแก้ปัญหาได้ สามารถดูรายละเอียด บริการรับแก้ไขเว็บไซต์ WordPress ของ CJ Soft เพื่อให้ทีมช่วยตรวจสอบเว็บไซต์ แก้ไข Malware และวางแนวทางป้องกันเพิ่มเติมได้

สำหรับ เว็บไซต์ WordPress ติด Malware สิ่งสำคัญคืออย่ารีบลบไฟล์โดยไม่มี Backup ควรตรวจหาต้นเหตุ ทำความสะอาดไฟล์ เปลี่ยน Credential อัปเดตระบบ และปิดช่องโหว่ให้ครบ เพื่อป้องกันไม่ให้ปัญหาเดิมกลับมาอีกครั้ง

ติดต่อสอบถามเพิ่มเติม
Tel: 086 669 9589, 098 454 1868
Email: info@cjsoft.co.th
Line OA: @cjsoft