Website WordPress của bạn tháng này đã được kiểm tra bảo mật chưa? Nhiều sự cố không bắt đầu bằng một cuộc tấn công quá phức tạp, mà bắt đầu từ plugin quên cập nhật, tài khoản admin cũ, backup chưa từng thử restore hoặc một file lạ nằm yên trong thư mục upload.
Đừng lo, bạn không cần biến buổi kiểm tra định kỳ thành một dự án kéo dài cả ngày. Với một checklist gọn, bạn có thể rà soát rủi ro trong khoảng 30 phút mỗi tháng và biết khi nào cần nâng mức xử lý.

Tóm tắt nhanh
- Audit bảo mật WordPress hàng tháng không thay monitoring hằng ngày, nhưng giúp bạn bắt lỗi vận hành trước khi thành sự cố.
- 30 phút nên chia thành 3 phần: backup và update, tài khoản và 2FA, scan malware và log.
- Không nên xóa dấu vết quá sớm nếu nghi website đã bị hack; hãy lưu log và backup hiện trạng trước.
- Kết quả cần có biên bản ngắn: phát hiện gì, đã xử lý gì, ai chịu trách nhiệm và deadline còn lại.
Audit bảo mật WordPress là gì?
Audit bảo mật WordPress là buổi kiểm tra định kỳ nhằm phát hiện rủi ro trong cập nhật, tài khoản, file, plugin, cấu hình và log trước khi website gặp sự cố. Khác với xử lý website đã bị hack, audit hàng tháng là hoạt động phòng ngừa và xác nhận hệ thống vẫn đang ở trạng thái kiểm soát được.
Nói đơn giản, đây là lúc bạn hỏi: backup có dùng được không, plugin nào lỗi thời, ai còn quyền admin, 2FA đã bật chưa và log có request lạ không.
Bạn đang đọc bài viết thuộc chuyên mục Bảo mật website của VietnamTutor — nơi mình biến các cảnh báo bảo mật thành checklist vận hành thực tế cho chủ website và đội kỹ thuật.
Điểm quan trọng là audit không hứa làm website “miễn nhiễm”. Wordfence mô tả bảo mật WordPress theo hướng nhiều lớp: 2FA, mật khẩu mạnh, giới hạn đăng nhập, SSL/HTTPS, quyền file phù hợp, tắt chỉnh sửa file từ dashboard và cập nhật bảo mật [1]. Audit giúp bạn kiểm tra các lớp đó còn hoạt động không.

Vì sao cần audit bảo mật WordPress hàng tháng?
Bạn cần audit hàng tháng vì phần lớn rủi ro WordPress thay đổi liên tục: plugin ra bản vá, tài khoản nhân sự thay đổi, file bị chỉnh sửa, backup lỗi và cảnh báo bảo mật dễ bị bỏ qua. Nếu chỉ kiểm tra khi website đã bị chuyển hướng hoặc bị Google cảnh báo, chi phí xử lý thường cao hơn nhiều.
WordPress có cơ chế cập nhật nền cho các bản minor và security từ WordPress 3.7 trở lên [2], nhưng điều đó không có nghĩa toàn bộ plugin, theme, hosting, tài khoản và quy trình backup đều tự an toàn.
Audit hàng tháng cũng tách rõ ba lớp công việc:
- Monitoring hằng ngày: uptime, malware alert, WAF alert, backup job, cảnh báo Search Console.
- Audit hàng tháng: soát lại cấu hình, quyền truy cập, phiên bản, scan result, log và restore readiness.
- Incident response: điều tra, cô lập, lưu bằng chứng, cleanup và khôi phục khi đã có dấu hiệu compromise.
Mình khuyên bạn đừng biến audit thành một danh sách 80 việc. Với SME, checklist 30 phút làm đều mỗi tháng thực tế hơn nhiều.
Cần chuẩn bị gì trước khi audit?
Trước khi audit, bạn cần quyền truy cập hợp lệ, bản backup gần nhất, nơi xem log, danh sách plugin/theme và file ghi nhận kết quả. Nếu thiếu các thứ này, buổi kiểm tra dễ biến thành thao tác mò mẫm.
Hãy chuẩn bị 5 thứ sau:
- Tài khoản admin riêng: không dùng chung một tài khoản cho nhiều người.
- Quyền hosting hoặc control panel: để kiểm tra backup, file manager, cron và log.
- Backup off-site: tối thiểu có database và file.
- Plugin/security dashboard: ví dụ Wordfence, Sucuri, MalCare hoặc scanner host cung cấp.
- Biên bản audit: ghi ngày kiểm tra, phát hiện, người xử lý và deadline.
WordPress Hosting Handbook xếp backup và monitoring vào nhóm reliability cho môi trường hosting [3]. Với website doanh nghiệp, không có backup dùng được thì mọi checklist khác đều yếu đi.
Trước khi bấm update hàng loạt, bạn cũng nên biết đường quay lại. Bài WordPress backup restore drill giải thích vì sao backup chỉ đáng tin khi đã từng thử khôi phục. Đây là điều bạn nên biết trước khi cập nhật plugin quan trọng!

