วิธี Clean Install WordPress หลังเว็บไซต์ติดมัลแวร์

วิธี Clean Install WordPress หลังเว็บไซต์ติดมัลแวร์

WordPress Malware Removal

วิธี Clean Install WordPress หลังเว็บไซต์ติดมัลแวร์

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

ขั้นตอนนี้เหมาะสำหรับผู้ที่สามารถใช้งานระบบจัดการ Hosting, โปรแกรม FTP/SFTP และระบบจัดการ Database ได้ หากไม่แน่ใจในขั้นตอนใด แนะนำให้ติดต่อเจ้าหน้าที่ก่อนดำเนินการ

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

Backup ที่สร้างหลังเว็บไซต์ติดมัลแวร์ควรเก็บไว้สำหรับการตรวจสอบหรือกู้คืนในกรณีฉุกเฉิน ไม่ควรนำไฟล์ทั้งหมดกลับมาใช้งานโดยไม่ได้ตรวจสอบก่อน

ขั้นตอนที่ 1 Backup ข้อมูลเว็บไซต์

1.1 เปิดโปรแกรม FileZilla แล้วเชื่อมต่อกับ Hosting ของเว็บไซต์ จากนั้นเข้าไปยังโฟลเดอร์ของ Domain ที่ต้องการดำเนินการ

>> domains/yourdomain.com/public_html

1.2 Backup ข้อมูลต่อไปนี้ไว้ที่เครื่อง Computer

  • ดาวน์โหลดไฟล์ wp-config.php เพื่อใช้ตรวจสอบข้อมูล Database และค่า Configuration เดิม

>> public_html/wp-config.php

  • ดาวน์โหลด Folder uploads ซึ่งเก็บรูปภาพและ Media ของเว็บไซต์

>> public_html/wp-content/uploads

ตรวจสอบไฟล์ภายใน Folder uploads หากพบไฟล์ที่ไม่ใช่ Media ของเว็บไซต์ เช่น ไฟล์ .php หรือไฟล์ .js ที่ไม่ทราบแหล่งที่มา ให้แยกไฟล์ดังกล่าวออกเพื่อตรวจสอบก่อนนำกลับมาใช้งาน หากไม่แน่ใจ ไม่ควรลบไฟล์ทันทีและควรติดต่อเจ้าหน้าที่

  • Export Database และเก็บไฟล์ที่ได้ไว้ในตำแหน่งที่ปลอดภัย ดูวิธีดำเนินการได้ที่ >> วิธี Export Database
  • บันทึกรายชื่อ Plugin และ Theme ที่เว็บไซต์ใช้งานอยู่ โดยไม่ต้องดาวน์โหลดไฟล์เดิมกลับมาใช้

>> public_html/wp-content/plugins

>> public_html/wp-content/themes

รายชื่อที่บันทึกไว้จะใช้สำหรับติดตั้ง Plugin และ Theme ใหม่หลังจาก Clean Install เรียบร้อยแล้ว

1.3 ตรวจสอบว่า Backup ต่อไปนี้ครบถ้วนและสามารถเปิดใช้งานได้

  • ไฟล์ wp-config.php
  • Folder wp-content/uploads
  • ไฟล์ Export ของ Database
  • รายชื่อ Plugin และ Theme

เมื่อตรวจสอบครบแล้ว ให้ตรวจสอบชื่อ Domain และตำแหน่ง Folder อีกครั้ง จากนั้นลบไฟล์และ Folder ทั้งหมดภายใน public_html ของเว็บไซต์ที่ได้รับผลกระทบ

ขั้นตอนที่ 2 ติดตั้ง WordPress ใหม่

2.1 เปลี่ยน Username และ Password ของช่องทางที่ใช้เข้าถึงเว็บไซต์ทั้งหมด เช่น

  • ระบบจัดการ Hosting เช่น DirectAdmin, VestaCP หรือ cPanel
  • FTP/SFTP
  • Database
  • บัญชี WordPress โดยเฉพาะบัญชี Administrator

ควรใช้ Password ที่คาดเดาได้ยาก ไม่ซ้ำกับบริการอื่น และตรวจสอบบัญชี Administrator ที่ไม่รู้จัก หากพบให้ปิดการใช้งานหรือลบออกหลังจากตรวจสอบแล้ว

