Cloudflare Rate Limiting: bảo vệ WordPress login và REST API trước brute force

Một trong những kiểu tấn công phổ biến nhất vào WordPress là brute force – hacker gửi hàng ngàn request đến trang đăng nhập hoặc REST API để dò mật khẩu và tìm lỗ hổng. Nếu không có lớp bảo vệ, brute force sẽ làm server tốn CPU, RAM, băng thông và thậm chí dẫn đến downtime. Cloudflare cung cấp tính năng Rate Limiting, cho phép giới hạn số request trong một khoảng thời gian, giúp bảo vệ WordPress trước brute force ngay từ edge. Bài viết này sẽ giải thích cách hoạt động và hướng dẫn áp dụng hiệu quả.

Cloudflare Rate Limiting: bảo vệ WordPress login và REST API trước brute force

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

  1. Đăng nhập Cloudflare Dashboard.
  2. Đi tới tab Security > WAF > Rate Limiting Rules.
  3. Tạo rule mới, chọn URI pattern cần bảo vệ (ví dụ *example.com/wp-login.php*).
  4. Đặt giới hạn request, ví dụ 10 request trong 1 phút.
  5. 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-login thay 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/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


  • Không có bình luận.

Công cụ trực tuyến

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...