August 21, 2015

Chống DDoS với Varnish

Thông thường Varnish sử dụng chính để làm cache front end, tuy nhiên bạn hoàn toàn có thể cấu hình sử dụng để chống DDoS.
Varnish Cache
Hướng dẫn này viết từ trường hợp thực tế, mình đã chống DDoS thành công cho một người bạn. Nếu bạn cũng đang đau đầu về việc bị DDoS, hãy tham khảo bài viết này biết đâu có thể áp dụng được.
Ngay khi kết nối SSH, mình kiểm tra file access.log thì thấy ngay đúng là server đang bị DDoS.
DDoS access.log
Một loạt request có cách thức giống nhau, cùng một user-agent, IP khác nhau. Tính sơ sơ cũng phải đến cả trăm request mỗi giây, hỏi sao server không bị overload.
Nếu sử dụng CSF để block từng IP thì không ổn, 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ề Error 403. Với một đoạn code ngắn bên dưới để trong block sub vcl_recv { ... }, mình đã 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ý.
nguồn: http://hocvps.com/chong-ddos-voi-varnish/

Related Posts:

  • Alert load on your VPS/Server - Cảnh báo VPS/Server quá tảiChia sẻ 1 scripts rất tiện ích cho các bạn đang sử dụng VPS/Server. Đối với những bạn mới tập tành tìm hiểu về VPS/Server thì việc kiểm tra nó thường xuyên rất là mệt.Chức năng mã nguồn là sẽ thông báo email cho bạn về thông … Read More
  • Chống DDoS với Varnish Thông thường Varnish sử dụng chính để làm cache front end, tuy nhiên bạn hoàn toàn có thể cấu hình sử dụng để chống DDoS. Hướng dẫn này viết từ trường hợp thực tế, mình đã chống DDoS thành công cho một… Read More
  • Backup và restore website trên VPS thông qua dòng lệnh Command line Backup và restore website trên VPS với putty và winscp Chào mừng các bạn đến với vpstut.info Trong tut này mình sẽ hướng dẫn các bạn các backup và restore code + data cho website với putty và winscp. Chún… Read More
  • Hướng dẫn reset password cho VPS Linux Có thể vì 1 nguyên nhân nào đó, chủ quan hay khách quan khiến thông tin quản trị hiện tại của bạn không kết nối SSH đến server VPS linux đặt tại hệ thống của chúng tôi. Hoặc bạn không thể nhớ chính xác thông tin q… Read More
  • Tạo crontab tự động bật lại MySQL khi bị stop trên VPS/Server Với những VPS có RAM ít và bạn không rõ về config MySQL dẫn tới hiện tượng thi thoảng website quá tải và bị lỗi không thể kết nối tới database. Bài viết này sẽ hướng dẫn bạn cách khắc phục lỗi chết MySQL và tạo crontab&… Read More

0 comments:

Post a Comment