Checklist 10 phút đầu: backup, core, plugin, theme
10 phút đầu nên dành cho những thứ có thể làm website rơi vào rủi ro nhanh nhất: backup, WordPress core, plugin, theme và thành phần không còn dùng. Mục tiêu không phải cập nhật bằng mọi giá, mà là biết rõ cái gì đang lỗi thời và có kế hoạch xử lý.
Checklist nhanh:
- Kiểm tra backup gần nhất có thành công không, gồm database và thư mục upload.
- Xác nhận backup không chỉ nằm trong public web root.
- Kiểm tra WordPress core có bản cập nhật bảo mật không.
- Liệt kê plugin/theme cần update, ưu tiên plugin liên quan form, user, upload, eCommerce và page builder.
- Xóa plugin/theme không dùng thay vì chỉ deactivate nếu không có lý do giữ lại.
- Ghi lại plugin chưa thể update ngay và lý do.
Wordfence Scan Results có các cảnh báo liên quan trực tiếp đến audit như plugin có lỗ hổng, plugin cần nâng cấp, plugin bị gỡ khỏi WordPress.org, file core lạ hoặc file cấu hình/log public [4]. Nếu scanner nêu rõ một plugin bị bỏ rơi, hãy ghi thành task thay thế.
Với site có doanh thu, mình khuyên bạn update trên staging trước. Site giới thiệu ít phức tạp vẫn cần kiểm tra form, menu và CTA chính sau cập nhật.
Checklist 10 phút giữa: admin user, 2FA, password
10 phút giữa nên tập trung vào quyền truy cập vì tài khoản yếu là một trong những điểm dễ bị bỏ sót nhất. Một website có plugin mới nhất vẫn có thể gặp rủi ro nếu có tài khoản admin cũ, mật khẩu dùng lại hoặc 2FA chưa bật cho người có quyền cao.
Hãy kiểm tra theo thứ tự này:
- Mở danh sách Users và lọc role Administrator, Editor, Shop Manager nếu có WooCommerce.
- Xác minh từng người còn làm việc với website không.
- Hạ quyền tài khoản không cần admin.
- Xóa hoặc vô hiệu hóa tài khoản của nhân sự/agency cũ sau khi chuyển ownership nội dung.
- Bật 2FA cho admin và tài khoản quản trị hosting nếu nhà cung cấp hỗ trợ.
- Kiểm tra application password, API key, SMTP credential và token tích hợp bên thứ ba.
Dự án Two-Factor của WordPress mô tả 2FA như một lớp bảo mật bổ sung, yêu cầu hình thức xác thực thứ hai ngoài mật khẩu [5]. Điều này đặc biệt quan trọng với tài khoản admin.
Nếu bạn đang dùng nhiều tài khoản tích hợp API, đừng quên nguyên tắc “có tên rõ, có chủ sở hữu, có ngày review”. Tài khoản tên kiểu “admin2”, “test”, “agency-old” hoặc “seo” mà không ai nhận trách nhiệm là tín hiệu nên xử lý ngay.

