Cách giảm thiểu DDoS cho website: CDN, WAF, Rate Limit và Origin Protection

Minh họa kiến trúc giảm thiểu DDoS với CDN WAF Rate Limiting và Origin Protection

Giảm thiểu DDoS cho website không nên dựa vào một control duy nhất. Một kiến trúc bền vững cần xử lý nhiều lớp: upstream/CDN hấp thụ traffic, DDoS protection phát hiện flood, WAF lọc request web, rate limiting kiểm soát endpoint abuse, cache giảm tải origin và origin protection ngăn bypass.

Điểm quan trọng là đặt control trước bottleneck. Nếu uplink của origin đã đầy, firewall trên chính server chặn packet cũng quá muộn. Nếu HTTP request hợp lệ nhưng rất đắt, chỉ có network DDoS protection cũng chưa đủ. Vì vậy mitigation phải bắt đầu từ việc xác định lớp tài nguyên bị làm cạn. Nếu chưa phân biệt volumetric, protocol và application-layer attack, xem DDoS là gì? trước khi chọn control.

Kiến trúc nhiều lớp để giảm DDoS

Internet
  ↓
Anycast / CDN / DDoS Protection
  ↓
WAF / Bot / Rate Limiting
  ↓
Origin Protection / Firewall
  ↓
Reverse Proxy / Web Server
  ↓
Application / API
  ↓
Database / Internal Services

Mỗi lớp có nhiệm vụ riêng. CDN không thay authorization; WAF không hấp thụ vô hạn volumetric traffic; rate limiting không chặn được mọi distributed botnet; origin firewall không cứu được đường truyền đã bão hòa. Giá trị đến từ cách các lớp bổ sung cho nhau.

Các lớp phòng thủ và thứ tự triển khai

Bước 1: Đặt website sau lớp edge có đủ capacity

Với volumetric hoặc protocol DDoS, mitigation phải xảy ra trước đường truyền nhỏ hơn của origin. CDN/DDoS provider có mạng phân tán và capacity lớn hơn giúp hấp thụ hoặc drop traffic ở edge.

Cloudflare hiện mô tả DDoS managed protection cho cả L3/4 và L7 và khuyến nghị giữ protection mặc định hoạt động, sau đó bổ sung custom rules/rate limiting khi application cần policy riêng. Dù dùng nhà cung cấp nào, hãy xác minh rõ:

  • HTTP/HTTPS có thực sự được proxy qua edge;
  • DNS record public có bỏ qua proxy không;
  • DDoS protection áp ở layer nào;
  • có giới hạn attack size/duration hoặc billing impact nào;
  • telemetry/event có đủ để điều tra không;
  • cơ chế failover khi provider lỗi là gì.

Bước 2: Khóa origin để attacker không bypass edge

Nếu origin IP vẫn nhận request trực tiếp từ Internet, attacker có thể đánh thẳng backend và bỏ qua CDN/WAF. Đây là một trong những lỗi kiến trúc phổ biến nhất khi “đã bật Cloud/CDN nhưng server vẫn chết”. Case Attacker Bypass CDN/WAF bằng Origin IP cho thấy cách direct-origin access vô hiệu hóa protection ở edge.

  • chỉ cho phép source network/proxy hợp lệ tới web ports;
  • dùng mTLS/origin authentication nếu nền tảng hỗ trợ;
  • không public service quản trị qua cùng interface;
  • kiểm tra DNS history và record phụ có lộ origin;
  • đổi origin IP khi đã bị lộ và threat model yêu cầu;
  • test trực tiếp IP để xác nhận bypass không còn hoạt động.

Phần này có owner riêng tại Origin Protection là gì?

Bước 3: Tận dụng cache để giảm request về origin

Cache biến nhiều request giống nhau thành edge hit thay vì origin render. Đây là lớp rất hiệu quả với static asset và nội dung public có thể cache an toàn.

  • cache static assets lâu hơn khi phù hợp;
  • cache HTML public nếu application cho phép;
  • chuẩn hóa cache key để tránh query vô nghĩa;
  • không cache login, cart, checkout hoặc personalized response một cách mù quáng;
  • theo dõi cache hit ratio trước và trong incident.