2.2 ดาวน์โหลด WordPress จาก WordPress.org เท่านั้น

  • แตกไฟล์ ZIP
  • เปลี่ยนชื่อไฟล์จาก wp-config-sample.php เป็น wp-config.php

2.3 เปิดไฟล์ wp-config.php แล้วตั้งค่าให้ตรงกับ Database ที่ต้องการใช้งาน

กรณีใช้ Database เดิม

  • ตรวจสอบค่า DB_NAME, DB_USER และ DB_HOST จากไฟล์ wp-config.php ที่ Backup ไว้
  • ใส่ DB_PASSWORD ใหม่ที่เปลี่ยนในข้อ 2.1
  • ตรวจสอบค่า $table_prefix ให้ตรงกับ Table เดิมใน Database

กรณีสร้าง Database ใหม่

  • สร้าง Database และ Database User ใหม่
  • Import ไฟล์ Database ที่ Export ไว้ในข้อ 1.2
  • ใส่ค่า DB_NAME, DB_USER, DB_PASSWORD และ DB_HOST ของ Database ใหม่
  • ตรวจสอบค่า $table_prefix ให้ตรงกับ Table ที่ Import

จากนั้นเปลี่ยน Authentication Unique Keys and Salts ในไฟล์ wp-config.php เพื่อยกเลิก Session เดิมทั้งหมด แล้วกด Save

2.4 Upload ไฟล์ WordPress ชุดใหม่ทั้งหมดขึ้น Server ผ่านโปรแกรม FileZilla

>> public_html

2.5 เปิด Browser แล้วเข้า Domain ของเว็บไซต์ผ่าน HTTPS

ตัวอย่าง: https://yourdomain.com/

หากตั้งค่า Database และ $table_prefix ถูกต้อง ระบบควรเชื่อมต่อกับข้อมูลเว็บไซต์เดิมได้ หากพบหน้าติดตั้ง WordPress ใหม่โดยไม่คาดคิด ให้หยุดดำเนินการและตรวจสอบค่าใน wp-config.php รวมถึง Table ใน Database ก่อน ไม่ควรดำเนินการติดตั้งต่อทันที

2.6 Login เข้า WordPress Admin แล้วติดตั้ง Plugin และ Theme ใหม่ตามรายชื่อที่บันทึกไว้

ควรดาวน์โหลดจาก WordPress.org, Marketplace หรือ Website ของ Developer ที่เชื่อถือได้เท่านั้น ไม่ควร Upload ไฟล์ Plugin หรือ Theme ชุดเดิมกลับมาใช้โดยตรง จากนั้น Update WordPress, Plugin และ Theme เป็น Version ที่ปลอดภัยและรองรับกับเว็บไซต์

2.7 Upload Folder uploads ที่ตรวจสอบแล้วจากข้อ 1.2 กลับไปยังตำแหน่งต่อไปนี้ผ่านโปรแกรม FileZilla

>> public_html/wp-content/uploads

2.8 ตรวจสอบการทำงานของเว็บไซต์

  • เปิดหน้า Website หลักและหน้าสำคัญ
  • ตรวจสอบรูปภาพ Menu Link และ Form ต่าง ๆ
  • ตรวจสอบรายชื่อ User และลบ Account ที่ไม่รู้จัก
  • สแกน Malware และตรวจสอบไฟล์หรือพฤติกรรมผิดปกติอีกครั้ง
  • ตรวจสอบ Access Log เพื่อหาช่องทางที่ผู้ไม่หวังดีใช้เข้าถึงระบบ หากมีข้อมูลเพียงพอ

เมื่อไม่พบความผิดปกติ ให้เปลี่ยน Password ของช่องทางสำคัญอีกครั้ง แล้วจึงเปิด Website ให้ผู้ใช้งานตามปกติ

การ Clean Install ช่วยนำไฟล์ WordPress, Plugin และ Theme ชุดเดิมออกแล้วติดตั้งไฟล์ใหม่จากแหล่งที่เชื่อถือได้ อย่างไรก็ตาม ควรตรวจสอบ Database, User Account, Folder uploads, Access Log และช่องโหว่ที่เป็นสาเหตุของปัญหาร่วมด้วย เพื่อป้องกันไม่ให้มัลแวร์กลับมาอีก