Checklist 10 phút cuối: scan malware, file lạ, log
10 phút cuối là phần kiểm tra dấu hiệu bất thường: malware scan, file bị sửa, redirect lạ, log đăng nhập và cảnh báo từ công cụ bảo mật. Đây là nơi bạn phát hiện những thứ không hiện ra trong màn hình Updates.
Checklist thực tế:
- Chạy full malware scan hoặc đọc kết quả scan gần nhất nếu job chạy tự động.
- Kiểm tra cảnh báo file core bị thay đổi, file PHP lạ trong upload hoặc wp-config backup.
- Đọc log đăng nhập thất bại, IP lạ và request tới đường dẫn nhạy cảm.
- Kiểm tra Search Console Security Issues và Manual Actions nếu site đã xác minh.
- Truy cập nhanh trang chủ, blog, form liên hệ và checkout để phát hiện redirect hoặc nội dung lạ.
- Ghi rõ cảnh báo nào đã xử lý, cảnh báo nào cần điều tra thêm.
Wordfence giải thích rằng scan result có thể gồm file độc hại, plugin có lỗ hổng, unknown file trong WordPress core hoặc file cấu hình/log public [4]. Scanner cũng có thể có false positive, nên hãy đọc kết quả trước khi xóa.
Nếu bạn muốn đào sâu phần scan, bài cách quét mã độc WordPress đã có checklist riêng về monitoring và cách đọc cảnh báo. Còn nếu phát hiện website đã bị đổi nội dung, tạo admin lạ hoặc redirect người dùng, hãy chuyển sang quy trình xử lý sự cố thay vì tiếp tục audit bình thường.

Khi nào phải chuyển sang incident response?
Bạn nên dừng checklist audit và chuyển sang incident response khi có dấu hiệu website đã bị compromise, ví dụ admin lạ, redirect độc hại, file mã độc rõ ràng, cảnh báo Search Console hoặc nội dung spam xuất hiện. Lúc này mục tiêu không còn là “kiểm tra định kỳ”, mà là bảo toàn bằng chứng, cô lập rủi ro và khôi phục sạch.
Wordfence liệt kê nhiều dấu hiệu website có thể đã bị hack, đồng thời nhấn mạnh plugin có thể hỗ trợ phát hiện và cleanup nhưng không nên xem như giải pháp xử lý mọi tình huống [6]. Nếu malware nằm ở database hoặc hosting account, chỉ xóa một file bị flag có thể chưa đủ.
Hãy chuyển sang incident response nếu thấy một trong các dấu hiệu sau:
- Có tài khoản admin mới mà không ai tạo.
- Trang bị chuyển hướng sang casino, thuốc, fake captcha hoặc download lạ.
- Search Console báo security issue hoặc indexed URL spam.
- Scanner phát hiện backdoor, webshell hoặc mã độc lặp lại sau khi xóa.
- Hosting cảnh báo gửi spam, phishing hoặc tiêu thụ CPU bất thường.
- File wp-config.php, .htaccess, index.php hoặc mu-plugins bị sửa không rõ lý do.
Trong trường hợp đó, bạn nên đọc quy trình website bị hack: xử lý 24 giờ đầu. Đừng vội update hoặc cài thêm plugin lung tung trước khi đã có bản chụp hiện trạng và log cần thiết.
Lịch audit phù hợp cho từng loại website
Không phải website nào cũng cần cùng một tần suất audit, nhưng hầu hết website doanh nghiệp nên có kiểm tra hàng tháng và monitoring tự động hằng ngày. Tần suất nên dựa trên rủi ro kinh doanh và mức độ thay đổi nội dung/plugin.
| Loại website | Tần suất đề xuất | Trọng tâm audit |
|---|---|---|
| Website giới thiệu doanh nghiệp | Hàng tháng | Backup, update, admin user, form liên hệ, scan malware |
| Blog nhiều tác giả | Hàng tháng + review user khi có nhân sự đổi | Role, 2FA, plugin editor, upload file, comment spam |
| WooCommerce | Hàng tuần nhẹ + hàng tháng đầy đủ | Payment, checkout, user role, backup database, log đơn hàng |
| Website đang chạy ads | Hàng tháng + kiểm tra sau mỗi thay đổi lớn | Redirect, landing page, form, tracking script, Search Console |
| Site có code custom | Hàng tháng + review sau deploy | Git diff, file permission, error log, plugin/theme custom |
Nếu website đang dùng Cloudflare hoặc WAF khác, bạn có thể kết hợp audit này với log rule, bot fight mode, rate limiting và security event. Bài WAF WordPress sẽ hữu ích nếu bạn muốn giảm request độc hại trước khi chúng chạm tới WordPress.