HTTP flood kiểu cache-busting thường cố làm giảm cache hit để ép origin xử lý. Vì vậy cache strategy là một phần của DDoS defense, không chỉ performance optimization.

Bước 4: Dùng WAF cho attack pattern ở HTTP layer

WAF hữu ích khi traffic có đặc điểm có thể match bằng HTTP context: path, method, header, query, bot/risk signal hoặc signature. Nó phù hợp với exploit attempt, malformed request và một số HTTP flood có fingerprint rõ.

Tuy nhiên đừng kỳ vọng managed WAF rules tự chặn mọi DDoS. Một HTTP flood có thể chỉ là hàng triệu GET hợp lệ. Khi đó DDoS managed protection, rate limiting, bot controls và cache mới là phần quan trọng hơn. Case HTTP Flood làm quá tải WordPress/PHP-FPM minh họa cách request hợp lệ về hình thức vẫn có thể làm cạn worker và tài nguyên backend.

Nếu chưa rõ boundary, xem WAF là gì? và Layer 7 DDoS là gì?.

Bước 5: Rate-limit endpoint có semantics rõ

Rate limiting hiệu quả nhất khi endpoint có hành vi bình thường có thể dự đoán: login, password reset, search, API operation, form submission hoặc expensive report. Khi thiết kế threshold, nên nhớ cùng “100 request/phút” chưa chắc được đếm và enforce giống nhau giữa nền tảng; xem Cloudflare vs AWS WAF Rate Limiting để hiểu khác biệt về counting key, aggregation và window.

  • lấy threshold từ baseline, không copy con số từ tutorial;
  • tách GET/POST hoặc operation khác nhau;
  • nếu có thể, đếm failed attempts thay vì mọi request;
  • cân nhắc shared IP/NAT;
  • challenge trước block nếu browser flow phù hợp;
  • API/webhook cần action không phá machine traffic.

Rate limiting per-IP không đủ với botnet phân tán. Nếu attack phân tán, cần thêm bot score, fingerprint, session/API key hoặc DDoS detection tự động tùy nền tảng. Xem Bot Protection cho website và case Bot Traffic được kiểm soát bằng Rate Limiting để thấy cách kết hợp classification với scoped rate limit. Với WordPress login, dùng WAF + Rate Limiting cho wp-login.php để tách login abuse khỏi policy sitewide.

Bước 6: Giảm cost của endpoint ở application

Không phải mitigation nào cũng nằm ở edge. Nếu một request search nhỏ làm 30 query đắt, application đang có amplification nội bộ. Tối ưu endpoint giúp site chịu được cả traffic hợp lệ lẫn attack tốt hơn.

  • index database hợp lý;
  • cache query/result có thể cache;
  • giới hạn page size và expensive filter;
  • timeout upstream hợp lý;
  • queue job nặng thay vì xử lý đồng bộ;
  • protect search/report/API aggregation;
  • giảm plugin/middleware không cần thiết trên critical path.

Bước 7: Scale để mua thời gian, không coi là root fix duy nhất

Autoscaling hoặc tăng worker có thể giúp hấp thụ traffic, nhưng nếu attacker scale cùng bạn thì chi phí có thể tăng nhanh. Scale nên đi kèm mitigation để giảm traffic độc hại trước backend.

Với database hoặc stateful service, scale thường chậm hơn web tier. Vì vậy cần biết bottleneck thật thay vì chỉ tăng số web server.

Mitigation theo từng loại DDoS

AttackControl ưu tiênControl bổ sung
Volumetric floodUpstream/CDN/DDoS network protectionOrigin firewall, provider escalation
SYN/protocol floodNetwork DDoS protection, load balancerConnection tuning, SYN protection
HTTP floodHTTP DDoS protectionWAF, rate limit, bot control
Cache-bustingHTTP DDoS protection + cache strategyQuery normalization, WAF/rate limit
Login abuseRate limit + MFAWAF/bot challenge
Origin bypassOrigin protectionmTLS, firewall, new origin IP

