- 1. Zero Trust là gì?
- 2. Cloudflare Access là gì?
- 3. Mục tiêu bảo vệ
- 4. Tạo ứng dụng bảo vệ WordPress trong Cloudflare Access
- 5. Kiểm thử truy cập
- 6. Tùy chọn nâng cao
- 7. Ưu điểm của Cloudflare Access so với plugin bảo mật
- 8. Kết hợp WAF và Access để tăng cường bảo mật
- 9. Xử lý tình huống thực tế
- 10. Kết luận
1. Zero Trust là gì?
Zero Trust là mô hình bảo mật dựa trên nguyên tắc “không ai được tin tưởng mặc định”. Mọi truy cập – kể cả nhân viên nội bộ hay quản trị viên – đều phải xác thực qua một cổng bảo vệ riêng biệt trước khi chạm vào hệ thống thật.
Trong bối cảnh WordPress, điều này có nghĩa là bạn không cho phép bất kỳ ai truy cập trực tiếp vào /wp-login.php hoặc /wp-admin/ nếu chưa qua lớp xác thực của Cloudflare Access.
2. Cloudflare Access là gì?
Cloudflare Access là một phần của nền tảng Cloudflare Zero Trust, cho phép bạn đặt một lớp xác thực (SSO, OTP, email link, v.v.) trước khi người dùng truy cập vào bất kỳ URL nào. Nó hoạt động giống như một “login proxy” – nghĩa là request của người dùng sẽ đi qua Cloudflare Access, xác thực tại đó, rồi mới được phép vào website thật.
3. Mục tiêu bảo vệ
Trong môi trường production, chúng ta muốn:
- Chỉ admin hoặc nhân sự được phép truy cập
/wp-login.phpvà/wp-admin/. - Tất cả request khác (người dùng đọc bài, xem trang) vẫn hoạt động bình thường, không cần xác thực.
- Tích hợp đăng nhập bằng email công ty (SSO, Google Workspace, Microsoft 365, v.v.).
4. Tạo ứng dụng bảo vệ WordPress trong Cloudflare Access
- Vào Cloudflare Dashboard > Zero Trust > Access > Applications.
- Chọn Add an application > Self-hosted.
- Đặt tên:
WordPress Admin Access. - Application Domain: nhập domain chính của bạn (ví dụ
example.com). - Path: giới hạn truy cập chỉ với 2 đường dẫn:
/wp-login.php*/wp-admin*
- Ở phần Policies → tạo chính sách “Allow”:
- Chọn loại xác thực: Email one-time pin (miễn phí) hoặc Google Workspace, Microsoft, GitHub (SSO).
- Chỉ định domain email được phép truy cập:
@example.com. - Nếu muốn linh hoạt, có thể thêm nhiều địa chỉ email cụ thể.
- Nhấn Save và bật ứng dụng.
5. Kiểm thử truy cập
- Truy cập
https://example.com/wp-login.phptừ trình duyệt chưa đăng nhập → bạn sẽ thấy giao diện xác thực của Cloudflare Access. - Nhập email được phép → Cloudflare gửi mã OTP hoặc redirect qua SSO.
- Sau khi xác thực thành công, bạn mới thấy trang đăng nhập WordPress thật sự.
6. Tùy chọn nâng cao
1) Giới hạn theo quốc gia hoặc IP nội bộ:
Add condition:
- Country = Vietnam
OR
- IP range = 203.113.0.0/16
2) Giới hạn theo thiết bị tin cậy (Device posture):
Nếu dùng gói Cloudflare Zero Trust Teams, bạn có thể yêu cầu thiết bị phải đăng ký hoặc có agent Cloudflare Warp để truy cập.
3) Cho phép nhiều domain phụ:
Nếu website có nhiều domain admin (VD: staging.example.com), bạn có thể thêm nhiều “path” hoặc dùng wildcard trong phần domain của ứng dụng.
7. Ưu điểm của Cloudflare Access so với plugin bảo mật
- Không chạy trên WordPress → không tốn tài nguyên PHP/MySQL.
- Không phụ thuộc plugin → không lo lỗ hổng hoặc update lỗi.
- Kiểm soát truy cập tập trung qua Cloudflare Dashboard, dễ quản lý nhiều site.
- Hoạt động ở tầng edge → request độc hại bị chặn trước khi tới server thật.
8. Kết hợp WAF và Access để tăng cường bảo mật
Sau khi triển khai Cloudflare Access, bạn vẫn nên dùng thêm WAF rule để chặn tấn công POST từ ngoài Việt Nam:
(http.request.uri.path contains "wp-login.php" and http.request.method eq "POST" and not ip.src.country in {"VN"} and not cf.client.bot)
or
(http.request.uri.path contains "xmlrpc.php" and http.request.method eq "POST" and not cf.client.bot)
Bộ đôi WAF + Access sẽ giúp trang WordPress của bạn gần như “vô hình” với botnet toàn cầu, chỉ mở cửa cho người quản trị thật sự.
9. Xử lý tình huống thực tế
- Admin cần truy cập khi đi công tác nước ngoài: thêm email tạm thời vào policy hoặc bật Cloudflare Warp để xác thực qua VPN Zero Trust.
- Người dùng bị lỗi redirect loop: xóa cookie
CF_Authorizationvà đăng nhập lại qua trang Access. - Tích hợp CI/CD: cho phép server deploy (CI/CD runner) truy cập qua “Service Token” trong mục Access → để hệ thống deploy tự động mà không cần xác thực người dùng.
10. Kết luận
Bảo vệ WordPress bằng mô hình Zero Trust không chỉ là xu hướng – mà là cách tiếp cận thực tế cho môi trường production hiện đại. Cloudflare Access mang lại lớp bảo mật ở tầng edge, tách biệt hoàn toàn với PHP, giúp loại bỏ 99% các request brute force, credential stuffing và bot tấn công. Với vài bước cấu hình, bạn có thể biến trang quản trị WordPress thành khu vực chỉ có “người trong cuộc” mới có thể bước vào.
Bình luận