Kiểm tra bảo mật WordPress từ bên ngoài
Phần lớn web WordPress bị tấn công không phải vì kẻ xấu giỏi, mà vì cấu hình để lộ thông tin: phiên bản cũ, tên quản trị, file sao lưu quên xoá. Công cụ này đóng vai một người lạ đi quanh ngoài cửa và ghi lại những gì nhìn thấy được.
Công cụ kiểm tra những gì?
- HTTPS: web có chạy HTTPS và địa chỉ http:// có chuyển sang https:// không.
- Header bảo mật: HSTS, X-Frame-Options (hoặc CSP frame-ancestors), X-Content-Type-Options, Referrer-Policy.
- Lộ thông tin WordPress: phiên bản qua generator và readme.html, xmlrpc.php, tên đăng nhập qua REST API và ?author=1, liệt kê thư mục uploads, trang wp-login.php.
- File nhạy cảm: .env, .git, bản sao lưu wp-config, debug.log. Công cụ chỉ xem mã trạng thái và vài ký tự đầu để xác nhận, không hiện nội dung.
Đọc điểm số thế nào?
Mỗi mục không đạt bị trừ điểm theo mức nguy hiểm: file nhạy cảm và liệt kê thư mục trừ nặng, thiếu header trừ nhẹ. Điểm A từ 90 trở lên, B từ 75, C từ 60, D từ 40, dưới đó là F. Điểm chỉ mang tính tham khảo cho phần nhìn thấy từ ngoài.
Nên sửa theo thứ tự nào?
- Xoá file nhạy cảm bị lộ rồi đổi mật khẩu liên quan.
- Tắt liệt kê thư mục, chặn lộ tên đăng nhập.
- Bật HTTPS đầy đủ và thêm header bảo mật.
- Ẩn phiên bản, tắt xmlrpc.php nếu không dùng.
Nếu bạn không muốn tự chỉnh file cấu hình, DatPilot nhận gia cố bảo mật WordPress trọn gói. Muốn biết web đang dùng theme, plugin nào thì thử công cụ nhận diện theme và plugin.
Ví dụ: chạy với chính datpilot.com
Lần chạy thử đầu tiên với datpilot.com cho điểm A nhưng còn một mục “Nên sửa”: thiếu header X-Content-Type-Options. Kiểm tra lại thì header có, nhưng bị gửi hai lần (một lần từ máy chủ web, một lần từ ứng dụng) nên giá trị thành “nosniff, nosniff”. Chúng tôi đã bỏ bản trùng trên datpilot.com và sửa công cụ để không báo nhầm trường hợp này nữa.

Bài học: một header bị gửi trùng thường do cả máy chủ web và ứng dụng cùng thêm. Khi sửa header, hãy kiểm tra ở một chỗ duy nhất.
Sau khi quét
- Mục “Cần xử lý” mức cao (file nhạy cảm, liệt kê thư mục): sửa ngay, rồi đổi mật khẩu liên quan.
- Thiếu header: thêm trong cấu hình máy chủ, plugin bảo mật hoặc file .htaccess.
- Điểm cao chưa có nghĩa là web sạch mã độc: công cụ chỉ thấy phần nhìn từ bên ngoài.