Trả lời nhanh: Sau khi dọn malware WordPress, chỉ xóa file độc là chưa đủ. Cần hardening quyền file/thư mục, wp-config, uploads, plugin/theme, backup, user hệ thống và log thay đổi để giảm nguy cơ tái nhiễm.
Nhiều website sau khi xử lý form spam hoặc email lạ vẫn bị lại vì thư mục còn ghi quá rộng, file backup để public, uploads cho chạy PHP, hoặc tài khoản cũ vẫn có quyền sửa mã nguồn. Đây là phần quan trọng trong quy trình xử lý lỗi, virus và malware WordPress.
Vì sao phân quyền file quan trọng sau cleanup?
Malware thường cần một nơi để tồn tại lại: tạo file mới, sửa file cũ, ghi vào uploads, chèn code vào theme/plugin hoặc lợi dụng cache/backup. Nếu quyền ghi vẫn quá rộng, website có thể sạch trong vài giờ rồi nhiễm lại khi bot hoặc cron độc hại chạy tiếp.
Những khu vực cần hardening
| Khu vực | Cách kiểm soát | Mục tiêu |
|---|---|---|
| Thư mục WordPress | Không cho ghi lan rộng; chỉ cho ghi nơi thật sự cần | Giảm khả năng mã độc tự tạo file mới |
| wp-config.php | Bảo vệ kỹ hơn file cấu hình và thông tin database | Giảm rủi ro lộ secret hoặc bị sửa cấu hình |
| uploads | Không cho thực thi PHP trong thư mục upload nếu hạ tầng hỗ trợ | Chặn webshell ngụy trang file ảnh/tài liệu |
| plugin/theme | Chỉ giữ bản hợp lệ, cập nhật được, không nulled | Giảm cửa tái nhiễm qua mã nguồn không tin cậy |
| backup/cache | Không để file backup chứa database/code public | Tránh lộ dữ liệu và mã nguồn |
| user/FTP/SFTP | Tách quyền theo người dùng, bỏ tài khoản cũ | Hạn chế lạm dụng tài khoản bị lộ |
Không nên áp dụng một công thức quyền file cho mọi hosting
Mỗi môi trường có cơ chế PHP khác nhau: shared hosting, VPS, LiteSpeed, Nginx, Apache, container hoặc hosting quản trị sẵn. Vì vậy không nên copy máy móc một lệnh chmod từ internet. Quyền đúng là quyền đủ để website chạy, update có kiểm soát, nhưng không mở rộng cho mọi tiến trình ghi sửa tùy ý.
Uploads là điểm cần kiểm tra kỹ
Thư mục uploads thường cần cho phép ghi file ảnh, PDF hoặc tài liệu. Nhưng nếu uploads cho thực thi PHP, webshell có thể nằm trong thư mục này và chạy như mã độc thật. Sau cleanup cần kiểm tra file lạ, đuôi kép, mã nhúng trong ảnh giả, và rule chặn thực thi phù hợp với server.
wp-config.php và file backup
wp-config.php chứa thông tin kết nối database và salt bảo mật. Nếu file này bị sửa hoặc backup của nó bị để public, attacker có thể đọc thông tin nhạy cảm. Cũng cần kiểm tra các file zip/sql/tar.gz cũ nằm trong webroot vì đây là lỗi rất hay gặp sau khi sửa website.
Plugin/theme và quyền cập nhật
Hardening không có nghĩa là khóa cứng khiến website không cập nhật được. Cách làm đúng là giữ plugin/theme hợp lệ, cập nhật theo quy trình có backup, hạn chế sửa trực tiếp trên production và bỏ các plugin/theme không dùng. Với plugin/theme nulled, phân quyền tốt vẫn không đủ vì mã nguồn gốc đã không đáng tin.
Tài khoản hệ thống cũng là một phần của phân quyền
Nếu FTP/SFTP, hosting panel hoặc tài khoản quản trị cũ còn tồn tại, attacker có thể quay lại mà không cần khai thác WordPress. Sau sự cố cần đổi mật khẩu, thu hồi tài khoản không dùng, tách quyền theo vai trò và bật xác thực bổ sung nếu hạ tầng hỗ trợ.
Cần kiểm thử sau khi siết quyền
Sau khi hardening, phải test các luồng quan trọng: upload media, cập nhật plugin, gửi form, cache, backup, checkout nếu có WooCommerce và chạy cron hợp lệ. Nếu siết quá tay, website có thể lỗi cập nhật, lỗi cache hoặc không gửi được file từ form.
Liên hệ với SEO/AIO
Hardening giúp giảm tái nhiễm. Khi website ổn định, Google và AI crawler ít gặp lại URL rác, title sai, redirect lạ hoặc file độc. Đây là nền kỹ thuật để các bài dịch vụ, schema, sitemap và internal link có cơ hội phục hồi bền hơn.
Checklist sau khi hardening
Checklist nên gồm: kiểm tra file mới thay đổi, uploads không thực thi script, wp-config được bảo vệ, backup không public, plugin/theme sạch, user cũ đã thu hồi, log gửi mail/form bình thường, sitemap không còn URL rác và website được đưa vào bảo trì WordPress định kỳ. Nếu website từng bị khai thác nhiều lần, nên kết hợp bảo mật WordPress để theo dõi lâu dài.
FAQ
Có nên chmod 777 để website upload được không?
Không nên. 777 thường là dấu hiệu quyền quá rộng và có thể tạo điều kiện cho mã độc ghi file.
Siết quyền có làm lỗi cập nhật plugin không?
Có thể nếu làm sai. Cần test cập nhật, cache, upload và backup sau khi đổi quyền.
Uploads có cần chặn PHP không?
Thường nên chặn thực thi PHP trong uploads nếu cấu hình server cho phép, vì nhiều webshell nằm ở khu vực này.
Hardening xong có hết nguy cơ tái nhiễm không?
Không tuyệt đối. Hardening giảm rủi ro nhưng vẫn cần cập nhật, backup, log monitoring và kiểm tra tài khoản định kỳ.
Dọn malware xong nhưng chưa hardening?
IT Systems rà quyền file/thư mục, uploads, wp-config, plugin/theme, backup và log để giảm nguy cơ tái nhiễm sau cleanup.




