Con số 3 quản trị viên trên nền sáng, nhãn Đếm trước khi xoá, nguồn số đo netsolutions.vn

Tài khoản quản trị lạ chưa chắc là dấu hiệu bị hack: đó có thể là nhân viên cũ hay freelancer từng được cấp quyền. Nhưng bạn phải xác minh ngay trong ngày, vì quyền Quản trị viên cho phép cài mã, sửa nội dung và tạo thêm người khác. Trên netsolutions.vn, 3 trong 325 tài khoản (0,92%) là administrator. Số nhỏ đó là mốc để bạn so với site của mình.

Tài khoản quản trị lạ chưa chắc là bị hack, nhưng phải xác minh trong ngày

Một administrator bạn không nhớ đã tạo có hai cách giải thích. Cách lành là người từng làm việc cho site: nhân viên đã nghỉ, đơn vị làm web cũ, freelancer cài giúp một plugin. Cách dữ là kẻ lạ đã vào được và để lại cửa sau.

Bạn không đoán được cách nào bằng cảm giác. Hãy tìm những dấu hiệu sau: tên đăng nhập hoặc email không ai trong đội nhận, giờ tạo trùng với lúc site bắt đầu chạy bất thường, và số administrator tăng so với lần đếm trước.

Nếu site còn chèn quảng cáo lạ, chuyển hướng hoặc bị cảnh báo, hãy đọc thêm các dấu hiệu nhận biết website bị hack. Phần dưới tập trung vào một việc hẹp hơn: kiểm tra từng tài khoản quản trị, xoá đúng cách và tìm xem nó vào bằng đường nào.

Số đo Giá trị Cách đọc
Tổng số người dùng 325 Mọi vai trò cộng lại
Số administrator 3 Danh sách ngắn, đếm bằng tay được
Tỷ lệ administrator 0,92% 3 / 325, tính bằng mã
Tài khoản khớp khuôn công cụ tấn công 0 Chỉ là không khớp khuôn, chưa phải đã đối chiếu từng người
Danh sách người dùng qua REST khi chưa đăng nhập 403 Bị chặn
Đăng ký tài khoản mới qua trang đăng nhập 403 Bị chặn

Nguồn: số đo của Net Solutions trên netsolutions.vn, chỉ đọc, ngày 25/10/2026.

Hai dòng cuối cho thấy một site nên đóng sẵn những lối tự đăng ký và liệt kê người dùng. Dòng khớp khuôn chỉ nói công cụ không bắt được mẫu tên quen thuộc của kẻ tấn công. Với tài khoản quản trị, việc đối chiếu nhân sự vẫn phải do người có trách nhiệm làm.

Xem danh sách quản trị viên bằng giao diện và WP-CLI

Cách nhanh nhất là mở Người dùng → Tất cả người dùng, rồi bấm bộ lọc Quản trị viên ở trên bảng. Bạn thấy tên đăng nhập, họ tên, email và vai trò. Bảng này mặc định không có cột ngày tạo, mà ngày tạo lại là dữ kiện quan trọng nhất để tách tài khoản cũ khỏi tài khoản mới.

Vì vậy nên dùng WP-CLI nếu máy chủ có. Lệnh dưới in đúng bốn cột bạn cần, theo cú pháp trong tài liệu chính thức.

WP-CLI · liệt kê quản trị viên
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered

Cột user_registered là giờ tạo tài khoản. Hãy đặt nó cạnh thời điểm site bắt đầu lạ. Tài khoản tạo đúng ngày đó, hoặc nhiều tài khoản tạo liên tiếp trong vài phút, đáng nghi hơn một tài khoản tạo từ vài năm trước.

Ghi lại trước, chưa xoáBước này chưa xoá gì. Chép lại tên đăng nhập, email và giờ tạo của mọi administrator ra một tệp, vì bạn sẽ cần chúng để đối chiếu và để lùi lại nếu xoá nhầm.

Thật hay giả: năm dấu hiệu và một danh sách trắng

Không dấu hiệu nào đứng một mình đủ kết luận. Hãy chấm cả năm dấu hiệu cho từng tài khoản rồi mới quyết định.

Dấu hiệu Cách kiểm Vì sao chưa đủ kết luận
Ngày tạo trùng sự kiện lạ Cột user_registered so với lúc site đổi hành vi Nhân viên mới cũng có ngày tạo gần đây
Email lạ Tên miền không phải của bạn, hoặc đuôi .invalid Freelancer dùng email riêng
Tên như người thật nhưng không ai biết Hỏi từng người trong đội và đơn vị làm web cũ Người ngoài có thể đã nghỉ mà bạn quên
Tạo hàng loạt Nhiều tài khoản cách nhau vài giây hoặc vài phút Một plugin nhập thành viên cũng làm vậy, nhưng hiếm khi cấp quyền admin
Không có trong danh sách được phép Đối chiếu với danh sách trắng bạn tự giữ Danh sách trắng sai nếu bạn quên cập nhật

Tổng hợp từ quy trình rà soát của Net Solutions, 25/10/2026.

