วิธีตั้งค่า Cloudflare เมื่อเว็บไซต์โดนยิงบ่อย (HTTP Flood / Bot Attack)
หากเว็บไซต์ของคุณถูกยิงบ่อย ทราฟฟิกพุ่งสูงผิดปกติ หรือมีบอทเข้ามารัวจนเว็บช้า/ล่ม ระบบป้องกันหน้าบ้านอย่าง Cloudflare สามารถช่วยกรองทราฟฟิกไม่ปกติ ลดโหลดเซิร์ฟเวอร์ และช่วยป้องกันการโจมตีระดับ HTTP (Layer 7) ได้อย่างมีประสิทธิภาพ
บทความนี้เป็นคู่มือฉบับสมบูรณ์สำหรับผู้ใช้เว็บโฮสติ้ง, WordPress, ร้านค้าออนไลน์ และเว็บทั่วไปของ NakhoniTech ที่ต้องการตั้งค่า Cloudflare ให้ปลอดภัยที่สุด และลดโอกาสเว็บล่มจากการโดนยิง
เหมาะกับใคร
- เจ้าของเว็บไซต์ WordPress ที่โดนบอทยิง
wp-login.phpหรือxmlrpc.php - ร้านค้าออนไลน์ที่พบทราฟฟิกผิดปกติจนเว็บช้า
- เว็บไซต์ธุรกิจ/องค์กรที่ต้องการเสถียรภาพสูง
- ผู้ใช้โฮสติ้งที่ต้องการป้องกันเว็บล่มจากการโดนยิง
1. ตรวจสอบก่อนเริ่มใช้งาน Cloudflare
- Domain ต้องวิ่งผ่าน Cloudflare จริง ๆ
ไปที่ Cloudflare → DNS ตรวจสอบว่า RecordAหรือAAAAเป็น “เมฆสีส้ม (Proxied)” ถ้าเป็น “เมฆสีเทา (DNS only)” ทราฟฟิกจะไม่ถูกกรอง - ซ่อน Origin IP ของเซิร์ฟเวอร์
ห้ามเปิดบริการเหล่านี้ผ่านโดเมนที่ Proxied:- DirectAdmin / Plesk / Control Panel
- phpMyAdmin
- Webmail
- ใช้ subdomain เช่น
cp.example.com→ ตั้งเป็น DNS Only - หน้าเว็บหลัก
example.com,www.example.com→ ใช้เมฆส้มเท่านั้น
หาก Origin IP หลุด ไม่ว่าจะตั้งค่า Cloudflare ดีแค่ไหน ก็สามารถโจมตีตรงได้ทันที
2. เปิดโหมด Under Attack สำหรับการยิงหนัก
เมนู: Overview → Quick Actions → Under Attack Mode
- เหมาะกับช่วงเว็บเข้าไม่ได้หรือโดนยิงจำนวนมาก
- Cloudflare จะตรวจสอบทุก request อย่างเข้มงวด
3. ปรับ Security Level ให้เหมาะสม
เมนู: Security → Settings → Security Level
- ปกติ: Medium
- เริ่มโดนยิง: High
- โดนหนัก: I’m Under Attack
4. เปิด Bot Fight Mode / Super Bot Fight Mode
เมนู: Security → Bots
- Bot Fight Mode → ON
- ถ้าเป็นแผน Pro/Business เปิด Super Bot Fight Mode เพิ่ม
5. ตั้งค่า Firewall Rules
เมนู: Security → WAF → Firewall Rules
5.1 บล็อก User Agent ว่าง
(http.user_agent eq "")
Action: Block
5.2 บล็อก xmlrpc.php
(http.request.uri.path eq "/xmlrpc.php")
5.3 Challenge สำหรับ wp-login.php
(http.request.uri.path contains "wp-login.php")
5.4 บล็อกประเทศเสี่ยง
(ip.geoip.country in {"CN" "RU" "BR" "IN"})
6. Rate Limiting (จำกัด Request)
เมนู: Security → WAF → Rate Limiting Rules
- URL:
/* - Threshold: 200 req/min/IP
- Action: Block หรือ Challenge
- Duration: 10 นาที
ถ้าโดนหนักมาก:
100 requests / 10 วินาที / IP
7. Cache Rules / Page Rules
Cache Everything
- URL:
https://example.com/* - Cache Level: Cache Everything
- Edge Cache TTL: 1 ชั่วโมง
Bypass Admin
- URL:
https://example.com/wp-admin/* - Setting: Bypass Cache
หมายเหตุ: Free Plan มี Page Rules แค่ 3 รายการ
8. เสริมความปลอดภัยฝั่งเซิร์ฟเวอร์ (Origin Hardening)
- ปิด port ที่ไม่จำเป็น
- ตรวจพอร์ต:
ss -tulnp | grep LISTEN - จำกัดการเข้าถึง DirectAdmin/Plesk ด้วย IP / VPN
- ตรวจ Log เพื่อดูว่าถูกยิงจากอะไร
9. แนวทางสำหรับ WordPress (สรุป)
- เมฆส้มสำหรับหน้าเว็บ
- Security Level: Medium/High
- Bot Fight Mode = เปิด
- Firewall:
- Block xmlrpc.php
- Challenge wp-login.php
- Block User Agent ว่าง
- Block ประเทศเสี่ยง
- Rate Limiting 200 req/min/IP
- Cache Everything (ยกเว้น /wp-admin)
10. ข้อผิดพลาดที่พบบ่อย
- DNS เป็นเมฆเทา ทำให้ Cloudflare ไม่ได้ช่วยกรองใด ๆ
- เข้าหลังบ้านด้วยโดเมนเมฆส้ม ทำให้ IP หลุด
- เปิด Under Attack Mode ไว้นานเกินไป
- ตั้ง Rate Limiting เข้มเกินจนผู้ใช้จริงเข้าไม่ได้
11. สรุป
เพื่อให้ป้องกันเว็บโดนยิงได้ผล ควรทำ 3 อย่างร่วมกัน:
- เปิด Proxy (เมฆส้ม) และซ่อน Origin IP
- ใช้ฟีเจอร์ Cloudflare เช่น Firewall, Bot Fight, Rate Limiting
- เสริมความปลอดภัยที่เซิร์ฟเวอร์ เช่น ปิดพอร์ต ตรวจ Log
เมื่อทำครบทั้งหมด เว็บจะทนการยิงได้ดีขึ้น โหลดลดลง และเสถียรภาพสูงขึ้นมาก
FAQ – คำถามที่พบบ่อย
1) เปิดเมฆส้มแล้วทำไมยังโดนยิง?
เพราะ Origin IP หลุด ต้องตรวจสอบ DNS และบริการอื่น ๆ ให้ไม่เปิดเผย IP
2) Under Attack Mode เปิดทิ้งไว้ได้ไหม?
ไม่แนะนำ เพราะผู้ใช้จริงจะต้องผ่าน Challenge ทุกครั้ง
3) Bot Fight Mode จะมีผลกับปลั๊กอินไหม?
ส่วนใหญ่ไม่กระทบ แต่ API บางตัวอาจถูก Challenge
4) Rate Limiting ตั้งเท่าไหร่ดี?
200 req/min/IP เป็นค่ามาตรฐาน ถ้าโดนหนักปรับลดได้
5) ต้องใช้ Cloudflare Pro ไหม?
ถ้าโดนยิงบ่อยหรือเป็นเว็บธุรกิจสำคัญ แนะนำ Pro เพื่อได้ WAF ที่ดีกว่า
เวอร์ชันย่อสำหรับมือใหม่
- เปิดเมฆส้มใน DNS ทุกตัวที่ชี้เว็บ
- ห้ามใช้โดเมนเมฆส้มเข้าหลังบ้าน (Origin IP จะหลุด)
- เปิด Bot Fight Mode
- Under Attack Mode เมื่อโดนหนัก
- Firewall: Block xmlrpc / Challenge wp-login / Block Country
- Rate Limiting 200 req/min/IP
- Cache Everything (ยกเว้น /wp-admin)
สรุป: เปิดเมฆส้ม → ซ่อน IP → ตั้ง Firewall → จำกัด Request → ปรับ Cache → ตรวจ Log
┌──────────────────────────────────────────┐ │ CLOUDLARE PROTECTION FLOW (NakhoniTech) │ └──────────────────────────────────────────┘ 1) DNS Setup • เมฆส้มสำหรับหน้าเว็บ • เมฆเทาเฉพาะ Control Panel / Webmail • ห้ามให้ Origin IP หลุด 2) Basic Protection • Security Level = Medium / High • Bot Fight Mode = ON • เปิด HTTPS เท่านั้น 3) Emergency Mode • Under Attack Mode (ใช้เฉพาะจำเป็น) 4) Firewall Rules • Block User Agent ว่าง • Block /xmlrpc.php • Challenge /wp-login.php • Block Countries ที่ไม่ต้องการ 5) Rate Limiting • 200 req/min/IP • 100 req/10s/IP (กรณีโดนหนัก) 6) Cache Optimization • Cache Everything • Bypass /wp-admin/* 7) Origin Server Hardening • ปิด port ไม่จำเป็น • จำกัดการเข้าถึง DirectAdmin/Plesk • ตรวจ Log เป็นประจำ