Mục lục nội dung
- Những nguyên nhân website WordPress dính mã độc/virus/hack
- Những biểu hiện website WordPress bị dính mã độc/virus/hack
- Những việc nên làm khi website WordPress bị dính mã độc/virus/hack
- Hướng dẫn cài đặt lại website WordPress từ đầu
- Bước 1: Backup lại toàn bộ dữ liệu website cũ bao gồm source code và database.
- Bước 2: Làm sạch theme/plugin/database.
- Bước 3: Cài mới lại mã nguồn WordPress.
- Bước 4: Nhập dữ liệu cũ đã làm sạch vào website mới.
- Bước 5: Cài lại theme WordPress mới.
- Bước 6: Xóa dữ liệu website cũ và upload website mới lên.
- Một số công việc cần làm ngay để bảo vệ Website sau khi đã phục hồi
- Lời kết
Khôi phục website WordPress dính mã độc ? Công việc tưởng chừng như khó làm và mất nhiều thời gian ? Nhưng quan trọng hơn hết đó là giữ lại được dữ liệu và cấu trúc website hoàn chỉnh mới là vấn đề cần quan tâm. Bài viết này sẽ hướng dẫn bạn thực hiện công việc này một cách chi tiết.
Việc website của bạn bị dính mã độc đôi khi có thể bạn không biết nhưng một lúc nào đó tự nhiên bạn phát hiện website của mình chuyển hướng sang một trang bóng đá, cờ bạc, scam … và khi search google bạn phát hiện rất nhiều từ khóa lạ hoắc tiếng tàu, tiếng ả rập các kiểu. Rồi hiểu rồi nhé website bạn có nguy cơ đã dính mã độc và bây giờ tìm hiểu về nguyên nhân trước khi khắc phục nó nhé.
Những nguyên nhân website WordPress dính mã độc/virus/hack
- Nguyên nhân đầu tiên có thể kể đến đó là việc sử dụng theme/plugin không rõ nguồn gốc – thực tế hơn là dùng lậu.
- Sử dụng phiên bản WordPress/theme/plugin phiên bản cũ và không cập nhật thường xuyên.
- Bạn đặt mật khẩu website ngắn và quá đơn giản để dò ra thì việc web bạn bị hack và bonus thêm mã độc là đương nhiên.
- Website của bạn sử dụng hosting share và bị lây nhiễm mã độc từ “website hàng xóm” bị tấn công.
- Bạn sử dụng VPS và không cập nhật thường xuyên các bản vá phần mềm mới nhất dẫn đến việc VPS bị hack.
- Mua và sử dụng hosting share/VPS giá rẻ không sử dụng các phần mềm, firewall để quét và ngăn chặn virus, hacker tấn công.
Và đó là một số nguyên nhân chính dẫn đến việc website WordPress của bạn bị dính mã độc/virus và đáng ngại hơn là bị hack. Vậy khi website dính mã độc/virus/hack sẽ có những biểu hiện cụ thể nào.
Những biểu hiện website WordPress bị dính mã độc/virus/hack
- Website của bạn chuyển hướng liên tục sang các trang web không rõ nguồn gốc khác.
- Giao diện trang chủ của bạn bị thay đổi kèm theo âm thanh sôi động và vài dòng chữ thông báo website của bạn đã bị hack…
- Bạn tìm thấy rất nhiều link lạ trên google với các ngôn ngữ khác từ web của mình.
- Web của bạn tự động gửi hàng loạt email spam, lừa đảo dẫn đến bị đứng web, bị chặn web bởi nhà cung cấp hosting/VPS.
- Khi click vào nội dung trên web tự động mở các liên kết ẩn quảng cáo nhiều loại sản phẩm như game, cờ bạc, …
Những việc nên làm khi website WordPress bị dính mã độc/virus/hack
Nếu một ngày đẹp trời bạn phát hiện ra website của mình bị hack thì cũng nên bình tĩnh và bắt đầu xử lý sự cố cho website của mình. Và sau đây là những công cụ và dịch vụ bạn nên sử dụng đầu tiên:
- Vấn đề quan trọng nhất và việc làm đầu tiên mà bạn cần phải làm ngay đó là backup lại toàn bộ dữ liệu website bao gồm source code và database nếu trước đó bạn chưa làm việc này và hãy xem đây là việc làm thường xuyên để bảo vệ website và dữ liệu của bạn.
- Sử dụng một số công cụ quét mã độc/virus cho website của bạn. Nếu có điều kiện bạn nên dùng các dịch vụ trả phí thì vấn đề của bạn sẽ nhanh được giải quyết. Bạn có thể dùng Sucuri hay 6scan đây là một dịch vụ khá tốt và chất lượng mình đã từng sử dụng qua. Tuy nhiên giá của nó có thể hơi cao so với đại đa số người dùng. Nhưng nếu website bạn quan trọng và có lượng dữ liệu lớn thì mình nghĩ nên đầu tư. Với các dịch vụ này dữ liệu từ website của bạn sẽ được quét thường xuyên và liên tục nếu phát hiện website bạn bị chèn mã độc, virus,…thì các kỹ thuật viên của họ sẽ giúp bạn xử lý và gỡ bỏ nó.
- Tuy nhiên nếu chưa có điều kiện sử dụng các dịch vụ cao cấp bạn có thể sử dụng qua một số plugin phiên bản miễn phí sau: Sucuri Security, Defender Security, iThemes Security,…dù sao thì cũng giúp bạn giải quyết được những vấn đề cơ bản.
- Kiểm tra file .htaccess trên hosting xem có bị chèn mã độc chuyển hướng, iframe,…và xóa nó đi nếu có.
- Sử dụng Notepad ++ tìm kiếm trong mã nguồn đã backup ở trên với từ khóa base64 vì đa số các shell, malware, virus mã độc đều được mã hóa bằng dạng này và xem nếu nó không liên quan đến code web thì xóa nó đi. Bạn có thể sử dụng phần mềm FileSeek phiên bản miễn phí hoặc trả phí để quét trên HĐH Windows.
- Nếu bạn sử dụng máy chủ/VPS hệ điều hành Linux thì có thể xài công cụ LINUX MALWARE DETECT để quét mã độc/virus.
- Liên hệ với các đơn vị uy tín để tư vấn giải pháp làm sạch code website của bạn nếu bạn không có nhiều kinh nghiệm về việc này.
Tiếp theo, sau khi đã tìm hiểu các thông tin ở trên thì giờ hãy tìm hiểu các cách khôi phục website và loại bỏ mã độc cơ bản dưới đây. Giải pháp tối ưu nhất ở đây là khôi phục lại Website WordPress từ đầu.
Dữ liệu của các bạn thì đã có backup nên sử dụng lại không cần phải lo mất dữ liệu gì cả.
Nên quy trình sẽ là cài đặt lại phiên bản WordPress mới, cài đặt lại theme/plugin mới sau đó import và upload dữ liệu website lên. Bắt đầu nào !
Các bước khôi phục lại website WordPress từ đầu:
Hướng dẫn cài đặt lại website WordPress từ đầu
Bước 1: Backup lại toàn bộ dữ liệu website cũ bao gồm source code và database.
Truy cập vào hosting của website tải toàn bộ source code trong thư mục /public_html
của website về.
Tiếp theo, truy cập vào phpMyAdmin > chọn database của website > export (Xuất) > Lưu về máy tính.
Hoặc bạn cũng có thể sử dụng plugin BackWPup – WordPress Backup Plugin để backup database dễ dàng và nhanh chóng.
Bước 2: Làm sạch theme/plugin/database.
Đây là việc làm cần thiết và quan trọng trước khi khôi phục website.
Làm sạch code/database trong bản backup ở Bước 1.
Hãy tìm kiếm các từ khóa liên quan đến base64
, base64_decode
, gzinflate(base64_decode
, eval(gzinflate(base64_decode
, eval(base64_decode
,…
Đối với source code tìm kiếm trong toàn bộ thư mục source code các dòng code bắt đầu với các cụm từ khóa ở trên và xem xét kỹ nó nếu không liên quan đến source code web thì hãy xóa nó đi.
Đối với database thì bạn có thể mở nó ra với Notepad ++ và search các từ khóa như trên nếu thấy không liên quan đến dữ liệu web đang có thì xóa nó đi.
Tiếp theo, bạn truy cập vào Admin WordPress > Công cụ > Xuất ra > Chọn Tất cả nội dung > Tải về tệp tin được xuất ra.
Nếu bạn sử dụng Tiếng Anh thì truy cập theo Dashboard > Tools > Export > All content > Download Export File.
Đây là bước bạn xuất ra và lưu trữ các dữ liệu “sạch” của website như bài viết, trang, chuyên mục, thẻ, bình luận, custom field,…
Tin vui là định dạng file xuất ra là .xml
nó sẽ tự động loại bỏ tất cả code mã hóa base64
và các bảng (table) không có trong mã nguồn WordPress.
Để làm sạch thư mục hình ảnh bạn vào thư mục backup ở Bước 1 theo đường dẫn /wp-content/upload
mở từng thư mục ra và tìm tất cả các file không có định dạng .jpg, .png, .gif, .webp (nếu bạn sử dụng định dạng hình mới) xóa nó đi là xong.
Bước 3: Cài mới lại mã nguồn WordPress.
Truy cập vào WordPress.Org và tải về phiên bản mới nhất của WordPress để chuẩn bị cài đặt.
Để tiện cho việc theo dõi và xử lý bạn nên cài trên localhost hoặc một tên miền mới song song với website cũ.
Cách cài đặt mã nguồn mới lên hosting bạn có thể tham khảo bài viết bên dưới.
Xem ngay: Hướng dẫn cài đặt WordPress lên hosting Cpanel mới nhất 2019
Tiếp theo, bạn vào thư mục gốc website /public_html
và mở file wp-config.php
thêm 2 dòng code bên dưới vào sau thẻ <?php
1 2 | define('WP_HOME','http://new-domain.com'); define('WP_SITEURL','http://new-domain.com'); |
Mỗi dòng nằm trên 1 hàng nhé. Nhớ thay new-domain.com thành tên miền mới của bạn (Lưu ý giữa http:// hay https:// nha)
Bước 4: Nhập dữ liệu cũ đã làm sạch vào website mới.
Upload các thư mục hình ảnh lên hosting mới (Hoặc localhost) vào thư mục tương ứng là /wp-content/upload
để giữ lại các hình ảnh cũ không bị mất.
Tiếp theo, hãy import (nhập) lại database bằng cách truy cập vào hosting > phpMyAdmin > Chọn đúng database > Import > Chọn database đã backup và làm sạch ở Bước 2 > Hoàn tất.
wp-config.php
để kết nối lại database với tên và mật khẩu database mới.wp-config.php
lên và tìm $table_prefix
sau đó thay thế bằng tiền tố bạn đã sử dụng. Xem ví dụ bên dưới.VD: Mình sử dụng tiền tố bảng là tt3676_options thì sẽ thay đổi như sau:
Dòng $table_prefix
mặc định là:
1 | $table_prefix = 'wp_'; |
Sẽ thay đổi thành:
1 | $table_prefix = 'tt3676_'; |
Tạm thời các bạn chưa nên upload lại source website cũ lên đây cho dù đã làm sạch ở Bước 2. Mà để an toàn bạn nên cài lại theme WordPress mới.
Còn nếu bạn muốn sử dụng lại các mục bài viết đã xuất ra định dạng .xml
có thể làm theo cách sau nếu không không làm được cách ở trên. Vì mặc định nội dung đã được lưu trong database với đường dẫn hình ảnh và thư mục hình ảnh đã backup xem như đã đầy đủ.
Truy cập Admin WordPress > Công cụ > Nhập vào > WordPess > Cài đặt > Chạy trình nhập > Chọn tệp > Tải tệp tin lên và nhập > Hoàn tất.
Nếu bạn thực hiện cách import trên và kiểm tra đầy đủ nội dung và hình ảnh thì tiếp tục thực hiện Bước 5.
Bước 5: Cài lại theme WordPress mới.
Nếu có điều kiện bạn nên mua theme WordPress bản quyền có license với giá xx$ đang sử dụng và update lifetime vĩnh viễn.
Còn không thì bạn tìm mua lại theme mới nhất giá rẻ của một số website uy tín chuyên bán theme.
Cách cài đặt theme thì đơn giản bạn vào Admin WordPress > Giao diện > Giao diện > Thêm mới > Tải giao diện lên > Hoàn tất > Kích hoạt theme mới.
Tiếp theo, vào phần Theme panel nếu có yêu cầu cài đặt các plugin đi kèm với theme bạn cứ cài đặt bình thường vì đa số plugin đi kèm theme bản quyền khá sạch và chất lượng nên không phải lo lắng gì cả.
Bước 6: Xóa dữ liệu website cũ và upload website mới lên.
Khi bạn đã hoàn thành xong các bước trên và kiểm tra website mới đầy đủ dữ liệu thì hãy vào hosting/VPS chứa tên miền cũ xóa toàn bộ source code cũ và backup toàn bộ source code ở localhost hoặc tên miền tạm đã làm ở các bước trên để chuyển sang hosting tên miền cũ.
Dữ liệu ở đây sẽ có 2 phần là source code và database bạn backup và upload đầy đủ là xong.
Cách làm tương tự như việc bạn chuyển hosting/VPS cho website của mình.
Tiếp theo, bạn cần vào thư mục gốc website /public_html
mở file wp-config.php
lên và sửa lại 2 dòng code ở Bước 3.
1 2 | define('WP_HOME','http://old-domain.com'); define('WP_SITEURL','http://old-domain.com'); |
Thay đổi old-domain thành tên miền cũ (chính) của bạn (Lưu ý http:// hay https:// nhé)
Hoàn tất, chúc các bạn khôi phục website thành công, sạch và hoạt động tốt.
Tiếp theo là những việc bạn cần làm.
Một số công việc cần làm ngay để bảo vệ Website sau khi đã phục hồi
- Đặt mật khẩu website đủ dài và không nên tương tự user và pass cũ.
- Sử dụng mật khẩu bao gồm ký tự chữ viết hoa, viết thường, ký tự số, ký tự đặc biệt (!@#$%^&*,…) để tăng cường bảo mật.
- Sử dụng thêm một số công cụ hỗ trợ lưu mật khẩu như LassPass, 1Password, StickyPassword hoặc trình quản lý mật khẩu của trình duyệt để đăng nhập.
- Thường xuyên update phiên bản mới cho wordpress/theme/plugin.
- Sử dụng theme/plugin bản quyền thì đến hơn 90% website bạn được an toàn.
- Nên sử dụng share hosting/VPS của những nhà cung cấp uy tín và support tốt khi có sự cố xảy ra.
- Không cài đặt theme/plugin không rõ nguồn gốc, được share miễn phí nếu không rõ người đó có uy tín hay không.
- Luôn sử dụng các plugin hỗ trợ bảo mật miễn phí như iThemes Security, Sucuri Security, Defender Security.
- Không bao giờ phần quyền (CHMOD) cho thư mục/file sang 777, 775 mà chỉ dừng lại ở 644 hoặc cao nhất là 755.
- Không nên sử dụng theme/plugin có sử dụng code nén hình ảnh
timthumb.php
và nên nén thủ công trước khi upload hoặc sử dụng một số plugin nén ảnh tốt nhất cho WP như reSmush.it Image Optimizer, EWWW Image Optimizer, Compress JPEG & PNG images, ShortPixel Image Optimizer, Smush Image Compression and Optimization - Khai báo lại sitemap với Google Search Console để index lại website của bạn.
- Rất có thể website bạn khôi phục vẫn chưa hoàn toàn hết mã độc/virus/hack nên việc theo dõi website thường xuyên vẫn là việc nên làm. Và hãy theo dõi các file nào bị xâm nhập và chèn mã độc. Để tiện cho việc theo dõi mã nguồn WordPress và website bạn có thể sử dụng những plugin sau: WP Changes Tracker hoặc WP Security Audit Log.
- Nếu phát hiện website bạn bị dính mã độc/virus/hack thì hãy backup và đóng website ngay lập tức và xử lý theo các bước ở trên để khôi phục website.
Lời kết
Hi vọng với các kiến thức cơ bản về bảo mật mà mình biết sẽ giúp bạn có cái nhìn tổng quan về những nguyên nhân, dấu hiệu, những việc nên làm khi website WordPress của bạn dính mã độc/virus/hacker và cách làm sạch, khôi phục website WordPress đơn giản mà bất kỳ ai cũng có thể làm được mà không cần phải nắm rõ các kỹ thuật bảo mật hệ thống chuyên sâu.
Chúc các bạn thành công và có một website khỏe mạnh, hoạt động tốt !
Nếu có cách làm nào hay đừng ngại chia sẻ, rất vui được học hỏi thêm từ các bạn.
Cảm ơn rất nhiều
Nguồn bài viết: https://trinhcongtri.com
vừa rồi website của mình bị dính mã độc mình cũng không biết phải làm như thế nào, may mag gặp được bài này để mình áp dụng thử xem sao