Dấu hiệu thứ năm là dấu hiệu duy nhất không bị đánh lừa. Trong một ca chúng tôi xử lý ngày 10/09/2026, kẻ tấn công đổi hẳn cách đặt tên: tài khoản mới có tên như tên người, gắn tên miền của chính website bị tấn công. Cách dò khuôn tên trượt hoàn toàn, vì trông nó bình thường.

Cách chắc hơn là đảo câu hỏi. Đừng hỏi tài khoản này có giống đồ giả không. Hãy ghi ra những ID được phép làm administrator, và coi mọi ID khác là giả cho tới khi có người nhận. Bạn không cần đoán kẻ tấn công sẽ đặt tên kiểu gì ở lần sau.

Trước khi xoá: sao lưu cơ sở dữ liệu và lưu bản ghi từng tài khoản

Xoá người dùng là thao tác khó lùi. Hãy làm hai việc trước, mỗi việc mất chưa đầy một phút.

Thứ nhất, xuất cơ sở dữ liệu ra một tệp SQL. Thứ hai, lưu bản ghi đầy đủ của từng tài khoản định xoá. Công cụ của chúng tôi cũng làm đúng hai bước này trước mỗi lần xoá, và mặc định chỉ liệt kê chứ không xoá.

WP-CLI · sao lưu và lưu bản ghi (thay 123 bằng ID cần xoá)
wp db export sao-luu-truoc-khi-xoa.sql
wp user get 123 --format=json > tai-khoan-123.json

Hãy lưu hai tệp này ngoài thư mục website, vì nếu kẻ tấn công còn quyền ghi, nó có thể xoá luôn bản sao lưu nằm cạnh site. Bản ghi JSON còn là bằng chứng: nó giữ giờ tạo, email và mọi trường của tài khoản sau khi tài khoản đã biến mất.

Xoá mà không mất bài: gán lại nội dung cho quản trị viên thật

Hãy luôn chỉ định người nhận nội dung khi xoá một tài khoản. Tài khoản lạ thường chẳng có bài nào, nhưng bạn không chắc hết tài khoản nào từng đăng gì, nên gán lại nên là thói quen.

Trong giao diện, vào Người dùng, chọn tài khoản rồi bấm xoá. Hộp thoại xác nhận hỏi bạn xoá luôn nội dung của người đó hay gán lại cho một người dùng khác. Hãy chọn gán lại và chỉ vào administrator thật của bạn.

Với WP-CLI, tham số --reassign nhận ID của người nhận bài. Tài liệu ghi tham số này là “User ID to reassign the posts to” (dịch: ID người dùng sẽ nhận các bài viết).

WP-CLI · xoá người dùng 123, gán nội dung cho người dùng 1
wp user delete 123 --reassign=1

Ví dụ trên là chính ví dụ của trang lệnh wp user delete. ID 1 chỉ để minh hoạ: hãy thay bằng ID administrator thật mà bạn đã xác nhận ở bước trước, và chỉ xoá từng tài khoản một. Xoá xong, chạy lại lệnh liệt kê để chắc rằng danh sách đã ngắn đi đúng như dự tính.

Đá phiên đăng nhập và đổi khoá: xoá tài khoản chưa đủ

Xoá tài khoản không tự động đóng mọi cửa. Người đã đăng nhập từ trước có thể còn phiên hợp lệ, và mật khẩu của các administrator còn lại có thể đã lộ. Có ba việc cần làm theo thứ tự.

Một, huỷ mọi phiên đăng nhập của từng administrator còn lại. Hai, đặt mật khẩu mới cho họ. Ba, đổi các khoá bí mật trong wp-config.php.

Destroy all of the user’s sessions.

— Tài liệu WP-CLI, wp user session destroy (dịch: huỷ mọi phiên của người dùng), 25/10/2026

WP-CLI · huỷ phiên và đổi salt (thay admin bằng tên đăng nhập, ID hoặc email)
wp user session destroy admin --all
wp config shuffle-salts
Trang tài liệu WP-CLI của lệnh wp user session destroy, mô tả cách huỷ phiên đăng nhập của một người dùng
Trang tài liệu chính thức của lệnh huỷ phiên đăng nhập, đọc ngày 25/10/2026.

Lệnh thứ hai làm mới các salt trong wp-config.php. Salt là chuỗi dùng để ký cookie đăng nhập, nên khi nó đổi, mọi cookie cũ hết hiệu lực và mọi người, kể cả bạn, phải đăng nhập lại.

Chưa xong nếu cửa còn mởĐổi mật khẩu và huỷ phiên chưa ngăn được kẻ tấn công nếu cửa vào còn mở. Nếu có thể tạo administrator mà không cần mật khẩu, nó sẽ tạo lại ngay. Đừng coi việc này là xong khi chưa tìm ra đường vào ở mục sau.

Vì sao tài khoản mọc lại: tìm đường vào, không chỉ xoá

Tài khoản mọc lại sau khi xoá là dấu hiệu rõ nhất rằng bạn đang dọn triệu chứng. Ca ngày 10/09/2026 của chúng tôi, trên một website khách (đã ẩn danh), cho thấy từng bước dọn quen thuộc trượt thế nào.

