Website chuyển khách tới trang spam, Google hiện cảnh báo “This site may be hacked”, nhà cung cấp hosting đình chỉ tài khoản, hoặc xuất hiện người dùng quản trị lạ. Phát hiện website WordPress bị hack là chuyện căng thẳng. Làm đúng thứ tự sẽ hạn chế thiệt hại và ngăn kẻ tấn công quay lại.
Hướng dẫn này nói rõ cần làm gì trong giờ đầu, cách dọn website và cách giữ cho website sạch.
Đừng xóa website hoặc khôi phục một bản sao lưu ngẫu nhiên ngay. Nếu bản sao lưu được tạo sau khi đã nhiễm, mã độc sẽ quay lại ngay. Hãy khoanh vùng sự cố trước.
Dấu hiệu website WordPress đã bị hack
- Khách truy cập, đặc biệt từ Google hoặc trên điện thoại, bị chuyển tới trang spam, trang nhà thuốc hoặc trang casino.
- Google Search Console hoặc Chrome hiện cảnh báo bảo mật hoặc “deceptive site”.
- Nhà cung cấp hosting đình chỉ tài khoản hoặc gửi email về mã độc hoặc việc gửi spam.
- Xuất hiện người dùng quản trị, plugin hoặc file lạ.
- Kết quả tìm kiếm cho website của bạn hiện tiêu đề tiếng Nhật hoặc tiêu đề spam mà bạn không viết.
- Website trở nên rất chậm hoặc máy chủ của bạn gửi một lượng email lớn.
Bước 1: Chụp hiện trạng trước khi thay đổi bất cứ thứ gì
Tải một bản sao đầy đủ của các file và một bản xuất cơ sở dữ liệu đúng như hiện tại. Nghe có vẻ lạ khi sao lưu một website đã bị hack, nhưng bản sao này giúp bạn tìm ra kẻ tấn công vào bằng cách nào, và bảo vệ bạn nếu một bước dọn dẹp bị sai. Cất bản đó offline và đừng khôi phục từ nó.
Bước 2: Khóa kẻ tấn công ra ngoài
Đổi các mật khẩu sau, từ một máy tính bạn tin tưởng:
- Mọi tài khoản quản trị WordPress. Xóa các người dùng quản trị bạn không nhận ra.
- Bảng điều khiển hosting và các tài khoản SFTP/FTP.
- Mật khẩu cơ sở dữ liệu (rồi cập nhật mật khẩu đó trong
wp-config.php). - Tài khoản nhà đăng ký tên miền và email nếu chúng dùng chung mật khẩu.
Sau đó tạo security key mới: thay các dòng từ AUTH_KEY đến NONCE_SALT trong wp-config.php bằng giá trị mới từ https://api.wordpress.org/secret-key/1.1/salt/. Việc này đăng xuất mọi phiên, kể cả phiên của kẻ tấn công.
Bước 3: Quét để tìm phần đã bị nhiễm
- Chạy bản quét phía máy chủ nếu hosting có cung cấp.
- Cài trình quét bảo mật như Wordfence hoặc Sucuri Security và chạy quét đầy đủ. Các công cụ này so file lõi với bản chính thức và đánh dấu mã độc đã biết.
- Kiểm tra các file sửa gần đây trong
wp-content, đặc biệt file PHP bên tronguploads, nơi bình thường chỉ nên chứa hình ảnh và tài liệu. - Xem các file
.htaccessđể tìm quy tắc chuyển hướng mà bạn không thêm.
Bước 4: Dọn phần bị nhiễm
- Thay lõi WordPress: hãy tải lại thư mục
wp-adminvàwp-includesmới, cùng các file ở thư mục gốc, từ đúng phiên bản WordPress. - Cài lại plugin và theme từ nguồn sạch: xóa từng thư mục plugin và theme rồi cài bản mới từ WordPress.org hoặc nhà cung cấp. Gỡ những gì bạn không dùng, và mọi thứ “nulled” (plugin trả phí bản lậu là nguồn nhiễm rất phổ biến).
- Gỡ code bị chèn: kiểm tra
wp-config.php,functions.phpcủa theme và.htaccessđể tìm code bị làm rối, chẳng hạn các chuỗieval(base64_decode(...))dài. - Dọn cơ sở dữ liệu: tìm liên kết spam hoặc script bị chèn vào bài viết, widget và bảng
wp_options, cùng các người dùng quản trị lạ. - Xóa file PHP trong uploads: website hợp lệ hiếm khi cần bất kỳ file
.phpnào bên trongwp-content/uploads.
Quét lại khi xong. Chỉ một file backdoor bị sót cũng đủ để kẻ tấn công quay lại trong vài ngày.
Bước 5: Tìm và bịt lối vào
Dọn mà không bịt lối vào là lý do phổ biến nhất khiến website bị nhiễm lại. Các lối vào điển hình:
- Plugin hoặc theme lỗi thời có lỗ hổng đã biết
- Mật khẩu quản trị yếu hoặc dùng lại, hoặc tài khoản cũ chưa bao giờ bị xóa
- Plugin hoặc theme trả phí dạng nulled
- Một website khác đã bị nhiễm trên cùng tài khoản hosting
- Thông tin đăng nhập FTP và hosting bị lộ hoặc dùng lại
Cập nhật mọi thứ, gỡ plugin, theme và tài khoản người dùng không dùng, rồi bật xác thực hai yếu tố cho người dùng quản trị.
Bước 6: Gỡ cảnh báo và báo cho Google
- Trong Google Search Console, mở Security & Manual Actions → Security issues, xác nhận các vấn đề đã được sửa, rồi nhấp Request review.
- Nếu hosting đình chỉ website, hãy trả lời thông báo của họ về những gì bạn đã dọn và yêu cầu họ quét lại.
- Nếu các trang spam đã được lập chỉ mục, hãy trả về 404 hoặc 410 cho các URL đó để Google bỏ chúng.
Bước 7: Gia cố website để giữ sạch
- Giữ WordPress, plugin và theme luôn được cập nhật, lý tưởng là mỗi tuần.
- Dùng mật khẩu mạnh, không trùng nhau, và xác thực hai yếu tố.
- Thêm
define( 'DISALLOW_FILE_EDIT', true );vàowp-config.phpđể tắt trình sửa code có sẵn. - Chạy sao lưu off-site mỗi ngày để bạn có thể khôi phục bản sạch nhanh chóng.
- Dùng tường lửa ở mức hosting, plugin hoặc CDN, và theo dõi uptime cùng thay đổi file.
Cần được dọn đúng cách? Dịch vụ Malware Removal của chúng tôi gỡ mã độc và backdoor, kiểm tra code bị chèn và người dùng lạ, rồi gia cố website sau đó. Giá cố định $45, được xác nhận trước khi bắt đầu làm. Yêu cầu gỡ mã độc.
Câu hỏi thường gặp
Tôi chỉ cần khôi phục bản sao lưu được không?
Chỉ khi bạn biết bản sao lưu được tạo trước lúc nhiễm, và chỉ sau khi đã đổi mật khẩu và bịt lối vào. Nếu không, kẻ tấn công sẽ vào lại bằng đúng cách cũ.
Vì sao website chỉ bị hack với khách từ Google hoặc trên điện thoại?
Nhiều mã độc ẩn với quản trị viên đã đăng nhập và khách dùng máy tính để chủ website không nhận ra. Hãy thử từ cửa sổ riêng tư, trên dữ liệu di động, và bằng cách nhấp vào website của bạn trong kết quả Google.
Google mất bao lâu để gỡ cảnh báo?
Sau khi bạn yêu cầu xem xét trong Search Console, việc xem xét thường mất từ một ngày đến vài ngày. Cảnh báo vẫn còn cho đến khi Google xác nhận website đã sạch.




