Bài này là implementation checklist cho Least Privilege WordPress. Dùng khi bạn đã có user/role hiện tại và cần rà account nào đang quá quyền, hạ quyền thế nào có rollback, xử lý custom role/service account và kiểm chứng sau thay đổi. Nếu bạn cần thiết kế governance, Access Review hoặc mô hình quyền dài hạn, dùng WordPress Roles & Capabilities: thiết kế phân quyền và Access Review.
Phạm vi của bài
Bài này trả lời câu hỏi “tôi áp dụng least privilege vào site hiện tại theo checklist nào?”. Nó không sở hữu governance model hay policy review dài hạn. Kết quả mong muốn là từng account có decision cụ thể, thay đổi có rollback và workflow vẫn hoạt động sau khi giảm quyền.
Least Privilege trong WordPress nghĩa là mỗi user, role hoặc integration chỉ có đúng quyền cần cho công việc hiện tại, trong đúng khoảng thời gian cần thiết. Đây là một nguyên tắc nền tảng để giảm impact nếu một tài khoản bị compromise. Trong hardening WordPress tổng thể, least privilege là lớp kiểm soát quyền cần đi cùng MFA, session hygiene, cập nhật và monitoring.
WordPress kiểm soát quyền bằng roles và capabilities
WordPress dùng role để nhóm các capability. Một site đơn lẻ thường có các role như Administrator, Editor, Author, Contributor và Subscriber. Custom plugin có thể thêm role/capability riêng. Vì vậy review security cần nhìn vào capability thực tế, không chỉ tên role. Với code plugin, cần phân biệt rõ capability authorization với admin context; xem phân biệt is_admin() và kiểm tra quyền trong WordPress.
Thiết kế Least Privilege trong WordPress
Ma trận quyền tối thiểu
| Nhu cầu | Role gợi ý ban đầu | Cần review thêm |
|---|---|---|
| Quản trị toàn site | Administrator | Chỉ cấp cho số ít owner thật sự cần |
| Quản lý nội dung của nhiều người | Editor | Plugin có thêm capability nhạy cảm không |
| Tự viết và xuất bản bài | Author | Upload/media workflow |
| Viết nhưng không tự publish | Contributor | Editorial approval |
| Chỉ đọc/login | Subscriber | Plugin membership/custom capability |
Không cấp Administrator vì “cho tiện”
Administrator có nhiều capability quan trọng, vì vậy dùng role này như mặc định cho agency, content team hoặc vendor sẽ mở rộng blast radius. Nếu công việc chỉ cần content, reporting hoặc một chức năng plugin cụ thể, hãy ưu tiên role/capability nhỏ hơn.
Review checklist
- Inventory toàn bộ user và role.
- Xác minh owner và nhu cầu hiện tại.
- Review account Administrator trước.
- Kiểm tra custom roles do plugin tạo.
- Đối chiếu capability nhạy cảm với business need.
- Giảm quyền có rollback và test workflow.
- Thiết lập lịch review định kỳ và khi nhân sự/vendor thay đổi.
Service account và integration
Không nên dùng một Administrator cá nhân làm credential chung cho automation. Với integration, xác định cơ chế auth, capability thực sự cần, owner, rotation và cách thu hồi. Nếu API/plugin không hỗ trợ phạm vi quyền hợp lý, đó là risk cần ghi nhận chứ không nên che giấu.
Custom capability có thể thay đổi risk
Tên role đẹp không đảm bảo an toàn. Plugin có thể gắn thêm capability cho role mặc định hoặc tạo role mới. Khi audit, cần kiểm tra capability liên quan tới user management, options, plugin/theme management, content publishing và dữ liệu nhạy cảm.
Nếu phát hiện role bị nâng ngoài quy trình
Ghi user ID, role trước/sau, thời điểm và nguồn thay đổi nếu có. Nếu Administrator lạ xuất hiện trong bối cảnh incident, dùng workflow Admin WordPress lạ thay vì chỉ hạ role rồi đóng case.
Least privilege kết hợp MFA
MFA giảm rủi ro account takeover; least privilege giảm impact nếu takeover vẫn xảy ra. Hai control bổ trợ nhau. Xem MFA/2FA cho WordPress và bảo vệ wp-admin.
PASS/FAIL sau review
| Check | PASS | FAIL |
|---|---|---|
| Ownership | Mọi account có owner | Account không rõ owner |
| Privilege | Role/capability khớp nhu cầu | Quyền cao hơn nhu cầu |
| Lifecycle | Có quy trình cấp/thu hồi | Vendor/nhân sự cũ còn quyền |
| Review | Có lịch và owner | Không ai chịu trách nhiệm review |
Nguồn chính thức
Kết luận
Áp dụng Least Privilege là một bài toán implementation: inventory, xác minh owner, so capability với business need, giảm quyền có rollback và test lại workflow. Phần governance/Access Review dài hạn được giữ ở URL owner riêng để hai bài không cùng trả lời một search task.
