สแกนและกำจัดมัลแวร์ด้วย ImunifyAV บน Plesk

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

โดย ทีมงาน THAI DATA CLOUD อัปเดต อ่าน 8 นาที เข้าชม 5 ครั้ง

แชร์FacebookXLINELinkedIn
ImunifyAV — สแกนและกำจัดมัลแวร์ด้วย ImunifyAV บน Plesk
สแกนและกำจัดมัลแวร์ด้วย ImunifyAV บน Plesk

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

คู่มือนี้อธิบาย ImunifyAV ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย

เว็บไซต์ที่ถูกแฮกมักไม่แสดงอาการทันที ผู้โจมตีฝัง Web Shell ไว้เพื่อกลับเข้ามาภายหลัง แทรกลิงก์ซ่อนเพื่อทำ SEO ให้เว็บอื่น หรือใช้เซิร์ฟเวอร์ส่งสแปม เจ้าของเว็บมักรู้ตัวเมื่อ Google ขึ้นคำเตือนหรือ IP ติดบัญชีดำ

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

สิ่งที่ต้องเตรียม (ImunifyAV)

  • Plesk Obsidian และสิทธิ์ผู้ดูแลระบบ
  • พื้นที่หน่วยความจำว่างอย่างน้อย 1 GB
  • ข้อมูลสำรองที่ใช้การได้ ก่อนลบหรือแก้ไฟล์ใด ๆ

ขั้นตอนที่ 1: ติดตั้ง (ImunifyAV)

ไปที่ Extensions ค้นหา ImunifyAV แล้วติดตั้ง จะพบเมนูใหม่ในแถบด้านซ้าย

# ตรวจสถานะ
sudo systemctl status imunify-antivirus
sudo imunify-antivirus version

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

ขั้นตอนที่ 2: สแกนครั้งแรก

ในหน้า ImunifyAV กด Start Scanning เลือกสแกนทุกผู้ใช้หรือเฉพาะบางโดเมน

# สแกนจากบรรทัดคำสั่ง
sudo imunify-antivirus malware on-demand start --path /var/www/vhosts/example.com

# ดูสถานะ
sudo imunify-antivirus malware on-demand status

# ดูผลลัพธ์
sudo imunify-antivirus malware malicious list --limit 50

การสแกนครั้งแรกใช้เวลานานตามจำนวนไฟล์ ปล่อยให้ทำงานจนจบ

ขั้นตอนที่ 3: อ่านผลการสแกน

ผลลัพธ์แสดงรายการไฟล์พร้อมชนิดของภัยคุกคาม ชนิดที่พบบ่อยในเว็บไทย

  • Web Shell ไฟล์ที่ให้ผู้โจมตีรันคำสั่งบนเซิร์ฟเวอร์ผ่านเบราว์เซอร์ อันตรายที่สุด
  • Backdoor ช่องทางลับที่ให้กลับเข้ามาได้แม้แก้รหัสผ่านแล้ว
  • SEO Spam โค้ดที่แทรกลิงก์ซ่อนไปยังเว็บพนันหรือขายยา ซึ่งทำให้เว็บถูกลงโทษจาก Google
  • Phishing หน้าปลอมที่เลียนแบบธนาคารหรือบริการอื่น ซึ่งทำให้โดเมนถูกขึ้นบัญชีดำ

คลิกที่ไฟล์เพื่อดูโค้ดที่ตรวจพบ ซึ่งช่วยยืนยันว่าเป็นของจริงหรือผลบวกลวง

ขั้นตอนที่ 4: จัดการไฟล์ที่พบ

อย่าลบทันที ทำตามลำดับนี้

  1. สำรองไฟล์นั้นไว้ก่อนเพื่อใช้วิเคราะห์
  2. ตรวจว่าเป็นไฟล์จริงของระบบหรือไม่ โดยเทียบกับต้นฉบับของ WordPress หรือปลั๊กอิน
  3. หากเป็นไฟล์แปลกปลอม ให้ย้ายไปกักกันก่อนแทนการลบ
  4. ตรวจว่าเว็บยังทำงานปกติ
# เทียบไฟล์หลักของ WordPress กับต้นฉบับ
cd /var/www/vhosts/example.com/httpdocs
wp core verify-checksums
wp plugin verify-checksums --all

คำสั่งนี้บอกได้ทันทีว่าไฟล์ไหนถูกแก้ไขจากต้นฉบับ ซึ่งเป็นวิธีที่แม่นยำที่สุดสำหรับ WordPress

# กักกันไฟล์แทนการลบ
sudo mkdir -p /root/quarantine
sudo mv /var/www/vhosts/example.com/httpdocs/wp-content/uploads/2026/xx.php /root/quarantine/

ขั้นตอนที่ 5: ตั้งสแกนอัตโนมัติ