Việc đã làm Kết quả
Sáng 10/09: xoá 49 tài khoản Trưa cùng ngày mọc thêm tài khoản
14:10: xoay mật khẩu quản trị 15:14: có thêm một administrator tên như người, gắn tên miền của chính site
wp core checksum và docker diff Sạch: không tệp lõi bị sửa, không tệp lạ
Đọc nhật ký truy cập Có yêu cầu POST tới /?rest_route=/batch/v1, trả mã 207

Nguồn: nhật ký xử lý của Net Solutions, 10/09/2026 (đã ẩn danh khách).

Hai phép kiểm sạch khiến chúng tôi đọc sai hai lần. Chúng tôi đã lấy “không tìm thấy gì” làm “không có gì”. Thực tế, đường vào là một endpoint REST đang mở, cho phép tạo administrator mà không cần mật khẩu hay tệp lạ. Vì vậy checksum và docker diff đều sạch, chỉ nhật ký mới có dấu vết.

Chi tiết lỗ hổng nằm trong bài về lỗ hổng WP2Shell; ở đây chỉ giữ bài học: kiểm cả ba chỗ. Một, plugin và theme có bản cập nhật chưa cài. Hai, REST có mở cho người chưa đăng nhập không. Ba, nhật ký có yêu cầu POST nào lạ đi trước giờ tạo tài khoản.

Nếu bạn cũng nghi site đã bị chèn mã, bước dọn tệp nằm ở bài WordPress bị chèn mã độc: cách xử lý. Bài này không chép lại các bước đó.

Giữ cho sạch: danh sách trắng và đối chiếu hằng tháng

Sau khi dọn, hãy giữ ba thói quen để lần sau phát hiện sớm. Một, viết ra danh sách ID được phép làm administrator và giữ ở nơi ngoài site. Hai, mỗi tháng chạy lại lệnh liệt kê và so với danh sách đó. Ba, giữ số administrator ở mức một đến ba người.

Thêm một lớp xác thực hai bước cho mọi administrator. Phần còn lại của việc cứng hoá nằm trong checklist bảo mật website WordPress. Mốc hằng tháng là khuyến nghị của chúng tôi, không phải quy định của WordPress.

Khi nào đừng tự xoá. Nếu bạn không có WP-CLI hoặc không rõ tài khoản đến từ đâu, đừng xoá vội: xoá nhầm một tài khoản mà một tích hợp đang dùng có thể làm tích hợp đó dừng. Chúng tôi cũng không xử lý khi chưa có quyền vào site, vì không đọc được nhật ký thì không tìm được đường vào. Nếu cần người làm giúp, xem dịch vụ chăm sóc website.

Câu hỏi thường gặp

Tài khoản quản trị lạ có chắc là website bị hack không? Không chắc. Đó có thể là nhân viên cũ, đơn vị làm web trước hoặc freelancer. Nhưng bạn không thể kết luận bằng cảm giác. Hãy đối chiếu từng tài khoản với danh sách người được phép và xem giờ tạo có trùng lúc site bắt đầu lạ không.

Xoá tài khoản quản trị lạ có mất bài viết không? Chỉ mất nếu bạn chọn xoá luôn nội dung. Khi xoá, hãy chọn gán lại nội dung cho một administrator thật, hoặc dùng tham số –reassign với WP-CLI. Nên sao lưu cơ sở dữ liệu trước để còn đường lùi.

Xoá rồi mà tài khoản mới vẫn xuất hiện lại thì sao? Nghĩa là cửa vào còn mở, và xoá chỉ dọn triệu chứng. Hãy đọc nhật ký truy cập tìm yêu cầu POST lạ trước giờ tạo tài khoản, cập nhật plugin và theme, rồi kiểm REST có mở cho người chưa đăng nhập không.

Nên đổi mật khẩu trước hay xoá tài khoản trước? Sao lưu trước, rồi xoá tài khoản lạ, rồi huỷ phiên và đổi mật khẩu các administrator còn lại. Đổi mật khẩu một mình không đủ: tài khoản lạ vẫn còn, và phiên đăng nhập cũ vẫn có thể hợp lệ.

Bao lâu nên kiểm danh sách quản trị một lần? Chúng tôi khuyến nghị mỗi tháng một lần, và ngay sau mỗi lần cài plugin lớn hay đổi người quản lý site. Đây là khuyến nghị của Net Solutions, không phải quy định của WordPress. Việc kiểm chỉ mất vài phút nếu bạn đã có danh sách trắng.

Cần người rà quản trị viên và tìm đường vào giúp bạn?

Gửi chúng tôi quyền truy cập site, ta cùng đối chiếu danh sách quản trị, xoá có sao lưu và đọc nhật ký. Gọi hoặc nhắn Zalo 0906.207.001.

Xem dịch vụ chăm sóc websiteNhắn ZaloHotline 0906.207.001

Cập nhật 28/10/2026 bởi Công ty TNHH Net Solutions.

Gọi ngay Chat Zalo Messenger Facebook Hỗ trợ qua Email