Security
DDoS (Distributed Denial of Service) คืออะไร?
DDoS ย่อมาจาก Distributed Denial of Service หมายถึงการโจมตีเว็บไซต์โดยส่งข้อมูล (traffic) จำนวนมากจากหลายเครื่องไปยังเซิร์ฟเวอร์ของคุณในเวลาเดียวกัน จนเซิร์ฟเวอร์จัดการไม่ไหวและเว็บไซต์เกิด Timeout หรือ Down ไปเลย ตรงข้ามกับ DoS (Denial of Service) ที่มีแค่เครื่องเดียว DDoS มีผู้โจมตีจากหลายแหล่งพร้อมกัน จึงยากต่อการปิดกั้นผ่านการ Block IP
DDoS มีหลายประเภท:
- Volume Attack — ส่ง traffic ปกติแต่จำนวนมากมาย (UDP Flood, ICMP Flood) เพื่อเต็ม Bandwidth ของเซิร์ฟเวอร์
- Protocol Attack — ส่ง Packet ที่มีการตั้งค่าผิดปกติ (SYN Flood, DNS Amplification) เพื่อทำให้เซิร์ฟเวอร์ใช้ทรัพยากรมากขึ้น
- Application Attack — ส่ง HTTP Request ปกติแต่จำนวนเยอะ (HTTP Flood, Slowloris) โดยดูเหมือนว่ามาจากผู้เยี่ยมชมทั่วไป
Shared Hosting มีการป้องกัน DDoS ระดับไหนอยู่แล้ว?
ปกติแล้ว Hosting Provider ที่มีเซิร์ฟเวอร์ทั่วไปจะมีการป้องกัน DDoS ขั้นพื้นฐาน:
- ระดับเครือข่าย — ISP หรือ Data Center จัดตั้ง Firewall เพื่อลด DDoS ขนาดเล็ก (ปกติกำจัด 2-5 Gbps ได้)
- ระดับเซิร์ฟเวอร์ — ตั้งค่า rate limiting และ connection limit ใน Apache เพื่อปัดปะตัน Request มากมายโดยอัตโนมัติ
- ระดับแอปพลิเคชัน — บางโปรแกรมมี Built-in protection เช่น WordPress plugin ซึ่งจะบล็อก IP ที่เข้าหลายครั้งในช่วงสั้น ๆ
อย่างไรก็ตาม การป้องกัน Shared Hosting ต่อ DDoS มีข้อจำกัด:
- ไม่มี Dedicated DDoS Mitigation Service — Shared Hosting ส่วนใหญ่ไม่มีเครื่องมือเฉพาะสำหรับการป้องกัน DDoS ที่ขั้นสูง
- ส่วนแบ่ง Bandwidth — เว็บไซต์ของคุณต้องแบ่ง Bandwidth กับเว็บอื่น ๆ บนเซิร์ฟเวอร์เดียวกัน ถ้าเว็บอื่นโดน DDoS ก็เสี่ยงลากคุณไปด้วย
- ไม่มี Geographic Redundancy — หากโจมตีจากทั่วโลก Shared Hosting ไม่สามารถกระจาย Traffic ไปเซิร์ฟเวอร์อื่นได้เหมือน CDN
ป้องกัน DDoS เพิ่มเติมด้วย Cloudflare
Cloudflare เป็นบริการ CDN (Content Delivery Network) ที่มีการป้องกัน DDoS ขั้นสูง วิธีการทำงาน:
- ตั้งค่า Nameserver ของโดเมนให้ชี้ไป Cloudflare แทนที่ Hosting Provider เดิม
- Cloudflare จะตั้ง Proxy ระหว่างผู้เยี่ยมชมและเซิร์ฟเวอร์ของคุณ
- ทุก Traffic ที่เข้ามาจะผ่าน Cloudflare ก่อน และ Cloudflare จะกรอง DDoS ออกโดยอัตโนมัติ
- หากเกิด DDoS การโจมตีจะนำเข้าสู่ Cloudflare ซึ่งมี Capacity ขนาดใหญ่ มากกว่าการจมตรงเซิร์ฟเวอร์ของคุณ
ข้อดีของ Cloudflare:
- ป้องกัน DDoS Layer 3-7 — ป้องกันการโจมตีทุกระดับ Volume, Protocol, และ Application Attack
- ใช้งานฟรี — Cloudflare Free Plan ก็มีการป้องกัน DDoS พื้นฐานแล้ว (ใช่ว่า 100% สมบูรณ์ แต่พอ)
- ไม่ต้องเปลี่ยน Hosting — เพียงเปลี่ยน Nameserver ส่วนเซิร์ฟเวอร์ Hosting ทำงานปกติเหมือนเดิม
- Faster Performance — Cloudflare ยังทำหน้าที่เป็น Cache ให้เว็บ ทำให้โหลดเร็วขึ้นด้วย
วิธีตั้งค่า Cloudflare สำหรับป้องกัน DDoS
ขั้นตอน:
- เข้าไปที่ https://www.cloudflare.com/ และสมัครสมาชิก Free Plan
- ใส่ชื่อโดเมนของคุณ (เช่น yourdomain.com)
- เลือก Free Plan
- Cloudflare จะให้ Nameserver 2 ตัว เช่น:
clara.ns.cloudflare.com miles.ns.cloudflare.com - ไปที่ Registrar ของโดเมนของคุณ (เช่น namecheap.com) แล้วเปลี่ยน Nameserver เป็นของ Cloudflare
- รอ 24-48 ชั่วโมงให้ Domain Propagate
- เข้าไป Cloudflare Dashboard และตั้งค่า Security Level เป็น "High" หรือ "I'm Under Attack"
การตั้งค่า Security ใน Cloudflare Dashboard:
- ไปที่ Security > Settings
- ตั้ง Security Level เป็น "High" สำหรับ Shared Hosting ทั่วไป
- เปิด Bot Management (Pro Plan ขึ้นไป) หรือใช้ Challenge ฟรี
- เปิด DDoS Protection ซึ่งเปิดอยู่โดยค่าเริ่มต้นแล้ว
บริการป้องกัน DDoS อื่น ๆ
นอกจาก Cloudflare ยังมีบริการป้องกัน DDoS อื่น ๆ:
- Akamai / Imperva — ระดับ Enterprise ราคาแพง เหมาะกับเว็บทั่วไปไม่
- AWS Shield — สำหรับที่เก็บไว้บน AWS เท่านั้น
- Google Cloud Armor — สำหรับ Google Cloud ผู้ใช้เท่านั้น
- Sucuri — ตัวเลือก WAF + DDoS ตัวเดียว ราคาปานกลาง
- Bungeecord / HAProxy — สำหรับ VPS ไม่ใช่ Shared Hosting (ต้อง SSH setup)
สำหรับ Shared Hosting ผู้เริ่มต้น Cloudflare Free ถือว่าเหมาะสุด ฟรี ใช้งานง่าย และป้องกันได้ส่วนใหญ่
ตรวจสอบว่า Cloudflare ป้องกัน DDoS ทำงานถูกต้อง
หลังจากตั้งค่า Cloudflare แล้ว ตรวจสอบด้วยขั้นตอนต่อไปนี้:
# 1. ตรวจสอบว่า Nameserver ชี้ไป Cloudflare
nslookup yourdomain.com
# ควรเห็น nameserver เป็น clara.ns.cloudflare.com หรือ miles.ns.cloudflare.com
# 2. ตรวจสอบ Cloudflare Status ในการตอบสนอง
curl -sI https://yourdomain.com | grep -i "cf-"
# ควรเห็น Header เช่น cf-ray, cf-cache-status, cf-request-id
# 3. ดูรายละเอียด Response Header ทั้งหมด
curl -sI https://yourdomain.com
# 4. ทดสอบ Cloudflare เครื่องมือ Tools ที่ https://www.cloudflare.com/dns/
# ระบุโดเมนและตรวจสอบว่ามี DNS Record ครบถ้วน
# 5. ตรวจสอบ SSL Certificate ของ Cloudflare
curl --insecure -sI https://yourdomain.com | grep -i ssl
แก้ปัญหาที่พบบ่อย
Error: "Cloudflare Nameserver ยังไม่ Active" หลังเปลี่ยน 24 ชั่วโมงแล้ว
บางครั้ง Domain Registrar (เช่น namecheap, GoDaddy) ต้องเวลากว่า 24 ชั่วโมง และบางครั้ง Registrar ไม่ได้เปลี่ยน Nameserver อย่างถูกต้อง
วิธีแก้: ให้ดับเบิล-เช็ค Nameserver ที่ตั้งไว้ใน Registrar ว่าตรงกับที่ Cloudflare บอกหรือไม่ ใช้ nslookup yourdomain.com เพื่อยืนยัน ถ้ายังไม่เปลี่ยน ให้ลองรออีก 48 ชั่วโมง หรือติดต่อ Registrar Support
Error: "เข้า Cloudflare Dashboard แล้วเห็น SSL Error"
เกิดเมื่อ Cloudflare ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ Hosting ของคุณได้ หรือ SSL Certificate ของเซิร์ฟเวอร์ไม่ถูกต้อง
วิธีแก้: ไปที่ Cloudflare Dashboard > SSL/TLS > Encryption Mode และเลือก "Flexible" ชั่วคราว (ถ้าเซิร์ฟเวอร์ของคุณยังไม่มี SSL Certificate ที่ถูกต้อง) หรือไป cPanel ติดตั้ง AutoSSL ให้เสร็จ แล้วเปลี่ยนเป็น "Full" ในภายหลัง
Error: "เว็บ Down ทั้งหน้า หลังเปลี่ยน Nameserver เป็น Cloudflare"
อาจเกิดจาก Cloudflare ไม่ได้ Auto-detect DNS Record ของคุณอย่างถูกต้อง ทำให้ Records ไม่สมบูรณ์ (ขาด A Record, MX Record เป็นต้น)
วิธีแก้: เข้า Cloudflare Dashboard > DNS และตรวจสอบว่ามี A Record สำหรับ @ (Root Domain) และ www แล้วหรือไม่ ต้องมี A Record ที่ชี้ไปยัง IP Address ของเซิร์ฟเวอร์ Hosting เดิม ถ้าขาด ให้เพิ่มเองด้วยการ Add Record
Error: "Email ไม่ถึง หลังใช้ Cloudflare"
เมื่อใช้ Cloudflare มันอาจจะหลีกเลี่ยง MX Record ของคุณ ทำให้ Email ไม่ถูก Route ไปยัง Mail Server ของคุณ
วิธีแก้: ตรวจสอบ MX Record ใน Cloudflare DNS ว่าถูกต้องและ Proxied ถูกตั้งเป็น "DNS only" (สีเทา ไม่สีส้ม) เพราะ Cloudflare ไม่ควร Proxy Email Traffic
Error: "Rate Limiting ของ Cloudflare บล็อก IP ของผู้เยี่ยมชมปกติเข้า"
Cloudflare อาจตั้งค่า Security Level สูงเกินไป ทำให้บล็อก IP ของผู้ใช้ปกติเพราะเข้าเว็บบ่อยเกินไป
วิธีแก้: ไปที่ Cloudflare Dashboard > Security > Settings และลด Security Level เป็น "Medium" หรือ "Low" แล้วสังเกตว่าจำนวนการบล็อกลดลงหรือไม่
คำถามที่พบบ่อย
Q: Cloudflare Free Plan กับ Pro Plan มีความต่างกันตรงไหนในเรื่อง DDoS Protection?
A: Cloudflare Free Plan ป้องกัน DDoS ขั้นพื้นฐาน (ส่วนใหญ่ Volume Attack ที่เล็กน้อย) ส่วน Pro Plan และสูงกว่ามี Advanced DDoS Protection ที่สามารถจัดการ DDoS ขนาดใหญ่กว่า และมี Bot Management เพื่อปัดปะ Automated Attack เช่น Brute Force ได้ดีกว่า สำหรับ Shared Hosting ทั่วไป Free Plan พอใช้แล้ว
Q: ถ้าใช้ Cloudflare + Hosting ผู้ให้บริการมี DDoS Protection ด้วย จะไม่ซ้ำหรือ Conflict หรือ?
A: ไม่ Conflict ทั้งสองทำงานในระดับต่างกัน Cloudflare ทำหน้าที่กรอง DDoS ก่อนถึง Hosting ของคุณ ถ้า DDoS ผ่านมาบ้าง Hosting Provider ของคุณก็มี Mitigation ลำดับที่ 2 ได้ ป้องกันแบบแบ่งชั้น (Defense in Depth) นั่นเอง
Q: ต้องเปลี่ยน Hosting Provider เมื่อได้รับการโจมตี DDoS หรือ?
A: ไม่จำเป็น ส่วนใหญ่ DDoS ปกติจะเกิดขึ้นสัก 1-2 ครั้งแล้วหยุด เมื่อใช้ Cloudflare ความสามารถในการรักษาเว็บให้ Online เพิ่มขึ้นอยู่แล้ว Hosting Provider ของคุณยังถือว่าโอเค ถ้า DDoS เกิดซ้ำ ๆ อย่างต่อเนื่องจึงอาจต้องพิจารณาข้างหน้า