Bảo mật backup WordPress và restore integrity không chỉ là có một file backup. Một backup đáng tin cậy cần đủ files + database, được lưu ở vị trí phù hợp, có retention, access control, integrity check và quan trọng nhất là đã được thử restore. Đây là một lớp trong hardening WordPress tổng thể, nơi khả năng recovery cần được xác minh thay vì chỉ dựa vào trạng thái job.
Một backup set cần những gì?
| Thành phần | Cần có |
|---|---|
| Files | Core, plugin, theme, uploads, wp-config và file liên quan |
| Database | Dump nhất quán với thời điểm backup set |
| Metadata | Timestamp, source site, version, owner |
| Integrity | Hash/checksum hoặc control tương đương |
| Restore record | Kết quả test restore và người xác nhận |
Thiết kế backup và recovery đáng tin cậy
Files và database là hai phần khác nhau
WordPress files nằm trên filesystem, còn database thường ở MySQL/MariaDB riêng. Chỉ copy thư mục WordPress không tạo full-site backup; ngược lại database dump không chứa theme/plugin/uploads. Nên xem chúng như một backup set được tạo gần cùng thời điểm.
Backup không nên nằm public trong web root
File zip/sql có thể chứa source code, credential hoặc dữ liệu người dùng. Không để backup dễ tải qua URL công khai. Ưu tiên storage tách khỏi web root, quyền truy cập tối thiểu và encryption nếu threat model yêu cầu.
Integrity check
Hash/checksum độc lập giúp phát hiện backup bị thay đổi ngoài ý muốn. Với môi trường quan trọng, có thể dùng immutable/read-only storage hoặc versioning để giảm khả năng attacker xóa cả production lẫn backup.
Restore test quan trọng hơn “backup job succeeded”
Một job báo thành công không chứng minh restore sẽ chạy được. Cần định kỳ phục hồi vào staging/sandbox, kiểm tra database import, file permissions, login, frontend, plugin/theme và integration quan trọng.
RPO/RTO nên gắn với business impact
RPO quyết định lượng dữ liệu có thể mất; RTO quyết định thời gian phục hồi chấp nhận được. Site ecommerce hoặc membership có thể cần cadence và restore process khác blog ít thay đổi. Không có một lịch backup universal cho mọi website.
Backup sau compromise cần được đánh giá trust
Nếu website đã bị hack, backup gần nhất có thể đã chứa persistence hoặc payload. Cần xác định incident window và chọn restore point có bằng chứng hợp lý, rồi patch/rotate/verify sau restore. Xem restore backup hay cleanup malware WordPress.
Checklist backup security
- Xác minh files + database đầy đủ.
- Ghi timestamp và owner của backup set.
- Lưu ngoài web root hoặc storage tách biệt phù hợp.
- Kiểm soát quyền truy cập và encryption khi cần.
- Tạo integrity record/hash.
- Định kỳ restore test.
- Ghi RPO/RTO và escalation khi backup fail.
Nguồn kỹ thuật
Kết luận
Backup WordPress chỉ thực sự đáng tin khi có đủ files + database, được bảo vệ khỏi exposure, có integrity record và restore test. “Có backup” là điểm bắt đầu; khả năng phục hồi được xác minh mới là control hoàn chỉnh. Để đưa recovery vào quy trình ứng phó thực tế, xem thêm incident readiness cho WordPress.