Mẫu biên bản kiểm tra bảo mật WordPress
Một buổi audit chỉ có giá trị lâu dài khi bạn ghi lại kết quả đủ rõ để tháng sau so sánh. Biên bản không cần dài, nhưng phải trả lời được: đã kiểm tra gì, phát hiện gì, xử lý gì, còn nợ gì và ai chịu trách nhiệm.
Bạn có thể dùng mẫu ngắn này:
Ngày audit: 2026-06-08 Website: example.com Người kiểm tra: [Tên] 1. Backup - Backup gần nhất: OK / lỗi - Restore test gần nhất: [ngày] - Ghi chú: 2. Cập nhật - WordPress core: OK / cần update - Plugin cần update: - Theme cần update: - Plugin/theme không dùng: 3. Quyền truy cập - Số admin hợp lệ: - Tài khoản cần hạ quyền/xóa: - 2FA admin: Đủ / thiếu 4. Scan và log - Malware scan: sạch / có cảnh báo - File lạ: - Redirect hoặc nội dung lạ: - Log đăng nhập bất thường: 5. Việc cần làm - [Task] - [Người phụ trách] - [Deadline]
Đừng quên phần cuối: việc cần làm. Nếu phát hiện plugin abandoned nhưng không có deadline thay thế, tháng sau bạn sẽ thấy lại đúng cảnh báo đó.
Nguồn tham khảo
- Wordfence: How To Secure a WordPress Site, 2026
- WordPress Documentation: Updating WordPress
- Make WordPress Hosting Handbook: Reliability
- Wordfence Help: Scan Results
- WordPress Two-Factor plugin documentation
- Wordfence Help: If Your Site Is Hacked
Các câu hỏi thường gặp
Kiểm tra hàng tháng có thay malware monitoring không?
Không. Malware monitoring nên chạy tự động hằng ngày hoặc theo thời gian thực nếu có thể. Audit hàng tháng là buổi kiểm tra có chủ đích để đọc kết quả, rà quyền truy cập, kiểm tra backup, cập nhật và ghi nhận việc cần xử lý.
Một website nhỏ có cần kiểm tra bảo mật mỗi tháng không?
Có, nhưng checklist có thể gọn hơn. Website nhỏ thường chỉ cần kiểm tra backup, cập nhật, tài khoản admin, 2FA, scan malware và form liên hệ. Quan trọng là làm đều, không đợi đến khi có cảnh báo mới kiểm tra.
Có nên bật tự động cập nhật plugin WordPress không?
Tùy mức độ rủi ro. Plugin nhỏ, phổ biến và ít ảnh hưởng giao dịch có thể bật tự động cập nhật nếu backup ổn. Plugin thanh toán, checkout, membership, page builder hoặc plugin custom nên được thử trên staging trước khi cập nhật production.
Khi scanner báo file lạ, tôi có nên xóa ngay không?
Không nên xóa vội nếu bạn chưa hiểu file đó là gì. Hãy lưu lại kết quả scan, kiểm tra đường dẫn, so sánh với bản sạch hoặc repository, rồi mới quyết định. Nếu nghi bị hack, hãy chuyển sang quy trình incident response để tránh mất bằng chứng.
Audit bảo mật WordPress mất bao lâu?
Với website SME đã có backup và công cụ scan sẵn, buổi audit cơ bản có thể hoàn thành trong khoảng 30 phút. Website WooCommerce, nhiều user hoặc có code custom nên dành thêm thời gian cho staging, log, checkout và kiểm tra tích hợp.
Audit bảo mật WordPress không cần phức tạp, nhưng cần đều đặn. Nếu tháng này bạn chỉ làm một việc, hãy bắt đầu bằng ba câu hỏi: backup có restore được không, ai đang có quyền admin, và scanner/log có cảnh báo nào chưa được đọc?
