“Đã xóa file bị cảnh báo” chưa phải là tiêu chí website đã sạch. Trước khi mở lại, cần chứng minh mã nguồn ổn định, database không còn chỉ báo, tài khoản và cron hợp lệ, đường xâm nhập đã được vá và các luồng kinh doanh vẫn hoạt động.
Kết luận phải dựa trên nhiều lớp bằng chứng và một khoảng theo dõi sau làm sạch, không dựa vào duy nhất thông báo xanh của một máy quét.
1. Xác minh tệp và cấu hình
- Core/plugin/theme được đối chiếu hoặc thay từ nguồn tin cậy.
- Uploads, mu-plugins, drop-ins, wp-config và rewrite đã được rà.
- Không còn tệp thực thi lạ; owner và quyền tệp phù hợp.
- Baseline mới được lưu để phát hiện thay đổi tiếp theo.
2. Xác minh database
Tìm lại domain, script, keyword và account từng được xác định là IoC. Rà posts, options, users/usermeta và bảng plugin liên quan. Kết quả “không tìm thấy chuỗi” là một tín hiệu, không loại trừ payload đã biến đổi hoặc sinh động từ code.
3. Xác minh tài khoản và tác vụ nền
Danh sách Administrator phải có người sở hữu; session và application password lạ đã bị thu hồi. WP-Cron và system cron được đối chiếu với plugin/chức năng hợp lệ. Theo dõi xem hook, user hoặc file từng bị xóa có được tạo lại không.
4. Xác minh đường xâm nhập đã đóng
Plugin/theme dễ tổn thương đã được cập nhật, thay thế hoặc gỡ bỏ; credential liên quan đã xoay; thiết bị quản trị và các website cùng hosting được kiểm tra. Nếu chưa tìm được root cause, cần ghi rõ mức không chắc chắn và tăng giám sát thay vì tuyên bố tuyệt đối.
5. Kiểm thử từ bên ngoài
Kiểm tra URL khi đăng nhập/đăng xuất, từ Google, desktop/mobile và mạng khác. Rà redirect chain, HTTPS, header, nội dung spam, cảnh báo trình duyệt và Search Console. Xóa cache có kiểm soát để phân biệt phản hồi cũ với tái nhiễm.
6. Kiểm thử nghiệp vụ
Thử form, email, đăng nhập, tìm kiếm, giỏ hàng, thanh toán, webhook và tác vụ nền quan trọng. Việc thay package sạch hoặc database có thể làm mất cấu hình hợp lệ; bảo mật và tính sẵn sàng phải được xác minh cùng nhau.
7. Thiết lập thời gian theo dõi
Không có số giờ cố định cho mọi website. Thời gian cần bao phủ các cron, luồng nghiệp vụ và chu kỳ lưu lượng liên quan. Theo dõi thay đổi file, user, cron, lỗi 5xx, request tới IoC và email/redirect bất thường; ghi người chịu trách nhiệm phản ứng.
Log bị mất, backup không rõ thời điểm hoặc hosting dùng chung có thể giới hạn độ chắc chắn. Báo cáo tốt phải nêu cả bằng chứng đã có và khoảng trống còn lại.
Nguồn tham khảo chính thức
Checklist kết hợp hướng dẫn hậu xâm nhập của WordPress.org và các lớp cập nhật, quyền truy cập, backup, containment trong Hardening WordPress.
“Không còn thấy mã độc” chưa phải kết quả kiểm chứng
Scanner có thể bỏ sót payload mới, còn cache có thể che file đã sửa. Verification phải kiểm tra lại triệu chứng ban đầu, so sánh baseline, rà persistence và theo dõi qua đủ thời gian để các job nền có cơ hội chạy.
Kiểm tra từ góc nhìn của attacker và người dùng
Thử URL mẫu, mobile/referrer, user chưa đăng nhập và các endpoint từng bị khai thác. Đồng thời kiểm tra login, checkout, form, cron và email để chắc rằng biện pháp làm sạch không phá chức năng thật.
Bốn lớp xác nhận WebAnToan sử dụng
- File/database khớp nguồn sạch và không còn IOC.
- Tài khoản, session, key và cron đã được rà.
- Log không ghi hành vi tái tạo hoặc outbound lạ.
- Giám sát tiếp tục qua nhiều chu kỳ cache, cron và crawl.
Chỉ khi nguyên nhân, persistence và dấu hiệu tái nhiễm đều được kiểm soát, website mới chuyển từ “đã dọn” sang “đã phục hồi có bằng chứng”.
Ai là người ký xác nhận website sạch?
Người điều tra, người vận hành và owner nghiệp vụ cần thống nhất tiêu chí. Kỹ thuật xác nhận IOC và persistence; nghiệp vụ kiểm tra luồng khách; người chịu trách nhiệm chấp nhận rủi ro còn lại. Không để một nút “scan clean” thay cho quyết định này.
Lưu báo cáo để lần sau nhanh hơn
Ghi IOC, timeline, nguồn sạch, credential đã xoay và rule monitoring mới. Tài liệu này trở thành baseline cho lần kiểm tra tiếp theo.
Cụm điều tra mã độc WordPress
Đi từ dấu vết kỹ thuật đến kết luận có thể kiểm chứng.
Câu hỏi thường gặp
Một máy quét báo sạch đã đủ chưa?
Chưa. Cần kiểm tra file, database, user, cron, đường vào và hành vi bên ngoài.
Có thể cam kết sạch 100% không?
Chỉ nên kết luận theo bằng chứng và nêu giới hạn nếu log, backup hoặc phạm vi hosting không đầy đủ.
Khi nào có thể mở website lại?
Khi hoạt động gây hại đã dừng, điểm vào được xử lý, kiểm thử đạt và có kế hoạch giám sát.
Cần điều tra website theo dữ liệu thực tế?
WebAnToan có thể rà log, file, database, cron và tài khoản để xác định phạm vi cùng thứ tự xử lý.
Gia cố cấu hình, vùng ghi, danh tính, endpoint, WAF và monitoring thành bảy lớp có thể kiểm thử.