หากลูกค้าไม่สะดวกทำการ Clean Install ด้วยตนเอง ทางบริษัทมีบริการ WordPress Malware Removal

ทีมงานจะตรวจสอบและแก้ไขเว็บไซต์ พร้อมสแกน Malware ก่อนส่งมอบงาน โดยเจ้าหน้าที่จะวิเคราะห์ Access Log ของ Web Server และใช้ระบบ Scan Virus ที่มีการ Update Signature ทุกวัน หลังจากแก้ไขแล้ว ทีมงานจะดูแลและติดตามอาการตามระยะเวลาที่กำหนด

WordPress Malware Removal

การรับประกัน

  • ดูแลและติดตามอาการอย่างต่อเนื่องโดยเจ้าหน้าที่จาก Ruk-Com Hosting
  • รับประกันผลงาน 100% หากแก้ไขไม่ได้ยินดีคืนเงิน
  • เจ้าหน้าที่พร้อมให้บริการตลอด 24 ชั่วโมง

รายละเอียดเพิ่มเติม
บริการ WordPress Malware Removal

ขั้นตอนที่ต้องทำหลังแก้ไขเว็บไซต์: ล้าง Browser Cache

หลังจากแก้ไขปัญหามัลแวร์แล้ว ต้องล้าง Cache, Cookies และ Storage ของ Browser เนื่องจาก Browser อาจยังเก็บ Script ที่เป็นอันตรายจากเว็บไซต์ก่อนการแก้ไขไว้ในเครื่อง ซึ่งอาจทำให้ Script เดิมถูกเรียกใช้งานอีกครั้ง หรือทำให้ Browser แสดงข้อมูลเก่าแม้ว่าไฟล์บน Server จะได้รับการแก้ไขแล้ว

ให้สร้างหน้า /clear-browser เพื่อส่งคำสั่งล้าง Cache, Cookies และ Storage ของ Domain ตามขั้นตอนด้านล่าง

ข้อควรทราบ: ขั้นตอนนี้ต้องดำเนินการผ่าน HTTPS และจะทำให้ User ถูก Logout ออกจาก Website ควรแจ้งผู้ใช้งานก่อนดำเนินการ

วิธีดำเนินการ

1. สร้าง Folder clear-browser ภายใน public_html แล้วสร้างไฟล์ .htaccess ภายใน Folder ดังกล่าว

เพิ่ม Code ด้านล่างในไฟล์ .htaccess แล้วกด Save

<IfModule mod_headers.c>
    Header always set Clear-Site-Data "\"cache\", \"cookies\", \"storage\""
</IfModule>

เมื่อสร้างไฟล์ครบแล้ว ให้เปิด URL ต่อไปนี้ผ่าน HTTPS เพื่อดำเนินการล้าง Cache, Cookies และ Storage ของ Domain

ตัวอย่าง: https://domain.com/clear-browser

2. สร้างไฟล์ index.php ภายใน Folder clear-browser

เพิ่ม Code ด้านล่างในไฟล์ index.php แล้วกด Save

<?php
header('Content-Type: text/html; charset=UTF-8');
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
header('X-Robots-Tag: noindex, nofollow');
?>
<!DOCTYPE html>
<html lang="th">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Browser Cleanup</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            padding: 60px 20px;
            background: #f7f7f7;
        }
        .container {
            max-width: 500px;
            margin: auto;
            padding: 30px;
            background: white;
            border-radius: 10px;
        }
        a {
            display: inline-block;
            margin-top: 20px;
            padding: 12px 24px;
            background: #0073aa;
            color: white;
            text-decoration: none;
            border-radius: 5px;
        }
    </style>
</head>
<body>
    <div class="container">
        <h2>Browser Cleanup</h2>
        <p>ระบบได้ส่งคำสั่งล้าง Cache, Cookies และ Storage ของเว็บไซต์แล้ว</p>
        <p>กรุณาปิดแท็บนี้ หรือกลับเข้าสู่เว็บไซต์และ Login ใหม่อีกครั้ง</p>
        <a href="/">กลับสู่เว็บไซต์</a>
    </div>
</body>
</html>

หลังจากใช้งานเสร็จแล้ว แนะนำให้ลบ Folder /clear-browser ออกจาก Server เพื่อป้องกันการเปิด URL นี้ซ้ำโดยไม่ตั้งใจ