Chống DDos với Cloudflare – Cách cấu hình Firewall Rule chi tiết

82
dieu-khien-tuong-lua

DDOS là gì

DDOS có tên đầy đủ là Distributed Denial Of Service – là một biến thể của loại tấn công DOS. Đây là một hình thức tấn công từ chối dịch vụ phân tán, nó làm cho website người bị tấn công không thể sử dụng một dịch vụ nào đó và có thể khiến bạn không thể kết nối với một dịch vụ internet. Hoặc nó có thể làm ngưng hoạt động của một chiếc máy tính, một mạng lan nội bộ hoặc thậm chí là cả một hệ thống mạng.Tấn công DDOS mạnh hơn DOS rất nhiều, điểm mạnh của hình thức này đó là nó được phân tán từ nhiều dải IP khác nhau, chính vì thế người bị tấn công sẽ rất khó phát hiện để ngăn chặn được.

Còn Cloudflare là gì chắc các bạn làm web đều biết rồi và cũng có rất nhiều bài hướng dẫn đăng ký trên google rồi nên mình bỏ qua nhé.

Cách nhận biết khi bị DDOS

Hôm trước một ngày đẹp trời mình vào web viết bài và thấy cứ quay hoài không load được. Xong vào hosting kiểm tra thấy CPU và RAM đều full đỏ lè nên nhờ kỹ thuật check họ nói là có rất nhiều request đến từ các quốc gia khác nhau.

ddos-cpu-ram-full

Đây là cách nhận biết dễ dàng nhất và bạn có thể kiểm tra qua CloudFlare như hình dưới. Bình thường web mình có khoảng hơn 10 nghìn request là nhiều lắm rồi mà hôm đấy lên tới 150 triệu.

many request

Khi bị DDOS cần làm gì

Đầu tiên là bật chống DDOS của CloudFlare nó có tên là Under Attack Mode

Under Attack Mode

Trình duyệt sẽ hiển thì bước check này trong 2-3s , sau đó sẽ cho phép truy cập vào website. Mình 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, sử dụng độ trễ lớn hơn 5s thì web bạn cũng vẫn toang. Mà đa số mọi người chỉ hướng dẫn đến cái bước này và mình bật lên chả thấy tác dụng méo gì hết.

Under Attack Mode 2

Sau khi bật cái này vẫn chưa hết được đâu đến bước kiểm tra Fire Wall và cấu hình chặn nhé (Vẫn phải bật cái bước này rồi mới cấu hình Firewall được nhé)

Cấu hình Firewall Rule cho CloudFlare khi bị DDOS

Chặn quốc gia

Chặn từng quốc gia

Vào Firewall chọn OverView để xem mình bị tấn công từ quốc gia nào nhiều mình sẽ block quốc gia đó

Over View Firewall

Tiếp theo xem log xác định quốc gia cần chặn

Over View Firewall 2

Vào Phần Firewall Rule > Create a Firewall Rule

Block Country Firewall Rule

  • Ở phần Field > chọn Country, Operator > Is in (là trong quốc gia), Value thì các bạn cứ chọn các quốc gia mà mình bị IP của họ tấn công.
  • Chọn Action là Block (chặn)

Chặn tất cả và chỉ chấp nhận truy cập từ quốc gia của mình

Ví dụ bạn bị tấn công từ tất cả các nước trên thế giới, thì cái bước trên là quá mất thời gian. Đây là cách cấu hình chỉ chấp nhận truy cập từ Việt Nam còn các nước khác Block hết sạch

It not in my country

  • Ở phần Field > chọn Country, Operator > Is in not (là không bao gồm), Value thì các bạn chọn quốc gia của mình (quốc gia trang web hướng đến và có nhiều truy cập nhất)
  • Chọn Action là Block (chặn)
  • Cái này vẫn phải cho bot của google hoặc là mấy con bot đi qua nếu không mất hết index và tụt hạng nên bạn ấn And > Known Bots còn không cần bao gồm ở đâu nên tắt

Chặn IP

Tiếp theo là chặn IP, vì nhiều quốc gia có tấn công với ip số lượng ít không nên block hết chúng ta sẽ mất kha khá traffic

Để tìm được IP đó chúng ta vào phần OverView > Add filter > Action > Does not equal > Block (có nghĩa là tìm các request không bao gồm cái đã block)

IP tracking Firewall

  • Sau khi tìm được các IP lại vào Phần Firewall Rule > Create a Firewall Rule (tạo thêm rule nữa)
  • Ở phần Field > chọn IP Source Adress, Operator > Is in, Value thì các bạn cứ chọn các IP của họ đang tấn công.
  • Chọn Action là Block (chặn)

Block ip

Bật xác nhận Captcha

Đây là tình huống bạn nhận tấn công từ trong nước và truy cập chủ yếu của bạn cũng ở đây nên không thể chặn luôn được sẽ toang web mất hehe. Nên chúng ta sẽ bật bước Captcha cho người truy cập trong nước

Việc chọn “Challenge (Captcha)”, có nghĩa là 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 :

Captcha Firewall 2

  • Các bạn lại vào Phần Firewall Rule > Create a Firewall Rule (tạo thêm rule nữa)
  • Ở phần Field > chọn Country, Operator > Is in, Value > Việt Nam
  • Ở phần Choose an Action > Challenge (Captcha)

Captcha Firewall

Vậy là ổn cần thêm một bước nữa để lưu 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 do mình thiết lập, và mình set 1 tuần để tránh gây khó chịu với người dùng thật.

Challenge Captcha 1 week

Đã xong vậy là ok liền các thông số CPU RAM của mình đã trở lại bình thường. Web thêm bước Captcha thì chắc chắn người dùng sẽ bị khó chịu và giảm truy cập cái này là không thể tránh. Web mình mất khoảng 30-40% lượng người truy cập khá căng hehe

Sau khi hết bị DDOS các bạn chỉ cần tắt cái Under Attack Mode và Off các Firewall Rule lúc nào cần lại bật lên chứ không cần xoá hẳn.