ในหน้า ImunifyAV ไปที่ Settings แล้วเปิด

  • Enable background scanning สแกนไฟล์ที่เปลี่ยนแปลงอย่างต่อเนื่อง
  • Scan modified files ตรวจเฉพาะไฟล์ที่เพิ่งถูกแก้ ซึ่งเร็วและจับได้ทันเหตุการณ์
  • ตั้งรอบสแกนเต็มรูปแบบสัปดาห์ละครั้งในช่วงที่มีผู้ใช้น้อย
sudo imunify-antivirus config update '{"MALWARE_SCAN_SCHEDULE": {"interval": "week", "day_of_week": 7, "hour": 2}}'
sudo imunify-antivirus config show | grep -A5 SCHEDULE

ขั้นตอนที่ 6: เมื่อพบว่าเว็บถูกแฮก ให้ทำครบทุกข้อ

การลบไฟล์ที่พบอย่างเดียวไม่พอ เพราะช่องทางที่ผู้โจมตีเข้ามายังอยู่ ทำตามลำดับนี้ทั้งหมด

  1. แยกเว็บออกก่อน ปิดเว็บชั่วคราวหรือจำกัดการเข้าถึง เพื่อหยุดความเสียหาย
  2. เปลี่ยนรหัสผ่านทุกตัว ทั้งผู้ดูแล WordPress ฐานข้อมูล FTP SSH และ Plesk
  3. ตรวจบัญชีผู้ดูแลที่ถูกเพิ่ม
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered
  1. ตรวจงานตามเวลาที่ถูกเพิ่ม
sudo crontab -l -u example_user
wp cron event list
  1. อัปเดตทุกอย่าง WordPress ปลั๊กอิน ธีม และ PHP
  2. ถอนปลั๊กอินและธีมที่ไม่ได้ใช้ ซึ่งเป็นช่องทางที่ถูกใช้บ่อยที่สุด
  3. ตรวจไฟล์ที่ถูกแก้ล่าสุด
find /var/www/vhosts/example.com/httpdocs -type f -name '*.php' -mtime -14 -ls | head -40
  1. ตรวจว่ามีไฟล์ PHP ในโฟลเดอร์อัปโหลด ซึ่งไม่ควรมีเลย
find /var/www/vhosts/example.com/httpdocs/wp-content/uploads -name '*.php' -o -name '*.phtml'
  1. ปิดการรันไฟล์ PHP ในโฟลเดอร์อัปโหลด
location ~* /wp-content/uploads/.*\.(php|phtml|php5|pht)$ {
    deny all;
    return 403;
}
  1. สแกนซ้ำจนสะอาด แล้วเฝ้าดูต่ออีกอย่างน้อยสองสัปดาห์

ขั้นตอนที่ 7: ป้องกันไม่ให้เกิดซ้ำ

  • เปิดการอัปเดตอัตโนมัติสำหรับ WordPress และปลั๊กอิน
  • ใช้การยืนยันตัวตนสองขั้นตอนสำหรับหน้าล็อกอิน
  • ตั้งสิทธิ์ไฟล์ให้ถูกต้อง โฟลเดอร์ 755 ไฟล์ 644 และ wp-config.php เป็น 640
  • เปิด Fail2Ban เพื่อบล็อก IP ที่พยายามเดารหัสผ่าน
  • สำรองข้อมูลนอกเครื่องและซ้อมกู้คืน
cd /var/www/vhosts/example.com/httpdocs
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 640 wp-config.php

ปัญหาที่พบบ่อยเกี่ยวกับ ImunifyAV

แจ้งว่าพบแต่เป็นไฟล์ปกติ

ปลั๊กอินบางตัวใช้โค้ดที่ถูกบีบอัดหรือเข้ารหัสซึ่งดูคล้ายมัลแวร์ ตรวจด้วย wp plugin verify-checksums หากตรงกับต้นฉบับแปลว่าปลอดภัย แล้วเพิ่มเข้ารายการยกเว้น

สแกนแล้วเซิร์ฟเวอร์ช้ามาก

ตั้งให้สแกนในช่วงที่มีผู้ใช้น้อย และจำกัดทรัพยากรที่ใช้

sudo imunify-antivirus config update '{"MALWARE_SCANNING": {"cpu_avail": 25, "io_avail": 25}}'

ลบไฟล์แล้วกลับมาอีก

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

เว็บพังหลังลบไฟล์

ลบไฟล์จริงของระบบไป กู้จากไฟล์ที่กักกันไว้หรือจากไฟล์สำรอง นี่คือเหตุผลที่ต้องกักกันแทนการลบทันที

หากสงสัยว่าเว็บถูกบุกรุก ติดต่อทีมงาน THAI DATA CLOUD ทันทีที่ https://thaidata.cloud/contact/

อ่านเพิ่มเติมเกี่ยวกับ ImunifyAV

แชร์FacebookXLINELinkedIn

มีคำถามเรื่องบริการ? ติดต่อทีมงาน