- Trang chủ
- ›
- Hướng dẫn sử dụng Varnish để Chống DDoS
Hướng dẫn sử dụng Varnish để Chống DDoS
Chúng ta chỉ thường dùng Varnish để làm cache front end nhưng sẽ không biết nó còn có một tính năng khác, đó là sử dụng Varnish để Chống DDoS. Để thực hiện được chúng ta cùng theo dõi một ví dụ cụ thể sau
Ngay khi kết nối SSH, kiểm tra file access.log thì thấy ngay server đang bị DDoS.
Một loạt request có cách thức giống nhau, cùng một user-agent, IP khác nhau.
Nếu sử dụng CSF để block từng IP thì không được vì quá nhiều IP. May thay các request này đều có một điểm chung là user-agent trong header giống nhau, như vậy có thể block lại được toàn bộ những request này dễ dàng.
Do CSF không hỗ trợ block theo header, nên mình phải sử dụng Varnish để filter riêng những request này ra và trả về lỗi 403. Với một đoạn code ngắn bên dưới để trong block sub vcl_recv { … }, đã khống chế hoàn toàn được vụ DDoS.
sub vcl_recv {
if (req.http.user-agent ~ “Hotbar”) {
return(synth(403,”Not allowed.”));
}
Ý nghĩa của đoạn code trên là filter những request có user-agent chứa Hotbar, nếu có thì trả lại lỗi 403, ngược lại thì pass cho Nginx webserver xử lý.
(Tham khảo tài liệu Học VPS)
Xin chân thành cảm ơn mọi người đã theo dõi!