Rate Limiting là gì
Rate Limiting là kỹ thuật giới hạn số lượng request mà một client có thể gửi đến một endpoint trong một khoảng thời gian. Nếu vượt quá giới hạn, Cloudflare sẽ chặn, thả (drop) hoặc trả về mã lỗi (429 Too Many Requests).
Tại sao WordPress cần Rate Limiting
- /wp-login.php: mục tiêu quen thuộc của brute force.
- /xmlrpc.php: endpoint XML-RPC thường bị dùng để tấn công dictionary hoặc DDoS khuếch đại.
- REST API: hacker có thể quét user, dò endpoint hoặc spam request.
- wp-admin/ajax: bị lạm dụng để spam request AJAX.
Nếu không có rate limiting, server phải xử lý từng request, làm PHP/MySQL quá tải, ngay cả khi hacker không thành công.
Cách bật Rate Limiting trong Cloudflare
- Đăng nhập Cloudflare Dashboard.
- Đi tới tab Security > WAF > Rate Limiting Rules.
- Tạo rule mới, chọn URI pattern cần bảo vệ (ví dụ
*example.com/wp-login.php*). - Đặt giới hạn request, ví dụ 10 request trong 1 phút.
- Hành động khi vượt ngưỡng: Block hoặc Challenge (CAPTCHA / Managed Challenge).
Ví dụ rule phổ biến cho WordPress
/wp-login.php*
Giới hạn: 5 request / phút / IP
Hành động: Managed Challenge
/xmlrpc.php*
Giới hạn: 5 request / phút / IP
Hành động: Block
/wp-json/*
Giới hạn: 120 request / phút / IP
Hành động: Challenge (tùy use case)
Lưu ý khi cấu hình
- Đừng giới hạn REST API quá thấp, vì nhiều plugin/theme và user cần gọi thường xuyên (ví dụ SPA, headless).
- Ưu tiên Managed Challenge thay vì Block, để tránh chặn nhầm user thật.
- Test với traffic thật trước khi áp dụng toàn bộ site.
- Có thể thêm điều kiện nâng cao: chỉ áp dụng với Method
POSTđể không chặn GET hợp lệ.
Kết hợp với bảo mật khác
- Ẩn trang login bằng plugin hoặc custom slug (
/my-loginthay cho/wp-login.php). - Tắt XML-RPC nếu không dùng.
- Dùng reCAPTCHA hoặc 2FA cho WordPress login.
- Giám sát log trong Cloudflare Analytics để điều chỉnh rule.
Kết luận
Cloudflare Rate Limiting là một trong những lớp bảo mật hiệu quả và dễ triển khai nhất để bảo vệ WordPress trước brute force và bot xấu. Thay vì để request nguy hiểm chạm vào PHP/MySQL, Cloudflare chặn ngay tại edge, giảm tải cho server và giữ site ổn định. Với vài rule đơn giản cho /wp-login.php, /xmlrpc.php và /wp-json/, bạn đã có thể nâng cấp đáng kể khả năng phòng thủ của website WordPress.
Bình luận