DDoS (Distributed Denial of Service) là một kiểu tấn công làm gián đoạn dịch vụ bằng cách tạo ra lượng traffic lớn hoặc tạo ra workload bất thường, khiến hệ thống không còn đủ tài nguyên để phục vụ traffic hợp lệ.
Trong DevOps và SRE, DDoS quan trọng vì mục tiêu chính của nó là availability, và nó có thể đánh vào nhiều lớp như bandwidth, network stack, Load balancer, hoặc application layer, khiến downtime tăng và service recovery khó hơn nếu bạn không có guardrail và runbook rõ ràng.
Ví dụ: Một service public bị HTTP flood vào một endpoint đắt, CPU tăng cao, queue tăng, p95 latency tăng mạnh và 5xx tăng, khiến user hợp lệ không truy cập được dù hạ tầng vẫn còn hoạt động một phần.
DDoS không chỉ là traffic nhiều. DDoS là bài toán về bottleneck, capacity, protection layer, và khả năng phân biệt traffic hợp lệ trong production.
DDoS cho biết điều gì?
DDoS giúp bạn nhìn rõ một nhóm rủi ro cốt lõi trong vận hành:
- Rủi ro mất availability do saturation ở network, Load balancer, hoặc application
- Rủi ro tăng latency và tăng error rate dù hệ thống không hỏng theo nghĩa truyền thống
- Rủi ro lan rộng do shared dependency như NAT gateway, upstream bandwidth, hoặc shared cluster
- Rủi ro cost tăng vì autoscaling và egress tăng trong lúc bị tấn công
Tuy nhiên, cần lưu ý: DDoS đôi khi được dùng như một màn che để thực hiện các hành vi khác như credential abuse hoặc probing, nên incident response cần nhìn rộng hơn một dấu hiệu đơn lẻ.
DDoS khác DoS ra sao?
DoS và DDoS giống nhau ở mục tiêu là làm dịch vụ không phục vụ được traffic hợp lệ, nhưng khác nhau ở nguồn tấn công:
- DoS: traffic hoặc workload bất thường đến từ một nguồn hoặc một nhóm nguồn nhỏ
- DDoS: traffic đến từ nhiều nguồn phân tán, thường khó chặn bằng IP blocking đơn giản
Trong production, DDoS thường khó hơn vì bạn phải xử lý ở nhiều lớp và cần upstream protection như CDN, Anycast, hoặc scrubbing.
Các loại DDoS phổ biến
DDoS thường được phân theo lớp tấn công và loại tài nguyên bị đánh vào:
- Volumetric: đẩy bandwidth lên rất cao, làm nghẽn đường truyền hoặc upstream link
- Protocol: đánh vào network stack, connection tracking, hoặc state của Load balancer, ví dụ SYN flood
- Application layer: đánh vào endpoint hoặc workflow đắt, ví dụ HTTP flood, login abuse, search endpoint abuse
Trong vận hành thực tế, application layer DDoS thường nguy hiểm vì nó giống traffic hợp lệ hơn và có thể đánh trúng endpoint có cost cao.
DDoS thường nhắm vào đâu?
Các điểm hay bị nhắm trong production:
- Bandwidth và egress, đặc biệt khi service public và không có CDN
- Load balancer capacity và connection limit
- Lớp state như connection tracking, SYN backlog, hoặc connection pool
- Application hotspots như endpoint đắt, query nặng, hoặc dependency chậm
- Shared dependency như DNS resolver, NAT gateway, hoặc upstream API
Nếu bạn chỉ nhìn tổng RPS mà không breakdown theo endpoint và status code, bạn có thể bỏ lỡ endpoint đang bị đánh.
DDoS trong production: dấu hiệu và cách đọc
Một số dấu hiệu thường gặp:
- RPS tăng đột biến, đặc biệt tăng ở một nhóm endpoint hoặc path
- p95 latency tăng nhanh dù code không đổi
- 5xx tăng hoặc timeout tăng
- CPU tăng, network throughput tăng, hoặc packet loss tăng
- Load balancer metrics xấu đi, ví dụ connection tăng bất thường
Gợi ý thực tế: luôn breakdown theo endpoint, status code, và nếu có thể thì theo region và ASN để nhìn ra pattern traffic.
Cách hiểu DDoS theo kiểu DevOps
Một số nguyên tắc cơ bản để thiết kế bảo mật:
- Đặt protection càng gần edge càng tốt, ưu tiên CDN và Anycast cho traffic public
- Luôn có rate limit theo client, theo token, theo endpoint, đặc biệt cho endpoint quan trọng
- Tách endpoint nhạy cảm ra khỏi đường chính, ví dụ tách admin path, tách internal API
- Chuẩn hóa observability để triage nhanh, breakdown theo endpoint và status code
- Chuẩn bị phương án degrade có kiểm soát, ví dụ trả response nhẹ hơn, giảm feature, hoặc bật cache
Ví dụ:
- Một endpoint search không có caching và không có rate limit rất dễ bị HTTP flood và kéo CPU lên nhanh.
- Nếu bạn chỉ dựa vào autoscaling mà không có rate limit, attacker có thể kéo scale lên và kéo bill lên, trong khi user vẫn bị timeout.
Những yếu tố làm DDoS gây thiệt hại lớn
Một số nguyên nhân phổ biến làm incident nặng hơn:
- Không có CDN hoặc edge protection cho traffic public
- Không có rate limit theo endpoint, đặc biệt cho endpoint tốn CPU hoặc tốn DB
- Không có quota theo tenant hoặc theo API key, dẫn tới noisy neighbor
- Load balancer hoặc gateway có connection limit thấp, dễ bị state exhaustion
- Không có runbook rõ ràng, on-call mất thời gian triage và thử sai
- Không có cơ chế bật chế độ degrade nhanh, ví dụ switch cache mode hoặc block pattern
Vì vậy, DDoS mitigation hiệu quả thường là kết hợp nhiều lớp, edge protection, rate limit, và triage theo pattern.
DDoS được dùng để làm gì trong DevOps?
Ở mức cơ bản, hiểu DDoS giúp bạn:
- Thiết kế guardrail cho traffic public như rate limit, WAF, caching
- Thiết kế kiến trúc giảm blast radius, tách public traffic và internal traffic
- Chuẩn hóa incident response để containment nhanh và service recovery có kiểm soát
- Kiểm soát cost trong lúc incident, tránh autoscaling bị kéo quá mức
Checklist DDoS cho production
- Có CDN hoặc edge protection cho domain public nếu phù hợp
- Có rate limit theo endpoint, theo token, theo tenant, đặc biệt với endpoint quan trọng
- Có WAF rule cho các pattern phổ biến và có cơ chế bật nhanh khi incident
- Có dashboard breakdown theo endpoint và status code để triage nhanh
- Có alerting cho traffic spike, latency spike, 5xx spike, và Load balancer saturation
- Có runbook rõ cho triage, containment, và liên hệ upstream provider nếu cần scrubbing
- Có kế hoạch degrade có kiểm soát để bảo vệ core path của user
Kết luận
DDoS là tấn công làm gián đoạn dịch vụ bằng cách tạo traffic hoặc workload bất thường, khiến hệ thống không còn đủ tài nguyên để phục vụ traffic hợp lệ.
Để giảm rủi ro DDoS trong production, bạn cần nhiều lớp bảo vệ như CDN và Anycast ở edge, rate limit theo endpoint, WAF rule theo pattern, và runbook triage rõ ràng để containment nhanh và service recovery ổn định.







