Hướng dẫn khôi phục WordPress sau khi bị nhiễm mã độc

Việc website WordPress bị nhiễm mã độc do sử dụng theme hoặc plugin không rõ nguồn gốc (thậm chí là lậu) hoặc đặt mật khẩu dễ đoán là điều khá phổ biến.
 
Khi website bị mã độc, thường gặp ba kịch bản chính:
 
Trang chủ bị đổi thành thông báo hack kèm nhạc.
 
Website âm thầm gửi email lừa đảo, spam mà chủ nhân không hay biết.
 
Website chứa các liên kết ẩn quảng cáo cho các dịch vụ không an toàn như thuốc kích dục, cờ bạc, hoặc phishing scam.
 
Khi gặp những trường hợp này, nhà cung cấp hosting sẽ khóa trang web của bạn. Nếu sử dụng VPS, bạn có thể nhận cảnh báo hoặc bị khóa nếu rơi vào kịch bản đầu tiên, và tên miền có nguy cơ bị liệt vào danh sách đen, ảnh hưởng xấu đến thứ hạng tìm kiếm và cảnh báo nguy hiểm từ trình duyệt Chrome.
 
Tuy nhiên, việc bảo vệ website khỏi mã độc không khó. Bạn chỉ cần sử dụng theme và plugin có bản quyền, đặt mật khẩu phức tạp (có thể lưu trữ bằng Lastpass), và cài đặt iThemes Security. Nếu bạn sử dụng hosting, hãy chọn những nhà cung cấp uy tín như AZDIGI, StableHost, A2Hosting, hoặc Hawkhost để giảm nguy cơ nhiễm mã độc từ các trang web cùng host.
 
Vậy nếu website đã bị hack thì sao?
 
Nhiều người tìm kiếm công cụ quét mã độc miễn phí, nhưng tin buồn là không có công cụ nào hoàn toàn miễn phí giúp gỡ mã độc triệt để. Một trong những dịch vụ uy tín là Sucuri Antivirus, tuy nhiên chi phí cao. Và ngay cả khi gỡ mã độc xong, cách duy nhất để đảm bảo website thật sự sạch sẽ là cài đặt lại từ đầu.
 
Cài đặt lại website từ đầu là giải pháp an toàn và tốt nhất. Điều này không có nghĩa bạn phải viết lại nội dung, vì dữ liệu sẽ được lưu trữ trong cơ sở dữ liệu, và may mắn thay, mã độc không đính kèm vào đó. Quá trình này bao gồm việc lấy dữ liệu từ website cũ, cài đặt lại website mới và nhập dữ liệu cũ vào, đồng thời cài lại plugin và theme từ nguồn đáng tin cậy.
 
Bài viết này sẽ hướng dẫn chi tiết cách thực hiện.
 
Các bước cài lại website từ đầu:
 
Bước 1: Cài đặt website mới
 
Hãy tiến hành cài đặt một website WordPress mới trên host hoặc localhost. Sử dụng một tên miền khác để tiện so sánh và đối chiếu với website cũ.
 
Sau đó, mở tập tin wp-config.php của website mới và thêm đoạn mã sau dưới dòng <?php
 
khôi phục WordPress, cài đặt lại WordPress, quét mã độc WordPress
 
Thay example.com thành địa chỉ của website mới nhé.
 
Bước 2. Backup dữ liệu ở website cũ
 
Đầu tiên hãy truy cập phpMyAdmin để export dữ liệu của database website đang sử dụng ra và tải về máy. Nếu host bạn không có phpMyAdmin, thì có thể dùng plugin BackWPUp để backup database và tải về, chỉ cần database thôi nhé.
 
Tiếp theo, hãy tải các thư mục chứa hình ảnh upload trong /wp-content/uploads/ như 2017, 2016, 2015, 2014,... về máy. Chỉ cần lấy các thư mục chứa hình ảnh upload, không cần tải các thư mục khác để đảm bảo an toàn. Nếu bạn sử dụng hosting, có thể vào File Manager, sử dụng tính năng Compress để nén các thư mục này và tải về. Nếu cài website mới trên cùng host, bạn chỉ cần sao chép dữ liệu từ các thư mục này vào /wp-content/uploads/ của thư mục website mới.
 
Bước 3: Nhập dữ liệu cũ vào website mới
 
