Malware (mã độc) là khái niệm được nhắc đến rất nhiều trong thiết kế web hoặc trong quá trình sử dụng web, các thiết bị công nghệ. Đặc biệt, tỷ lệ website WordPress bị nhiễm Malware khá cao. Và chủ đề này được rất nhiều bạn sử dụng WordPress quan tâm.
Vậy cần phải làm gì để xử lý mã độc khi website WordPress bị nhiễm? Bài viết này tôi sẽ hướng dẫn các bạn từng bước xử lý.
Dấu hiệu nhận biết website bị nhiễm mã độc
- Website bị chuyển hướng (Redirect) sang những website khác. Có nhiều trường hợp chỉ chuyển hướng trên thiết bị di động hoặc truy cập website qua các bộ máy tìm kiếm (Vào trực tiếp sẽ không chuyển hướng)
- Website bị chèn tự động các liên kết ngoài (Thường ở header hoặc footer)
- Website bị chèn tự động các bài viết lạ (Thường trong nội dung sẽ có liên kết ngoài)
- Tự động thêm các thành viên lạ (Thường là tên tiếng anh, hoặc tên không rõ ràng)
- Website bị mất nội dung (Không có tác động từ phía quản trị viên)
Các bài viết bị chèn link ngoài hoặc iframe - Trong source code xuất hiện nhiều file lạ
- Trong các file php, js tự động chèn các đoạn code lạ
- Tự động cài đặt các themes, plugins mới
- Bị xoá file hệ thống, plugin, themes,…
- Bị xoá nội dung file và thay thế bằng code lạ
Các bước cần chuẩn bị trước khi xử lý mã độc
- Đổi Hosting/VPS: Tiềm ẩn nhất sau khi website bị nhiễm Malware chính là hosting, vps của bạn. Đừng tiếc tiền, hãy đổi qua hosting hoặc VPS khác (Có thể nhờ nhà cung cấp tạo hosting khác hoặc rebuild VPS)
- Không chạy website khi đang xử lý mã độc: Nếu bạn vừa chạy website và xử lý mã độc không khác nào “nước đổ lá khoai”. Vì khi bạn chạy website mà chưa được xử lý mã độc triệt để thì đó chính là cách để lây lan nhanh hơn
Quy trình thực hiện
Bước 01: Tải toàn bộ source code và database về máy tính
Trong toàn bộ quy trình xử lý mã độc, bạn hãy làm việc trên máy tính (Tránh làm việc trên hosting, VPS). Sau đó, hãy cài đặt trên localhost (xampp, wamp,…) nhưng không chạy website.
Bước 02: Kiểm tra database
Sau khi import database vào localhost, hãy truy cập vào phpmyadmin và kiểm tra bảng wp_options xem 2 dòng siteurl và home có đúng địa chỉ website của bạn không? Nếu không đúng hãy sửa lại.
Tiếp theo, sử dụng tính năng tìm kiếm tất cả bảng trong phpmyadmin. Bạn hãy tìm lần lượt các từ khoá: %shell%, %base64%, %eval%, %<script>%.
Nếu phát hiện ở bảng nào? Hãy loại bỏ chúng ra khỏi database.
Lưu ý: Trước khi loại bỏ chúng, cần kiểm tra kỹ tránh xoá nhầm
Bước 03: Thay mã nguồn WordPress
- Bạn hãy lên website wordpress.org và download mã nguồn WordPress phiên bản mới nhất về máy tính => giải nén => xoá thư mục “wp-content”
- Mở source code hiện tại của bạn => Xoá toàn bộ mã nguồn, chỉ giữ lại thư mục “wp-content”, file “wp-config.php”, “.htaccess” (Nếu có)
Sao chép mã nguồn WordPress mới vào source code hiện tại của bạn - Mở file wp-config.php, nếu thấy code lạ trong file này hãy loại bỏ đoạn code đó
Bước 04: Thay thế plugin đã cài đặt
Đầu tiên, hãy xoá các plugin không liên quan đến website (Có thể do malware tự động cài)
Trong các plugin bạn đã cài đặt có thể có những plugin trả phí, nếu là plugin trả phí bạn chỉ cần giải nén và copy vào thư mục wp-content/plugins
Lưu ý: Nhớ xoá folder cũ, không được ghi đè
Với các plugin miễn phí trên wordpress.org, bạn dựa vào tên folder plugin để download.
Cấu trúc như sau: https://wordpress.org/plugins/ten_folder
Ví dụ: Plugin có folder wordpress-seo thì bạn chỉ cần vào link sau: https://wordpress.org/plugins/wordpress-seo
Hãy luôn nhớ rằng: Không được ghi đè, phải xoá folder plugin cũ.
Nếu trên website đã sử dụng các plugin NULL, hãy xoá nó ngay và mua các plugin thay thế (Hoặc tìm plugin khác để thay thế)
Bước 05: Kiểm tra themes
Đầu tiên, hãy xoá các theme không liên quan (Cẩn thận xoá nhầm)
Tiếp theo, mở các file php, js và xoá các đoạn code lạ: Thường là code mã hoá, hoặc hàm eval
Các thư viện, plugin của jQuery bạn có thể thay mới (Vì khó kiểm tra). Ví dụ: jquery.min.js, bootstrap.min.js, owl-carouse.min.js,…
Lưu ý: Nhớ kiểm tra phiên bản các thư viện, plugin đó để tránh website bị lỗi
Tiếp theo, kiểm tra trong theme và các folder trong theme có file nào lạ không? Nếu có hãy loại bỏ chúng. Đừng chủ quan những thư mục liên quan đến fonts, css, images,…
Bước 06: Kiểm tra thư mục uploads, languages, upgrade
– Trong thư mục uploads: Hãy loại bỏ tất cả những file không phải là định dạng ảnh, video, file tài liệu do bạn upload lên
– Trong thư mục languages: Hãy loại bỏ tất cả những file không phải là định dạng .mo, .po
– Trong thư mục upgrade: Hãy loại bỏ tất cả các file lạ (Thường là .php)
Bước 07: Kiểm tra thư mục wp-content
Trong thư mục có thể sẽ có những file lạ, bạn cần loại bỏ chúng. Kể cả file index.php của thư mục wp-content, nhiều khi malware cũng chèn vào file đó. Bạn cần phải xoá code lạ trong file đó nhưng đừng xoá file đó.
Bước 08: Xoá các bài viết, trang, users
Bạn đăng nhập vào trang quản trị và thực hiện kiểm và xoá các bài viết, trang, users tự sinh ra. Bạn cũng cần kiểm tra các bài viết do bạn viết xem có bị chèn script, frame lạ không? Nếu có, hãy xoá chúng.
Bước 09: Kiểm tra lại bằng plugin Wordfence Security
Không có nghĩa plugin này giúp kiểm tra chính xác, plugin này giúp tham khảo thêm việc kiểm tra mã độc có còn không? Qua quá trình làm việc, tôi đã làm việc với plugin này và thấy nó khá hiệu quả.
Sau khi cài đặt plugin này xong, bạn scan và đợi kết quả báo cáo của plugin. Nếu vẫn còn, bạn hãy rà soát lại xem còn thiếu bước nào không và thực hiện xử lý lại.
Bước 10: Deploy website lên hosting mới và theo dõi
Việc này sẽ mất một thời gian theo dõi, nếu sau khoảng vài ngày đến 1-2 tuần mà không có vấn đề gì, mình nghĩ website của bạn tạm thời đã xử lý xong mã độc.
Các bước thiết lập để bảo vệ website WordPress
- Đặt mật khẩu quản trị, hosting có độ phức tạp cao
- Đổi đường link truy cập wp-admin. Tham khảo plugin Protect Your Admin
- Tránh việc chạy nhiều website trên 1 hosting (Đặc biệt là share hosting)
- Sử dụng thêm plugin Wordfence Security để bảo vệ và cảnh báo
Bật CFS firewall trên Server - Cập nhật liên tục WordPress Core và Plugin (Khi có phiên bản mới)
- TUYỆT ĐỐI: Không sử dụng các plugin, theme NULL
- Nếu website của bạn có những form tự viết hãy kiểm tra lại code và filter input. Tham khảo link sau: https://developer.wordpress.org/plugins/security/securing-input
- Cập nhật tin tức về lỗi bảo mật của các plugin, nếu thấy tin xấu mà chưa có bản update, hãy xoá ngay.
- Có thể thiết lập thêm lớp bảo vệ folder khu vực quản trị bằng .htaccess
KẾT LUẬN
Trên đây, tôi đã chia sẻ ít kinh nghiệm của tôi về việc xử lý mã độc WordPress và cách phòng tránh. Việc website bị nhiễm mã độc đừng chỉ đổ lỗi cho WordPress, Plugin, Themes. Người dùng cũng góp phần lớn khiến website bị nhiễm mã độc. Cho nên hãy để ý để website của mình được an toàn.
Mục lục Dịch Vụ SEO