DDoS (Distributed Denial of Service) là kiểu tấn công từ chối dịch vụ phân tán: kẻ tấn công điều khiển rất nhiều thiết bị cùng gửi truy cập rác để làm nghẽn đường truyền hoặc cạn tài nguyên máy chủ. Hậu quả là khách thật không vào được website. Chống DDoS hiệu quả không dựa vào một công cụ duy nhất mà cần nhiều lớp, từ hạ tầng mạng của nhà cung cấp đến cấu hình trên chính website.
Hình dung cửa hàng của bạn bị hàng nghìn người lạ kéo đến đứng chắn cửa, không mua gì. Khách thật không chen vào được. Bạn không thể đuổi từng người, vì họ quá đông và liên tục thay mặt mới. Đó là DDoS.
Các kiểu tấn công DDoS phổ biến
Tấn công tầng mạng và tầng giao vận (L3/L4)
Mục tiêu là làm đầy đường ống. Kẻ tấn công gửi khối lượng gói tin khổng lồ, ví dụ UDP flood, hoặc khai thác cách thiết lập kết nối như SYN flood. Kiểu này đo bằng Gbps hoặc số gói tin mỗi giây. Một VPS đơn lẻ không thể tự chống nếu lưu lượng tấn công lớn hơn cổng mạng của nó.
Tấn công khuếch đại
Kẻ tấn công gửi yêu cầu nhỏ tới các máy chủ công khai cấu hình sai, giả mạo địa chỉ nguồn là IP của bạn. Các máy chủ đó trả về phản hồi lớn hơn nhiều lần, dồn hết vào bạn. DNS, NTP, memcached từng bị lợi dụng theo cách này.
Tấn công tầng ứng dụng (L7)
Thay vì làm đầy ống, kẻ tấn công gửi các request HTTP trông như thật: mở trang tìm kiếm, thêm giỏ hàng, đăng nhập. Mỗi request bắt máy chủ chạy PHP, truy vấn cơ sở dữ liệu. Lưu lượng có thể không lớn, nhưng đủ làm cạn CPU và RAM. Kiểu này khó phân biệt với khách thật nhất.
Bảng tóm tắt
| Kiểu tấn công | Đánh vào đâu | Dấu hiệu | Lớp phòng thủ chính |
|---|---|---|---|
| L3/L4 lưu lượng lớn | Đường truyền, thiết bị mạng | Mạng nghẽn, ping mất gói, toàn máy chủ không truy cập được | Hạ tầng lọc của nhà cung cấp, trung tâm lọc sạch |
| Khuếch đại | Đường truyền | Lưu lượng UDP bất thường từ nhiều nguồn | Lọc ở biên mạng của nhà cung cấp |
| L7 HTTP | CPU, RAM, cơ sở dữ liệu | Tải máy chủ tăng vọt, log đầy request lặp lại | Proxy hoặc CDN có WAF, giới hạn tốc độ, cache |
Các lớp chống DDoS khi thuê hosting, VPS
Lớp 1: hạ tầng mạng của nhà cung cấp
Đây là lớp quan trọng nhất với tấn công lưu lượng lớn. Nhà cung cấp có thiết bị phát hiện và lọc ở biên mạng, hoặc chuyển lưu lượng qua trung tâm lọc sạch (scrubbing center). Lưu lượng rác bị loại, lưu lượng sạch đi tiếp tới máy chủ của bạn.
Nếu không có lớp này, hoặc cuộc tấn công vượt ngưỡng, nhà cung cấp thường dùng null route: chặn toàn bộ lưu lượng tới IP bị tấn công để bảo vệ khách khác. Bạn không bị đánh nữa, nhưng cũng không ai vào được website.
Lớp 2: proxy ngược hoặc CDN có chống DDoS
Đặt website sau một dịch vụ proxy hoặc CDN. Khách truy cập qua mạng lưới lớn của họ, máy chủ gốc được giấu đi. Lớp này hấp thụ tấn công lưu lượng lớn và có tường lửa ứng dụng web (WAF), kiểm tra trình duyệt, giới hạn tốc độ để lọc tấn công L7.
Lớp 3: tường lửa trên máy chủ
Trên VPS, bạn tự cấu hình tường lửa như nftables, iptables, ufw. Chỉ mở cổng cần thiết. Nếu dùng proxy, chỉ cho phép dải IP của proxy truy cập cổng web. Công cụ như Fail2ban giúp chặn IP có hành vi lạm dụng lặp lại.
Lưu ý: tường lửa trên máy chủ không cứu được khi đường ống đã đầy. Nó chỉ hiệu quả với tấn công nhỏ và tấn công ứng dụng.
Lớp 4: cấu hình ứng dụng
- Bật cache trang để request lặp lại không chạm cơ sở dữ liệu.
- Giới hạn tốc độ request mỗi IP, ví dụ với
limit_reqtrên Nginx. - Bảo vệ các trang tốn tài nguyên: tìm kiếm, đăng nhập, form,
xmlrpc.phpcủa WordPress. - Thêm CAPTCHA cho form khi cần.
Đọc cam kết "Anti DDoS" thế nào
Dòng chữ "Chống DDoS" trên bảng giá có thể mang nhiều nghĩa. Hãy hỏi:
- Chống ở tầng nào: chỉ L3/L4, hay có cả L7?
- Ngưỡng bảo vệ là bao nhiêu Gbps hoặc gói tin mỗi giây?
- Lọc luôn bật hay chỉ kích hoạt khi phát hiện tấn công? Thời gian kích hoạt bao lâu?
- Vượt ngưỡng thì xử lý thế nào: null route bao lâu, có tính thêm phí không?
- Có bảng điều khiển hoặc thông báo khi bị tấn công không?
- SLA có loại trừ thời gian ngừng do DDoS không?
Câu trả lời rõ ràng là dấu hiệu nhà cung cấp thật sự có hạ tầng. Câu trả lời mơ hồ nên được hiểu là mức bảo vệ cơ bản.
Việc bạn tự làm được ngay
- Giấu IP gốc: không trỏ bản ghi DNS phụ trực tiếp về máy chủ, không gửi email từ IP máy chủ web nếu đã dùng proxy.
- Đổi IP sau khi đặt proxy: IP cũ có thể đã nằm trong dữ liệu lịch sử DNS.
- Theo dõi: bật cảnh báo khi CPU, băng thông, số kết nối tăng bất thường.
- Chuẩn bị kịch bản: biết bật chế độ chống tấn công trên proxy ở đâu, liên hệ hỗ trợ bằng kênh nào.
- Không trả tiền chuộc: một số kẻ tấn công gửi thư đòi tiền để dừng. Trả tiền không đảm bảo họ dừng, và đánh dấu bạn là mục tiêu dễ.
Nên chọn thế nào
- Blog, website giới thiệu: hosting có chống DDoS cơ bản cộng với một proxy hoặc CDN miễn phí là đủ cho phần lớn tình huống.
- Shop online, website có doanh thu: đặt sau proxy có WAF, bật cache, giới hạn tốc độ. Hỏi nhà cung cấp về ngưỡng lọc và chính sách null route.
- Game server, dịch vụ không chạy HTTP: proxy web không giúp được. Cần VPS hoặc máy chủ có lọc L3/L4 chuyên cho giao thức của bạn.
- Website hay bị nhắm tới (cá cược, chính trị, cạnh tranh gay gắt): cần gói chống DDoS chuyên dụng có SLA rõ ràng. Đây là chi phí bắt buộc, không phải tùy chọn.
Không có bức tường nào cao vô hạn. Mục tiêu thực tế là làm cho việc tấn công bạn tốn kém hơn lợi ích kẻ tấn công thu được, và rút ngắn thời gian bạn bị sập.