Nội dung
Mở đầu :
Bị tấn công từ sáng đến chiều suốt 2 tháng liền khiến website của mình ngắc ngoải
Mọi người trên mạng hướng dẫn sử dụng CloudFlare đơn giản quá nên VPSTTT xin phép chia sẻ các bước chống DDOS bằng CLoudFlare mà VPSTTT đã thao tác
VPSTTT sẽ diễn đạt cách “cơm gạo” nhất để khách hàng chỉ đọc và sử dụng thôi, khỏi phải trình bày cao siêu.
CloudFlare (CF) là gì , cấu hình sử dụng DNS của cloudflare như thế nào thì VPSTTT không đề cập vì đầy rẫy trên mạng rồi, mình chỉ liệt kê các công dụng chính sau:
– Bạn sẽ ẩn được địa chỉ IP thực của server khi sử dụng CloudFlare, điều này rất quan trọng vì ddos-er sẽ không thể biết được địa chỉ IP thực của server , như vậy sẽ loại trừ được khả năng bị ddos qua IP, chỉ còn lại trường hợp bị ddos qua tên miền.
– CloudFlare cung cấp công cụ tường lửa rất hiệu quả . Với gói Free mặc định theo mình là dùng quá ổn.
Lưu ý : Việc sử dụng cloudflare làm proxy trung gian dẫn tới việc check access log (trên apache hoặc nginx ) sẽ hiển thị toàn là IP của CloudFlare (không phải IP thực của Client) , vì vậy các bạn nên tham khảo bài này , để CF trả lại IP thực của Client khi bạn check access log , điều này sẽ rất hữu ích trong quá trình chống DDOS.
Chống DDOS bằng chức năng “Under Attack Mode”
Để kích hoạt chức năng này , bạn chỉ cần vào Panel quản trị của CF và bật “Under Attack Mode”
Sau khi kích hoạt , Client truy cập website lần đầu tiên , trình duyệt sẽ hiển thị như hình dưới
Trình duyệt sẽ hiển thì bước check này trong 5s, sau đó sẽ cho phép truy cập vào website .
Cá nhân VPSTTT thấy chức năng này chỉ lọc được mấy thánh auto F5, ddos quy mô nhỏ, hạn chế được ddos-er newbie, tinh ý 1 chút, chỉ cần để độ trễ lớn hơn 5s để vượt qua bước check này, sau đó ddos là toang.
Trên mạng chỉ thấy các bro hướng dẫn tới bước này .
Thời gian đầu , khi ddos-er chỉ sử dụng 1 vài IP riêng lẻ và vượt qua bước check 5s, thì VPSTTT có thể check access log và block IP bằng tay qua chức năng Firewall của CF
Cách này khá bị động khi dịch vụ có dấu hiệu bị gián đoạn thì VPSTTT mới xử lý, và căn bản do VPSTTT cũng không quản lý được hết tất cả.
Dùng cách này được 1 thời gian, thì các cháu ddos-er nản nên không xài IP riêng lẻ nữa, mà chuyển sang sử dụng nhiều IP hơn, ngồi block IP bằng tay style nông dân không nổi, chức năng “Under Attack Mode” coi như phế, vì vậy VPSTTT không dùng nữa mà chuyển qua cách bên dưới.
Chống DDOS bằng Firewall Rules
CloudFlare cung cấp Firewall Rules (bộ quy tắc tường lửa) khá chặt chẽ và cực kỳ hiệu quả
Để truy cập chức năng này bạn có thể tham khảo hình bên dưới.
Với gói CF free, chỉ cho phép tạo được 5 Firewall Rules, theo VPSTTT là quá đủ.
Phân tích 1 chút, đa phần đều nguồn ddos là IP nước ngoài, website của VPSTTT là content Tiếng Việt, việc cho phép các IP nước ngoài truy cập là không cần thiết, nvì vậy VPSTTT set rule block toàn bộ IP nước ngoài, hé hé
Thêm nữa, 1 số bot thu thập index của google, yandex…. đều có IP là nước ngoài, nên VPSTTT set thêm rule cho phép IP của bot đi qua, các bạn có thể tham khảo hình dưới.
Các bạn chỉ việc Deploy và đợi khoảng 1′ để CF kích hoạt rule này
Như vậy là bái bái các cháu ddos-er =))
Tuy nhiên được 1 thời gian, các cháu ddos-er cũng nhận ra điều này, vì vậy đã chuyển sang dùng nhiều dải IP của Việt Nam để tấn công, website của mình lại ngắc ngoải 1 lần nữa.
Lần này VPSTTT set thêm rule lọc IP bắt nguồn từ VN như sau:
Việc chọn “Challenge (Captcha), có nghĩa rằng khi 1 IP bắt nguồn từ VN truy cập lần đầu tiên, sẽ phải vượt qua bước xác thực robot như hình dưới :
Như vậy, chỉ khi nào các cháu ddos-er lập trình được AI vượt qua được bước này thì mới lo ngại
Đến đây, VPSTTT lại bái bai các ddos-er 1 lần nữa , website hoạt động ổn định sau khi set 2 rule này.
Ngoài ra VPSTTT điều chỉnh thêm cấu hình phần “Challenge Passage” như hình dưới :
Mục đích của chức năng này là, với IP client vượt qua bước check robot, giao diện check robot sẽ kích hoạt trở lại sau 1 khoảng thời gian VPSTTT thiết lập, ở đây VPSTTT set 1 tuần để tránh gây khó chịu với người dùng thật.