website bạn bị hack à?
chắc bạn đang tuyệt vọng khi tìm đến bài viết này đúng không.
Đừng lo lắng, tôi sẽ chỉ cho bạn cách cẩn thận mà không làm mất dữ liệu VÀ bảo mật trang web của bạn để sự cố này không xảy ra nữa.
khi website dính virus đặc biệt là virus backdoor dù bạn bạn có bản backup thì cũng có thể bạn sẽ tiếp tục bị bay màu, tự xóa đoạn mã virus thì vài phút sau lại xuất hiện vì họ có cron, làm như thế nào để khôi phục tuyệt đối được website WordPress bị hack thì bài viết này mình sẽ hướng dẫn các bạn khôi phục sạch hoàn toàn.
Mình cũng đã từng bị như thế, cứ nghĩ là có bản backup rồi restore lại là chắc cú nhưng không Khôi phục xong rồi lại tiếp tục bị hack tiếp – cuộc đời nó khác cuộc sống.
Hy vọng bài viết này sẽ giúp ích được bạn khi bạn cần.

Mục lục
Làm như thế nào để nhận biết được là website bị hack
Mỗi hacker khi tấn công bạn sẽ có một động cơ khác nhau, họ sẽ chiếm quyền kiểm soát cho quyền admin của bạn.
Thông thường họ có thể chuộc lợi seo gắn backlink từ website bạn, họ gắn backlink vào footer nhiều động cơ khác, có thể đối thủ kinh doanh của bạn muốn triệt hạ bạn, cướp máy chủ đi đào coin…
Tại sao không xóa mấy dòng code bị hacker để lại là xong thôi mà?
Nhưng không khi bạn xóa backlink đó, thì sẽ tự tiếp tục quay trở lại với bạn mà thôi.
Một số nhận biết website của bạn đã bị hack:
- Code được mã hóa và trông giống như
\x76\x61\x6C\x28\x67\x7A\x6
… (nhưng dài hơn gấp rất nhiều lần) trong một file php nào đó thường là đầu trang là phổ biến nhưng nhiều pha hiểm sẽ được nhét vào giữa file php hoặc cuối files php. - Kiểm tra file Themes functions.php: thông thường họ sẽ gắn những link hay những đoạn code mã hóa gì đó tùy vào mục đích của hacker vào trong file functions.php
- Kiểm tra tài khoản user có quyền administrator, có tài khoản lạ không.
- Kiểm tra thư mục: wp-content/uploads/ trong thư mục wp-content/uploads/ của bạn, dấu hiện để nhận biết là website bị hack là hãy thường xuyên đi vào functions.php xem có dấu hiệu hay những đoạn code có gì lạ không, có phải là những đoạn code mà mình tự gắn không, nếu không phải là mình tự gắn là khả năng cao là bạn bị hack rồi đó. bạn có thể vào /wp-content/uploads/… hãy kiểm tra vì thông thường họ sẽ để virus ở đấy, có file lạ gì và thư mục lạ gì đó kí hiệu linh tự nhiên xuất hiện. bạn tự tay xóa file đó thì vài phút sau nó lại xuất hiện.
- Thư mục plugins có plugin lạ mà bạn không hề biết và không hề dùng, thường tên thư mục gõ rất linh tinh
- Thư mục themes có themes lạ mà bạn không hề biết và không hề dùng, thường tên thư mục gõ rất linh tinh
- File index.php trong mã nguồn, nó lạ không phải là theo mặc định wordpress có 405 bytes, mà có con số dung lượng nó khác thường.
- file wp-config.php tự nhiên có những hằng số gì đó mà bạn không add vào nhưng tư nhiên nó suất hiện.
- Ngang thư mục wp-config.php tự nhiên có những file rất lạ ký tự thường là linh tinh có đuôi .php mà không phải bạn add và không trong core wordpress được tích hợp sẵn.
- Khi truy cập vào bị chuyển hướng ra một website khác nào đó.
- Bố cục website giao diện tự nhiên bị lệch loạn cả lên. không giống như thường ngày giao diện của bạn thiết kế.
- website tự nhiên có content lạ không phải nhân sự content hay chính bạn viết.
- Kiểm tra index trên google: bạn lên google: gõ site:ten-domain-cua-ban.com toàn ra linh tiếng nhật và index từ bài viết gì đó mà bạn chả biết
- Kiểm tra thư mục: wp-content/mu-plugins đây là một tính năng ẩn nâng cao và cũng được các hacker tận dụng để khai thác tấn công, vì thứ tự load ưu tiên của họ các hacker cũng thường thích gặp mã độc vào đây.
- website chạy thiết ổn định liên tục hay bị lỗi 500 hay lỗi không truy cập được database, lỗi trắng trang, lúc chạy được lúc không.
- Lạm dụng tài nguyên máy chủ: ngày hôm trước bạn kiểm tra thì tài nguyên rất dư giả rồi bạn tự nhiên website hay webserver bị sập rồi tự nhiên nhà cung cấp báo bạn là anh sử dụng quá nhiều tài nguyên, có thể bị hack để lấy máy chủ đào coin hoặc hacker làm gì đó…
- themes của bạn đang dùng bị xoá mất file index.php
- bài viết của bạn trong post và page có đoạn script được mã hoá lạ
- …
Nguyên nhân bị hack website là gì
có rất nhiều kỹ thuật hack và đồng nghĩa với việc có rất nhiều nguyên nhân bị hack vố số kể có thể từ plugins (đa phần kinh nghiệm mình thấy là do plugins), themes hay có thể từ core wordpress, hay bạn chủ quan đặt tài khoản password admin quá ngắn ví dụ như 123456, có thể đen gặp đúng hacker đẳng cấp gặp quả này thì chạy đâu cho hết nắng.
Đến công ty đẳng cấp như google còn từng bị hack thì website nhỏ như chúng ta thì thực sự khó nói lắm.
Hướng dẫn khôi phục website WordPress
Mình sẽ chia sẻ cách khôi phục website bị hack, có thể gọi là cách thay là thay đổi core lõi WordPress.
Bước 1: Dump sao lưu database
Bạn truy cập vào database, có thể thông thường bạn dùng phpmyadmin xuất dữ liệu database thông thường thì các hacker sẽ không ít khi virus vào dữ liệu database họ sẽ gắn virus vào dữ liệu cứng…
Bước 2: Kéo thư mục uploads về máy tính
Hãy lấy /wp-content/uploads/ copy lấy tất cả ảnh ra ngoài ra ngoài, hãy cẩn thận vì họ sẽ chèn virus vào ảnh. lấy cẩn thận, khi bạn lấy ra máy tính xong.
Bước 3: Sàn lọc thư mục uploads
- Thư mục /wp-content/uploads xoá hết các file php, phps, js,css,html… ngoại trừ file dạng media như jpg,jepg,webp,png,avif
Bước 4: Cài mới mã nguồn WordPress
- Lên WordPress.org tải WordPress về, tải bản mới nhất.
Bước 5: đưa thư mục uploads của bạn vào mã nguồn wordpress mới download
- copy toàn bộ ảnh cũ của bạn đưa /wp-content/uploads/ cho vào WordPress mới ghi đè.
Bước 6: Cài lại Plugin Bạn muốn sử dụng
- Lên WordPress.org plugin tải lại mới hoàn toàn những plugin hoặc tải lại plugin bản quyền bạn đang sử dụng, giải nén cho vào thư mục: wp-content/plugins/
Bước 7: Cài lại themes bạn muốn sử dụng
- lên WordPress.org themes tải lại mới hoàn themes hoặc tải lại theme bản quyền bạn đang sử dụng, giải nén cho vào thư mục wp-content/themes/
- Nếu bạn có dùng child themes thì download child từ hosting,vps bạn đang dùng vào đưa vào đây nhớ kiểm tra kỹ càng themes child đó có dính mã độc không nhé
Bước 8: Khôi phục lên máy chủ
- Thế là bạn có bản WordPress hoàn toàn sạch sẽ ngon lành rồi, là đã có thể restore khôi phục up lên hosting, vps của bạn rồi. kết nối database của bạn với wp-config.php
Tuy nhiên là đừng vội mừng. hãy tiếp tục phần dưới nhé.
Hậu website bị hack
Những bước này hậu website bị hack mà bạn làm không kỹ dù mã nguồn đã sạch tuyệt vời rồi nhưng chỉ vài phút sau chậm thì vài tiếng sau website lại bị hack trở lại.
Bước 9: Xoá toàn khoản admin WordPress lạ
khi website đã online kiểm tra xem có tài khoản admin WordPress nào lạ không thì hãy xoá đi, và thay đổi toàn bộ password Admin của bạn.
Bước 10: Xoá cron và wp cron lạ
giờ bạn cần kiểm tra cron xem có cái cron nào lạ không thì hãy xoá đi, rất dễ hack họ gắn cron bạn có thể dùng plugin: WP Crontrol nhiều khi bạn thiếu bước này. và có thể hacker cao tay hơn họ không gán vào wp cron mà gắn vào cron thì bạn phải kiểm tra trong thư mục /var/spool/cron xoá cái cron mà username đang dùng đi những lệnh mà bạn không rõ là gì.
Bước 11: Clean username bị hack
clean username bị hack. Thay đổi username máy chủ, nếu bạn đang dùng share hosting thì yêu cầu nhà cung cấp share hosting thay đổi giúp, nếu bạn dùng vps có sử dụng php su exec (nghĩa là một tài khoản username một website riêng) như wptangtoc ols thì quá dễ rồi chỉ cần phải quản lý domain có tính năng thay đổi username bạn thay đổi là xong, còn trường hợp bạn dùng vps mà không triển khai php su exec để thay username mà dùng www-data hay www hay nobody thì trường hợp này vui lòng bạn phải rebuild os lại rồi để clean username bị hack rồi. Bước này rất quan trọng vì tiến trình đã được tải vào bộ nhớ và mặc dù bạn đã xóa tệp, nó vẫn đang chạy và sẽ tiếp tục tạo lại.
Bước 12: Xoá nội tuyến script có trong bài viết.
Nhưng mình đã nói bên trên, thường hacker họ ít gắn virus vào database nó là ít chứ không phải là không có, nếu như bạn bị đen dính đúng trường hợp này thì làm theo bước này nữa, nếu không bị thì bỏ qua bước này
- xoá script nội tuyến trong bài viết: đây là cách khá phổ biến nhưng cực kỳ khó chịu, ở trong bài viết content bạn hay viết bài hacker gắn dữ liệu thẳng database. nếu bạn bài ít thì bạn có thể vào từng bài để xoá nhưng nếu bài bạn nhiều thì không thể tự xoá thủ công được,trường hợp này bạn cần dùng wp cli search and replace;
đầu tiên: hãy truy cập vào terminal: gõ cd đường-dẫn-mã nguồn rồi tiếp tục gõ lệnh bên dưới này
wp search-replace '<script>(.+)((\s)+(.+))+</script>' '' --precise --regex $(wp db prefix --allow-root 2>/dev/null)posts --include-columns=post_content --allow-root 2>/dev/null
Đoạn code này sẽ tự động xoá hết tất cả các đoạn script trong các bài viết của bạn, về cơ bản người dùng bình thường thì chả mấy ai gắn script nội tuyến vào bài viết riêng lẻ đoạn code này sẽ delete xoá hết script nội tuyến từng bài viết đó.
Bước 13: Quét tập tin mã độc
Có lẽ như bạn làm theo các bước trên mình chia sẻ cẩn thận rồi thì mã đã có một mã nguồn rất sạch rồi nhưng cầu toàn hoàn bạn có thể sử dụng plugin Wordfence (miễn phí) rồi chạy trình quét phần mềm độc hại. xem bạn có xoá thiếu sót cái nào không.
Bước 14: Bảo mật
Trước hết mình vẫn thường nói về các plugin bảo mật WordPress với tư duy là, bảo mật từ cấp web hosting luôn quan trọng hơn là cấp website.
Mình sẽ có chuyên mục về bảo mật cơ bản bạn có thể tham khảo.
Để cử một số công nghệ bạn có thể triển khai để giúp nâng cao bảo mật hơn
- Thay đổi tiền tố
- Đặt mật khẩu khó hơn tối thiểu 12 ký tự
- Thiết lập bảo mật 2 lớp admin
- Tường lửa 8G
- Tắt XML-RPC
- Modesecurity
- lockdown WordPress
- Chặn chỉnh sửa code trong wp-admin
- Giới hạn litmit uploads, thời gian thực thi trong php.ini
- Sử dụng phiên bản PHP vẫn đang được phát triển hỗ trợ.
- Cập nhật phần mềm mới nhất (Core WordPress, Plugin, Themes, Webserver…), loại bỏ thay thế những phần mềm đang dính rủi ro bảo mật vulnerabilities
- Cập nhật thông tin kịp thời những plugins, themes… có thể bị dính lỗ hỏng bảo mật (bạn có thể kiểm tra nắm thông tin với Vulnerabilities) hãy cập nhật thường xuyên nếu plugin, themes đó mà lâu ngày không được cập nhật mà được nêu tên trong Vulnerabilities thì hãy đổi plugin, themes khác…
- Tuyệt đối không dùng plugin null crack, hãy cố gắng nếu có điều kiện thì hãy mua bản quyền hoặc không hãy tìm một giải pháp miễn phí thay thế tương tự…
- Cài đặt plugin bảo mật – plugin bảo mật không cần thiết nếu máy chủ của bạn được bảo mật tốt, nhưng chúng có thể hỗ trợ một số chức năng cụ thể và cảnh báo bạn nếu có sự cố tiềm ẩn. mình thích Wordfence để quét phần mềm độc hại định kỳ.
- Hãy cẩn thận với bất kỳ form nhập liệu nào (form đăng ký, form search, form đăng nhập…) nào bạn có trên trang web của mình. Bất kỳ nơi nào có thể nhập thông tin vào trang web của bạn đều có thể khiến bạn dễ bị tấn công. (WordPress có công nghệ Nonces bảo mật các form rất tốt bạn có thể triển khai hoặc nếu bạn là người dùng cơ bản thì hãy chọn những plugin, themes chất lượng có sẵn công nghệ Nonces này)
- Ngăn chặn uploads file .php một số tính năng uploads họ nếu họ làm tốt thì nó auto chặn nhưng có một số plugin họ làm không được tốt ai cũng có thể uploads file .php
- Phần quyền theo chuẩn WordPress, tuyệt đối không phân quyền 777 cho toàn bộ website. (nó nguy hiểm như bạn đặt tài khoản: id là admin và password là admin vậy)
- Máy tính của bạn: mình làm lĩnh vực này gặp trường hợp rất phổ biến giờ đang rất hot, website được bảo mật rất tốt nhưng máy tính của quản trị viên thì cái phần mềm crack lậu bị dính keylog, thế họ hack từ máy tính cá nhân sang luôn cả máy chủ. Máy tính cá nhân của bạn nếu để làm việc liên quan đến việc quan trọng đến máy chủ, website thì tuyệt đối không sử dụng cài đặt phần mềm crack lậu linh tinh ở đâu đó trên internet. (trường hợp này bạn nên cài lại hệ điều hành windows nên sử dụng windows defender nếu muốn chu toàn hơn hãy dùng kaspersky bản trả phí và không được câì phần mềm bậy bạn nếu được hãy cài thêm bảo mật 2 lớp của hãng vps máy chủ…)
- Nâng cao hơn bạn có thể dùng rewirte để chỉ có ip được chỉ định được truy cập vào admin, phương án này nâng cao bảo mật rất tốt.
Bước bouns về link tiếng nhất:
Nếu website bạn có bị index google link tiếng nhật những bài viết hacker gắn vào… được index trên google rồi (bị index nhiều nhiều một chút, còn ít quá thì bỏ qua cũng chả cần bận tâm sử lý làm gì). bạn có thể tham khảo video này để áp dụng, nếu không bị thì bạn có thể bỏ qua bước này:

