การที่เว็บไซต์หรือ API ถูกส่ง Request จำนวนมากผิดปกติในเวลาอันสั้น เป็นหนึ่งในรูปแบบการโจมตีที่แสนอันตราย Cloudflare Rate Limiting ช่วยได้โดยตั้งขีดจำกัดจำนวน Request ต่อ IP ต่อช่วงเวลาที่กำหนด เป็นเครื่องมือสำคัญสำหรับผู้เรียกใช้ VPS และมี API สาธารณะให้เข้าถึง
Rate Limiting คืออะไร?
Rate Limiting คือการกำหนดว่าในช่วงเวลาหนึ่ง IP สามารถส่ง Request ได้สูงสุดเท่าไร ถ้าเกินเวลาจะถูกบล็อกหรือ Challenge โดยอัตโนมัติ ช่วยป้องกัน:
- Brute Force Attack บน Login Page
- API Abuse เมื่อถูกเรียกแบบอัตโนมัติจำนวนมาก
- Web Scraping ที่รัวดให้กิน Resource
- Layer 7 DDoS แบบ HTTP Flood
วิธีตั้งค่า Rate Limiting บน Cloudflare
- ไปที่ Security → WAF → Rate Limiting Rules
- คลิก Create Rule
- ตั้งชื่อ Rule และเลือก Match URL
- กำหนดจำนวน Request สูงสุดในช่วงเวลาที่กำหนด
- เลือก Action (Block, Challenge) และระยะเวลาที่จะบล็อก
- คลิก Deploy
ตัวอย่าง Rate Limiting Rules
1. ป้องกัน WordPress Login Brute Force
| การตั้งค่า | ค่า |
|---|---|
| URL Match | /wp-login.php |
| Requests per period | 5 requests |
| Period | 60 seconds |
| Action | Block |
| Duration | 10 minutes |
2. ป้องกัน API Endpoint Abuse
| การตั้งค่า | ค่า |
|---|---|
| URL Match | /api/* |
| Requests per period | 100 requests |
| Period | 60 seconds |
| Action | Block |
| Duration | 5 minutes |
3. ป้องกันการ Scraping ทั่วเว็บ
| การตั้งค่า | ค่า |
|---|---|
| URL Match | * (ทุกหน้า) |
| Requests per period | 300 requests |
| Period | 60 seconds |
| Action | Managed Challenge |
| Duration | 1 minute |
การคิด Threshold ที่เหมาะสม
การตั้งค่า Threshold ที่เหมาะสมผึ้งอยู่กับประเภทของเว็บไซต์:
- Login Page: 3-10 ครั้งต่อนาที เพราะคนจริงไม่ค่อย Login บ่อย
- API Endpoint: 60-200 ครั้งต่อนาที ขึ้นอยู่กับระบบ
- หน้าปกติ: 200-500 ครั้งต่อนาที
- Search Page: 30-60 ครั้งต่อนาที (คนไม่ค่อย Search บ่อย)
ประโยชน์และข้อควรระวัง
- ระวังตั้งค่า Threshold เข้มเกินไป อาจบล็อกผู้ใช้จริง
- Rate Limiting ทำงานต่อ IP จึงอาจไม่ป้องกัน Bot ที่พร็อม IP จำนวนมาก
- ควรใช้ร่วมกับ Firewall Rules เพื่อป้องกัน Bot ที่ใช้หลาย IP
- หลัง Deploy ควรติดตาม Security Events เพื่อดูว่า Rule ทำงานถูกต้องหรือไม่
สรุป
Cloudflare Rate Limiting เป็นเครื่องมือที่ห้ามมิให้ตั้งค่าสำหรับเว็บที่มี API หรือหน้า Login โดยเฉพาะบน VPS ที่ต้องการความปลอดภัยสูงสุด การใช้ Rate Limiting ร่วมกับ Firewall Rules จะสร้างชั้นการป้องกันแบบหลายชั้นที่มีประสิทธิภาพสูง

