Auto-Clean คืออะไร
CPGuard Auto-Clean คือระบบที่ทำความสะอาดมัลแวร์จากไฟล์บน Hosting โดยอัตโนมัติ เมื่อ CPGuard ตรวจพบโค้ดอันตรายในไฟล์ ระบบ Auto-Clean จะพยายามลบเฉพาะโค้ดที่เป็นมัลแวร์ออก โดยยังคงรักษาโค้ดปกติของไฟล์นั้นไว้ให้ครบถ้วนที่สุด
ลองนึกภาพว่าไฟล์ PHP ของคุณเหมือนกับเอกสาร Word ที่มีคนแอบแทรกประโยคไม่ดีเข้ามา Auto-Clean จะช่วย "ลบประโยคไม่ดีออก" โดยไม่แตะเนื้อหาต้นฉบับที่ดีอยู่แล้ว ซึ่งต่างจากการ Delete ที่ลบทั้งไฟล์ทิ้ง
คุณสมบัตินี้มีประโยชน์มากสำหรับผู้ใช้มือใหม่ที่ไม่มีความรู้ด้าน PHP หรือ Server Security เพราะช่วยให้เว็บไซต์กลับมาทำงานได้โดยเร็วโดยไม่ต้องรอ Support หรือรอให้ผู้เชี่ยวชาญมาแก้ไข
วิธีทำงานของ Auto-Clean
เมื่อ CPGuard ตรวจพบมัลแวร์ในไฟล์ ระบบจะดำเนินการตามขั้นตอนนี้:
- ระบุตำแหน่งมัลแวร์ — CPGuard หาว่าโค้ดอันตรายอยู่ในบรรทัดไหนของไฟล์ และ Signature ตรงกับ Pattern ใดในฐานข้อมูล
- สร้าง Backup อัตโนมัติ — ก่อน Clean จะสำรองไฟล์ต้นฉบับไว้ในโฟลเดอร์ที่ซ่อนอยู่ เพื่อให้ Restore ได้ถ้า Clean แล้วเว็บพัง
- ลบโค้ดมัลแวร์ — ตัด Pattern ที่ตรงกับมัลแวร์ออกจากไฟล์ เหลือไว้เฉพาะโค้ดปกติ
- ยืนยันผล — สแกนไฟล์อีกครั้งเพื่อให้แน่ใจว่า Clean สำเร็จ ถ้ายังพบมัลแวร์อยู่จะ Quarantine แทน
- ส่งรายงาน — แจ้งทางอีเมลว่าพบและ Clean ไฟล์ใด เมื่อไหร่ ผลเป็นอย่างไร
Auto-Clean vs Quarantine vs Delete — ต่างกันยังไง
Auto-Clean
ทำอะไร: ลบเฉพาะโค้ดมัลแวร์ออกจากไฟล์ เก็บโค้ดปกติไว้
เหมาะกับ: ไฟล์ WordPress Core, ไฟล์ Theme/Plugin ที่ถูกฝัง Malware Code
ข้อดี: เว็บยังทำงานได้หลัง Clean โดยไม่ต้องติดตั้งอะไรใหม่
ข้อเสีย: อาจทำให้ไฟล์ผิดพลาดถ้าโค้ดมัลแวร์ฝังลึกจนแยกไม่ออก
Quarantine
ทำอะไร: ย้ายไฟล์ออกจาก Webroot ไปเก็บในโฟลเดอร์ที่เข้าถึงไม่ได้จาก Internet
เหมาะกับ: ไฟล์ที่ไม่แน่ใจว่าเป็นมัลแวร์จริงหรือ False Positive ต้องการเก็บไว้ตรวจสอบก่อน
ข้อดี: ปลอดภัยกว่า Delete เพราะยัง Restore กลับมาได้
ข้อเสีย: ถ้า Quarantine ไฟล์สำคัญ เว็บอาจใช้งานไม่ได้จนกว่าจะ Restore
Delete
ทำอะไร: ลบไฟล์ทิ้งถาวร ไม่สามารถ Restore ได้จาก CPGuard (แต่ยังมีใน Backup)
เหมาะกับ: Web Shell, Backdoor Script ที่มั่นใจ 100% ว่าเป็นมัลแวร์ทั้งหมด
ข้อดี: กำจัดภัยคุกคามได้ทันที
ข้อเสีย: ถ้า Delete ผิดพลาดต้องเอาไฟล์จาก Backup เท่านั้น
วิธีตั้งค่า Auto-Clean ใน CPGuard
เปิดใช้งาน Auto-Clean
Login เข้า cPanel แล้วคลิก CPGuard ไปที่เมนู Settings หรือ Configuration มองหาหัวข้อ "Auto-Clean" หรือ "Auto-Remediation" แล้วสลับ Toggle เป็น "Enabled" บันทึกการตั้งค่า
ตั้งค่า Action เมื่อ Clean ไม่สำเร็จ
ถ้า Auto-Clean ไม่สามารถลบมัลแวร์ออกได้ CPGuard จะทำอะไรต่อ? ตั้งค่าได้ใน Settings:
- Quarantine on Fail — ย้ายไปกักกันเมื่อ Clean ไม่สำเร็จ (แนะนำสำหรับมือใหม่)
- Delete on Fail — ลบทิ้งเมื่อ Clean ไม่สำเร็จ (เหมาะสำหรับไฟล์ที่รู้แน่ว่าเป็นมัลแวร์)
- Alert Only — แจ้งเตือนเท่านั้น ไม่ดำเนินการใดๆ (เหมาะสำหรับผู้ที่ต้องการตรวจสอบเองทุกครั้ง)
ตั้งค่าอีเมลแจ้งเตือน
ไปที่ CPGuard → Settings → Notifications ใส่อีเมลที่ต้องการรับรายงาน CPGuard จะส่ง Email ทุกครั้งที่ Auto-Clean ทำงาน พร้อมรายละเอียดว่า Clean ไฟล์ใด สำเร็จหรือไม่
เมื่อ Auto-Clean ทำงาน — สิ่งที่เกิดขึ้น
ผู้ให้บริการ Hosting อย่าง asiagb.com ติดตั้ง CPGuard และเปิด Auto-Clean ไว้ในทุก Hosting Account หมายความว่าเมื่อมัลแวร์ถูกตรวจพบ ระบบจะ Clean อัตโนมัติโดยไม่ต้องรอให้ลูกค้าสั่งการ ลดเวลาที่เว็บไซต์มีความเสี่ยงลงอย่างมาก
เมื่อ Auto-Clean ทำงานสำเร็จ:
- ไฟล์ที่ติดมัลแวร์กลับมาทำงานได้ตามปกติ โดยไม่มีโค้ดอันตราย
- Backup ของไฟล์เดิมถูกเก็บไว้ในโฟลเดอร์ Quarantine เผื่อ Restore
- ระบบบันทึก Log ว่าพบและ Clean ไฟล์อะไร เมื่อไหร่
- อีเมลแจ้งเตือนถูกส่งไปยังอีเมลที่ตั้งค่าไว้
- สถิติในแดชบอร์ด CPGuard อัพเดทจำนวนไฟล์ที่ Clean
กรณีที่ Auto-Clean อาจทำให้เว็บมีปัญหา
แม้ Auto-Clean จะออกแบบมาให้ปลอดภัย แต่บางกรณีอาจทำให้เว็บมีปัญหาได้:
- ไฟล์ที่ใช้
eval()หรือbase64_decode()สำหรับ Encryption ปกติ อาจถูก Clean ทำให้ Logic หายไป - ไฟล์ที่โค้ดมัลแวร์กระจายอยู่ทั่ว ลบออกแล้วโค้ดปกติอ่านไม่ออก
- ไฟล์ที่ Plugin บางตัวใช้ Obfuscation จงใจ CPGuard อาจเข้าใจผิดว่าเป็นมัลแวร์
ถ้าเว็บมีปัญหาหลัง Auto-Clean ให้ไปที่ CPGuard → Quarantine แล้วหา Backup ของไฟล์นั้น กด Restore เพื่อนำไฟล์ต้นฉบับกลับมา จากนั้นตั้งค่า CPGuard ให้ Whitelist ไฟล์นั้นและหาวิธีแก้ไขอื่น
ตรวจสอบว่า Auto-Clean ทำงานถูกต้อง
# ดูรายการไฟล์ใน Quarantine Folder (ถ้าเข้าถึงได้)
ls -la /home/USERNAME/.cpguard/quarantine/
# ตรวจสอบ Log ของ CPGuard Auto-Clean
tail -100 /var/log/cpguard/autoclean.log 2>/dev/null || \
cat /home/USERNAME/.cpguard/logs/clean.log 2>/dev/null
# ตรวจสอบไฟล์ที่ถูกแก้ไขล่าสุดโดย CPGuard
find /home/USERNAME/public_html -newer /home/USERNAME/public_html/index.php \
-name "*.php" -ls | sort -k8,9
# ตรวจสอบว่าไม่มีไฟล์ eval() ที่น่าสงสัยหลังการ Clean
grep -rl "eval(base64_decode" /home/USERNAME/public_html/ 2>/dev/null
แก้ปัญหาที่พบบ่อย
Error: "Auto-Clean ทำงานแล้วแต่เว็บยังโดนมัลแวร์ซ้ำ"
มัลแวร์ที่ Clean ออกไปแต่กลับมาใหม่มักหมายความว่ายังมี Backdoor อยู่ที่ไหนสักที่ CPGuard Auto-Clean ลบโค้ดที่พบในครั้งนั้น แต่ถ้าแฮกเกอร์ยังเข้าได้อยู่ เขาจะอัพโหลดมัลแวร์กลับมาใหม่ ให้เปลี่ยนรหัสผ่านทุกจุด และตรวจสอบว่า WordPress, ธีม, ปลั๊กอินอัพเดทครบแล้ว
Error: "หน้าเว็บ 500 Internal Server Error หลัง Auto-Clean"
Auto-Clean อาจลบโค้ดที่จำเป็นออกด้วยโดยไม่ตั้งใจ ให้ Restore ไฟล์จาก CPGuard Quarantine หรือ cPanel Backup ทันที จากนั้นติดต่อ Hosting Support พร้อมแสดง Log ของ Auto-Clean ให้ทีมงานวิเคราะห์
Error: "ไม่พบ Backup ของไฟล์ที่ Auto-Clean ไปแล้ว"
CPGuard เก็บ Backup ไว้ใน Quarantine Folder เป็นระยะเวลาหนึ่ง (ขึ้นอยู่กับการตั้งค่าของ Hosting Provider) ถ้าหา Backup ใน CPGuard ไม่เจอ ให้ไปที่ cPanel → Backup → Restore a Full Account Backup หรือ Restore a Home Directory Backup
Error: "Auto-Clean ปิดอยู่ ไม่สามารถเปิดได้"
บาง Hosting Provider ปิด Auto-Clean ไว้เป็น Default เพื่อให้ลูกค้าดูแลเอง ต้องติดต่อ Support เพื่อขอเปิดใช้งาน หรืออาจต้องอัพเกรดแผน Hosting เพื่อรับสิทธิ์ใช้ Auto-Clean
Error: "CPGuard Auto-Clean รายงาน Cleaned แต่ไฟล์ยังเหมือนเดิม"
อาจเกิดจาก Cache ของ PHP OpCache ให้ไปที่ cPanel → Advanced → PHP OpCache แล้วกด "Flush OpCache" หรือเพิ่มบรรทัด opcache.revalidate_freq=0 ชั่วคราว เพื่อให้ PHP โหลดไฟล์ใหม่จากดิสก์
คำถามที่พบบ่อย
Auto-Clean ต่างจาก Auto-Heal ยังไง?
ทั้งสองคำใช้สลับกันได้ในบริบทของ CPGuard หมายถึงคุณสมบัติที่ CPGuard ดำเนินการกับมัลแวร์โดยอัตโนมัติโดยไม่ต้องรอคำสั่งจากผู้ใช้ บาง Hosting Provider อาจใช้คำว่า Auto-Heal ในแดชบอร์ดแทน Auto-Clean แต่ความหมายเหมือนกัน
Auto-Clean จะทำงานทันทีที่พบมัลแวร์ไหม?
ขึ้นอยู่กับการตั้งค่าของ Hosting Provider บางเจ้าตั้งให้ Clean ทันทีเมื่อ Real-Time Scanner ตรวจพบ บางเจ้าให้รอจนสแกนรอบ Full Scan เสร็จก่อนแล้วค่อย Clean ทั้งหมดพร้อมกัน
ควรเปิด Auto-Clean ไว้ตลอดเวลาไหม?
สำหรับมือใหม่แนะนำให้เปิดไว้เสมอ เพราะช่วยลดเวลาที่เว็บอยู่ในสภาพอันตราย สำหรับผู้ใช้ขั้นสูงที่ต้องการตรวจสอบทุกไฟล์เองก่อน อาจตั้งค่าเป็น Quarantine แทนเพื่อให้มีเวลาวิเคราะห์