Cách mình thường sử dụng để sử lý link tiếng nhật.
Bước 1: Bạn tạo một page trang nofllow và noindex rồi.
Bước 2: Bạn có thể sử dụng plugin: 404 to 301 – Redirect, Log and Notify 404 Errors sử dụng plugin này chuyển hướng toàn bộ link 404 về trang page nofllow và noindex bạn tạo ở trên.
nếu bạn không muốn sử dụng plugin thì bạn có thể sử dụng đoạn code này cho vào file functions.php
add_action( 'template_redirect', 'wptangtoc_chuyen_huong_link_404_ve_trang_noindex' );
function wptangtoc_chuyen_huong_link_404_ve_trang_noindex() {
if ( is_404() ){
wp_redirect( 'https://wptangtoc.com/hello-world/', 301 );
exit;
}
}
Bạn tạo một trang nào đó rồi đánh nofllow và noindex bạn thay đường link trong đoạn https://wptangtoc.com/hello-world/
bằng chính sách đường link của bạn rồi đưa vào file functions.php
Bước 3: Bạn sử dụng plugin Instant Indexing của rankmath để khai báo số remove link cho google (Cách lấy link thì bạn có thể tham khảo trong video bên anh gtvseo có chia sẻ.)
Bước 4: cầu nguyện và chờ đợi google sử lý thôi.
Cách restore bạn có thể tham khảo trên internet hoặc trong tương mai mình sẽ hướng dẫn cách backup và khôi phục thủ công đây là phương pháp yêu thích của mình nhẹ mà ngon.
Chúc các bạn thành công ( hãy lưu bài viết này lại sẽ có một ngày bài viết này sẽ giúp bạn trước bạn học hỏi cách này rất lâu học từ trang nước ngoài nào đó không nhớ tên nhớ mang máng phương pháp restore bản backup mãi vẫn thế, tự nhiên nhớ ra cách này mình đã học được từ ở trang nào đó, mình đã áp dụng và nó giúp mình khôi phục WordPress sạch 100% [website đó ở công ty trước đó mình điều hành không phải là website wptangtoc.com ]. Mình viết bài viết này hy vọng chia sẻ sẽ giúp được những ai đang bị hack hoặc nếu chưa bị hack thì cũng có một bộ tài liệu hướng dẫn nếu sau này cần thì có thể áp dụng.
Để lại một bình luận