Truy cập vào phpMyAdmin trên host (hoặc localhost) đang chạy website mới và tìm tên cơ sở dữ liệu của website. Sau đó, chọn mục "Nhập" (Import) và tải lên tệp .sql đã có từ bước 1.
 
Nếu gặp lỗi khi nhập cơ sở dữ liệu, hãy tạo một cơ sở dữ liệu mới hoàn toàn và thực hiện import lại. Sau đó, thiết lập website để sử dụng cơ sở dữ liệu mới.
 
Sau khi nhập xong, kiểm tra tên các bảng dữ liệu có tiền tố là wp_ hay tiền tố khác. Nếu bạn sử dụng tiền tố khác với wp_, hãy mở tập tin wp-config.php ở website mới, tìm dòng $table_prefix và thay wp_ bằng tiền tố của bảng cơ sở dữ liệu. Ví dụ, nếu bạn có bảng tên 38dug_options trong cơ sở dữ liệu, hãy thay thành:
 
khôi phục WordPress, cài đặt lại WordPress, quét mã độc WordPress
 
Sau đó, hãy tải các thư mục hình ảnh từ website cũ (thư mục /wp-content/uploads/ trên host) và chép vào thư mục tương tự trên website mới để đảm bảo hình ảnh không bị mất.
 
Để kiểm tra, bạn có thể vào phần Media Library của website mới để xem các hình ảnh đã hiển thị đầy đủ hay chưa. Nếu hình ảnh hiển thị bình thường, quá trình sao chép đã hoàn tất.
 
Bước 4: Cài đặt theme an toàn hơn
 
Tiếp theo, hãy cài lại theme cho website. Nếu sử dụng theme trả phí, bạn nên mua bản quyền để đảm bảo được cập nhật thường xuyên, đặc biệt khi có lỗ hổng bảo mật.
 
Khi cài đặt theme, nếu theme yêu cầu cài thêm plugin đi kèm, bạn có thể cài đặt vì các plugin này thường được đảm bảo an toàn.
 
Bước 5: Upload mã nguồn lên website chính
 
Khi đã thiết lập xong website mới và kiểm tra hoàn tất, hãy truy cập vào host của website cũ, xóa toàn bộ dữ liệu cũ, sau đó upload mã nguồn của website mới lên thư mục chính của website. Các bước thực hiện giống như việc chuyển host của một website, bao gồm:
 
- Backup và khôi phục mã nguồn của website mới lên host.
 
- Backup và khôi phục cơ sở dữ liệu trên host.
 
Sau khi chuyển hoàn tất, hãy mở tập tin wp-config.php của website mới trên host và sửa lại WP_HOME, WP_SITEURL thành địa chỉ website chính. Ví dụ:
 
khôi phục WordPress, cài đặt lại WordPress, quét mã độc WordPress
 
Việc này sẽ đảm bảo bạn có thể truy cập vào website mới theo tên miền chính của website.
 
Bước 6. Thay địa chỉ website trong database
 
Bây giờ bạn hãy đăng nhập vào website mới trên host và cài plugin Better Search Replace, sau đó vào mục Tools -> Better Search Replace và tìm tên miền cũ trong tất cả bảng database và đổi sang tên miền mới, bỏ chọn Run as dry run như hình dưới.
 
khôi phục WordPress, cài đặt lại WordPress, quét mã độc WordPress
 
 
Như vậy, tất cả các liên kết trong website sử dụng tên miền cũ sẽ tự động được chuyển sang tên miền mới mà không cần chỉnh sửa thủ công.
 
Bước cuối: Thiết lập bảo mật cho website WordPress
 
Khi website đã hoạt động ổn định, bước tiếp theo là thiết lập các biện pháp bảo mật. Bạn có thể tham khảo hướng dẫn bảo mật WordPress toàn tập và thực hiện theo các bước để tăng cường an toàn cho website.
 
Điều quan trọng nhất là không nên sử dụng các plugin/theme từ nguồn không rõ ràng, vì đây là nguyên nhân dẫn đến 90% các trường hợp bị mã độc mà mình biết. Nếu bạn không cài các plugin lạ, thiết lập mật khẩu quản trị phức tạp và sử dụng plugin bảo mật tốt, bạn sẽ không cần lo lắng nhiều về vấn đề bảo mật.
 
Chúc website của bạn sớm được khôi phục và hoạt động ổn định!
 

 

 HỖ TRỢ TRỰC TUYẾN