Thông thường việc website bị dính mã độc chuyển hướng rất rõ nhận biết, website khi truy cập mới sẽ redirect liên tục tới một số website mà hacker dàn dựng, việc này gây khó chịu lẫn ức chế nhất định cho người quản trị website lẫn khách hàng. Mã độc hoành hành trên trang đương nhiên sẽ khiến cho website của bạn tụt hạng rank thê thảm, cướp đi công sức bao lâu nay cày cuốc của bạn. Mã độc này còn đi kèm với một số tác vụ khác trên hosting như:
- gửi email spam số lượng lớn: Bạn đôi lúc thắc mắc mình chẳng sử dụng email thế nhưng nhà cung cấp hosting thông báo khóa gói dịch vụ vì spam mail thì chắc chắn là do mã độc.
- Gói hosting load cao liên tục: Đôi lúc các mã độc này còn thực hiện một số tác vụ rất nặng (gửi email lớn, liên tục tạo file, đào tiền ảo …) khiến cho gói hosting /VPS liên tục load cao, nếu dùng hosting bạn có thể truy cập CPU and Concurrent Connection Usage để xem chi tiết thông tin, vì load cao nên đương nhiên sẽ chẳng còn bao nhiêu %cpu để xử lý các tác vụ website, khiến cho thời gian load trang vô cùng dài hoặc có thể không truy cập được.
Phần 1: Nguyên nhân Mã độc
- Mật khẩu quản trị, email, hosting. VPS quá đơn giản.
- Sử dụng các mã nguồn hoặc phần mở rộng cho mã nguồn tải từ nơi không rõ nguồn gốc (vd: theme/plugin WordPress trả phí được tìm thấy trên một số website chia sẻ miễn phí).
- Sử dụng các phiên bản mã nguồn đã quá cũ có nguy cơ lổ hổng bảo mật.
Việc lây lan qua mã độc đôi lúc chỉ cần từ 1 website sẽ có thể lây lan ra toàn bộ các website của bạn, gây nên tình trạng tất cả các website bị lỗi
Phần 2: Hướng xử lý.
Mã độc hiện tại có thể chèn vào tất cả những phần sau trên một website wordpress nói chung:
- Chèn vào các file php, js, css theme, plugin ..
- Chèn vào các file php, js, css trong wordpress core.
- Chèn vào các bảng posts trên database của website.
Thông thường mà nói nếu một website bị mã độc nhẹ và bạn có thể biết được chèn ở đâu, bạn có thể gỡ đoạn mã đó ra. Tuy nhiên các mã độc chèn trên website rất phức tạp, chúng thường xuyên có cả những tác vụ chèn vào database, đôi lúc là xóa luôn nội dung trên database hay file wp-config.php, khiến website truy cập lỗi. Mình vẫn khuyến khích các bạn xử lý dứt điểm, nếu như trong trường hợp bị sửa database hay website bị lỗi code thì bạn cố gắng restore lại tới ngày gần nhất không bị lỗi code website mà chỉ bị redirect.
Lưu Ý: Việc xử lý mã độc này cần một số kiến thức và hiểu biết sơ lược về website cũng như mã nguồn, các bạn nên thực hiện theo trình tự không nên tay ngang, nếu không thao tác được bạn có thể nhờ người thiết kế website hoặc nếu lỗi bạn nên restore lại hoặc tìm phương án xử lý khác
Phần 3: Xử lý mã độc chuyển hướng trên wordpress
Backup và download website (database+ code) giữ tại máy tính mình, Điều này đề phòng bất trắc có thể xảy ra. Mặc dù nhà cung cấp hosting thường có các bản backup, tuy nhiên linh hồn ai người nấy giữ, bạn nên chủ động tất cả với dữ liệu của mình, không nên phụ thuộc vào ai.
- Xử lý theme và plugin:
Bạn cố gắng đăng nhập wp-admin lấy lại thông tin plugin và theme đang kích hoạt. Về plugin bạn có thể truy cập vào trang quản lý plugins sau đó có thể truy cập tới Trang Plugin tại WordPress.org. Sau đó từ trang gốc plugin tại wordpress.org bạn download các plugin này về để tất cả file .zip này vào một folder trên máy tính. Với các plugin trả phí hay theme trả phí, bạn truy cập trang mình đã mua key và download về.
- Xử lý wordpress core:
Trên thư mục website, bạn xóa tất cả nội dung trừ folder sau và tất cả các nội dung bên trong nó : wp-content/uploads
+ download wordpress core sạch tại : https://wordpress.org/ Sau đó giải nén lại vào thư mục quy định chứa website wordpress.
+ upload các plugin sạch đã download lại vào thư mục sau và giải nén: wp-content/plugins
+ Upload lại theme sạch đã download lại vào thư mục sau và giải nén: wp-content/themes
Lưu ý, Thông thường với các theme giờ có đi kèm cả child-theme, tốt nhất bạn nên upload cả child-theme này vào cùng thư mục wp-content/themes và giải nén.
- Xử lý Database:
Một số chuyển hướng thường gặp với một số mã trang chuyển hướng thường gặp nhất hiện nay như tới trang s2.voipnewswire.net.
Thông thường nhất thì các mã độc chèn trên database trong bảng prefix_posts, bạn có thể thay thế update database bằng lệnh:
update prefix_posts set post_content = replace(post_content,’nội cần thay thế’,’nội dung thay thế’);
(trong đó prefix của database bạn cập nhật cho đúng với database của mình).
Hoặc để đơn giản, bạn có thể download database về, sau đó mở lên bằng các trình editor rồi sử dụng công cụ tìm kiếm và thay thế để cập nhật lại database, Sau đó import lại database của mình (nhớ drop database cũ).
- xử lý bước cuối.
Thông thường sau thao tác xong, nếu chính xác bạn không cần phải làm gì nữa. Tuy nhiên có một số website bạn cần cập nhật lại một số thông tin như contact form 7, 1 số widget ..
Cuối cùng bạn nhớ cập nhật lại tất cả mật khẩu quản trị website, hosting để tránh bị lỗi. Nếu cảm thấy website ổn định rồi bạn có thể backup lại website một lần nữa nhờ quản trị hosting reset lại hosting về mặc định để tránh bị các mã độc ẩn tại các file hệ thống hosting sau đó upload lại.