Runbook khi DDoS đang diễn ra

  1. Xác nhận impact và layer bị nghẽn.
  2. Kiểm tra edge/CDN có đang proxy đúng traffic không.
  3. Xác minh origin không bị đánh trực tiếp.
  4. Nhóm attack theo host/path/method/source/fingerprint.
  5. Giữ managed DDoS protection ở trạng thái phù hợp.
  6. Thêm mitigation hẹp: rate limit/challenge/WAF rule nếu có evidence.
  7. Tăng cache cho nội dung an toàn nếu giúp giảm origin load.
  8. Liên hệ provider/upstream nếu bandwidth hoặc network edge bị bão hòa.
  9. Read-back user impact, 5xx, latency, origin RPS.
  10. Ghi timeline và change để rollback/postmortem.

Vận hành incident an toàn

Không thay đổi quá nhiều control cùng lúc

Trong incident dễ có xu hướng bật country block, tăng WAF sensitivity, hạ rate limit và sửa cache cùng lúc. Điều này làm khó xác định thay đổi nào thực sự hiệu quả hoặc gây false positive.

Ưu tiên change nhỏ, có snapshot, read-back và rollback. Nếu cần emergency action rộng, ghi rõ lý do và đặt review/expiry sau incident. Sau khi traffic ổn định, đưa rule, exception, rate-limit và origin policy vào WAF Maintenance Checklist để gỡ emergency rule và kiểm tra configuration drift.

Metric cần dashboard trước khi có incident

  • network bps/pps;
  • edge RPS;
  • origin RPS;
  • cache hit ratio;
  • top host/path/method;
  • WAF/DDoS action count;
  • latency p95/p99;
  • 4xx/5xx;
  • PHP/app worker utilization;
  • database connections/query latency;
  • business metric như login/checkout/API success.

Chuẩn bị contact và quyền thay đổi trước incident

DDoS response thường thất bại vì thiếu access hoặc không biết ai gọi provider. Runbook nên có:

  • CDN/DDoS provider account owner;
  • hosting/upstream escalation contact;
  • quyền chỉnh WAF/rate-limit/firewall;
  • rollback owner;
  • status communication owner;
  • cách lấy log trong attack window;
  • mốc nào cần chuyển incident severity cao hơn.

Sai lầm thường gặp

  • chỉ tăng server mà không giảm traffic độc hại;
  • chỉ block IP trong botnet phân tán;
  • origin vẫn public dù đã dùng CDN;
  • rate limit sitewide không có baseline;
  • challenge API/webhook;
  • cache nhầm personalized content;
  • tắt DDoS managed protection vì false positive mà không tune scope;
  • không biết provider/upstream contact khi incident xảy ra;
  • không read-back sau mỗi mitigation.

Checklist kiến trúc chống DDoS

  • HTTP traffic có đi qua CDN/DDoS edge?
  • Origin có chặn direct Internet access?
  • DDoS protection L3/4 và L7 đang hoạt động?
  • Cache strategy đã được kiểm tra?
  • Endpoint đắt đã có rate limit?
  • WAF có rule/managed protection phù hợp?
  • API/webhook có exception đúng cách?
  • Dashboard có edge + origin metric?
  • Có rollback và escalation contact?
  • Đã diễn tập incident chưa?

Kết luận

Giảm thiểu DDoS hiệu quả là bài toán kiến trúc nhiều lớp. CDN/DDoS protection phải hấp thụ traffic trước bottleneck, WAF/rate limit giảm HTTP abuse, cache giảm origin work và origin protection bảo đảm attacker không bỏ qua toàn bộ edge.

Quan trọng nhất là biết mỗi control đang giải quyết loại resource exhaustion nào và xác minh hiệu quả bằng metric sau từng thay đổi. Không có một rule hay một threshold duy nhất phù hợp mọi website.

Nguồn tham khảo

◇
Cần hỗ trợ kiểm tra và xử lý website?Đội ngũ SecureWebOps sẵn sàng hỗ trợ theo phạm vi phù hợp.
Liên hệ ngay →
Đoàn Trình Dục
Về tác giả Đoàn Trình Dục TD Digital · Website Operations & Security

Đoàn Trình Dục là tác giả nội dung trên SecureWebOps. Các bài viết tập trung vào bảo mật WordPress, giám sát an ninh website, malware/backdoor, hardening, backup/recovery và Incident Response theo hướng thực hành, có bước kiểm tra, bằng chứng, validation và rollback khi phù hợp.

Xem hồ sơ tác giả →