Cloudflare Firewall Rules คืออะไร ตั้งค่าป้องกันเว็บไซต์อย่างไร

การโจมตีเว็บไซต์ในปัจจุบันมีความหลากหลายและซับซ้อนมากขึ้นเรื่อยๆ ไม่ว่าจะเป็น Bot ที่ขูด Content, การโจมตีแบบ DDoS หรือ Request จาก IP ที่น่าสงสัย Cloudflare มีเครื่องมือสำคัญที่ช่วยปกป้องเว็บไซต์ได้อย่างมีประสิทธิภาพ นั่นคือ Firewall Rules บทความนี้จะอธิบายวิธีใช้งานและตั้งค่า Cloudflare Firewall Rules เพื่อปกป้องเว็บไซต์บน VPS

Cloudflare Firewall Rules คืออะไร?

Cloudflare Firewall Rules เป็นระบบที่ให้คุณเขียน Rules เพื่อควบคุมว่า Request ใดควรได้รับอนุญาต บล็อก หรือผ่าน Challenge (CAPTCHA) โดยอิงจากหลายเงื่อนไข เช่น IP Address, Country, User Agent, URI, Header หรือแม้แต่เนื้อหาของ Request Body

Actions ที่ Firewall Rules ทำได้

  • Block: บล็อก Request ทันที ส่ง 403 Forbidden กลับไป
  • Challenge (CAPTCHA): แสดง CAPTCHA ก่อนให้ผ่าน
  • JS Challenge: ใช้ JavaScript Challenge สำหรับ Bot ที่ไม่รันโค้ด
  • Managed Challenge: Cloudflare เลือกวิธี Challenge อัตโนมัติ
  • Allow: อนุญาตให้ผ่านเสมอ แม้จะ Trigger Rule อื่น
  • Log: บันทึก Log เท่านั้น ไม่บล็อก (Enterprise)
  • Bypass: ข้ามการตรวจสอบ Feature อื่น เช่น WAF

วิธีสร้าง Firewall Rule บน Cloudflare

  1. เข้า Cloudflare Dashboard เลือก Domain
  2. ไปที่เมนู Security → WAF → Firewall Rules
  3. คลิก Create a Firewall Rule
  4. ตั้งชื่อ Rule และเขียน Expression
  5. เลือก Action และคลิก Deploy

ตัวอย่าง Firewall Rules ที่ใช้บ่อย

1. บล็อก IP ที่น่าสงสัย

(ip.src eq 1.2.3.4) or (ip.src in {5.6.7.8 9.10.11.12})

Action: Block — บล็อก IP Address ที่ระบุ

2. บล็อกทุก Request ยกเว้นประเทศไทย

(not ip.geoip.country in {"TH"})

Action: Block — เหมาะสำหรับเว็บที่ให้บริการเฉพาะคนไทย

3. ป้องกัน WordPress Login Page

(http.request.uri.path eq "/wp-login.php" and not ip.src in {your_office_ip})

Action: Managed Challenge — ให้ CAPTCHA เฉพาะคนที่ไม่ใช่ IP ออฟฟิศ

4. บล็อก Bad Bot และ Scraper

(http.user_agent contains "AhrefsBot") or 
(http.user_agent contains "SemrushBot") or 
(http.user_agent contains "MJ12bot")

Action: Block — บล็อก SEO Crawler ที่กิน Bandwidth โดยไม่จำเป็น

5. Rate Limiting สำหรับ API Endpoint

(http.request.uri.path matches "^/api/.*" and rate(1m) > 100)

Action: Block — บล็อกเมื่อมี Request เกิน 100 ครั้งต่อนาที (ต้องใช้ Rate Limiting Rule)

Cloudflare WAF (Web Application Firewall)

นอกจาก Custom Firewall Rules แล้ว Cloudflare ยังมี Managed WAF Rules ที่ Cloudflare เขียนและอัปเดตให้เอง ครอบคลุม:

  • OWASP Core Rule Set: ป้องกัน SQL Injection, XSS, Path Traversal
  • Cloudflare Managed Rules: ป้องกันช่องโหว่ยอดนิยมบน WordPress, Drupal, Joomla
  • Cloudflare Specials: Rule พิเศษสำหรับภัยคุกคามใหม่ล่าสุด

WAF Managed Rules เปิดใช้งานได้ที่ Security → WAF → Managed Rules

Firewall Rules กับ VPS

ผู้ที่ใช้ VPS ร่วมกับ Cloudflare ควรตั้งค่า Firewall Rules เพิ่มเติม เพื่อป้องกัน VPS โดยตรง:

  • Whitelist Cloudflare IP เท่านั้น: ตั้งค่า Firewall บน VPS ให้รับ Traffic จาก Cloudflare IP Ranges เท่านั้น ป้องกันการ Bypass Cloudflare
  • ป้องกัน Admin Panel: ใช้ Firewall Rule บล็อก /wp-admin หรือ /plesk จาก Country ที่ไม่ใช่ไทย
  • บล็อก Xmlrpc.php: ป้องกัน Brute Force ผ่าน WordPress XML-RPC

Rule แนะนำสำหรับ WordPress บน DE VPS

Rule Name Expression Action
Block xmlrpc http.request.uri.path eq “/xmlrpc.php” Block
Protect WP Login http.request.uri.path eq “/wp-login.php” and cf.threat_score > 10 Managed Challenge
Block Bad Bots cf.client.bot and not cf.verified_bot_category in {“Search Engine Crawler”} Block
Allow Thailand Only (Admin) http.request.uri.path contains “/wp-admin” and not ip.geoip.country eq “TH” Block

การดู Firewall Events และ Analytics

หลังตั้งค่า Rules แล้ว ควรติดตาม Events ที่เกิดขึ้นเพื่อ Fine-tune Rules:

  • ไปที่ Security → Events เพื่อดู Log ของ Firewall Action ทั้งหมด
  • กรอง Event ตาม Rule Name, IP, Country หรือ Action
  • หาก Rule บล็อกคนที่ไม่ควรบล็อก ให้ปรับ Expression หรือเพิ่ม Exception
  • ดู Security → Overview สำหรับ Dashboard ภาพรวม Threat ต่อสัปดาห์

สรุป

Cloudflare Firewall Rules เป็นเครื่องมือที่ทรงพลังในการปกป้องเว็บไซต์จากภัยคุกคามหลายรูปแบบ ด้วยการเขียน Expression ที่ยืดหยุ่น คุณสามารถสร้าง Rule ที่เหมาะกับ Use Case ของคุณได้อย่างแม่นยำ

เมื่อใช้ร่วมกับ VPS ซึ่งมีความเสถียรและความเร็วสูง Cloudflare Firewall Rules จะยิ่งมีประสิทธิภาพมากขึ้น เพราะ Cloudflare รับ Traffic ก่อนแล้วกรองสิ่งที่ไม่ดีออกก่อนถึง VPS ทำให้ Server ทำงานกับ Traffic ที่ถูกต้องเท่านั้น