BLOG

Thiết lập Rulers Chống DDOS với Cloudflare

Firefly 19.04.2021
218 người theo dõi 2010 bình luận 1293 bài chia sẻ

Thiết lập Rulers Chống DDOS với Cloudflare

Như đã chia sẻ trong bài viết trước đó, Website của Tôi bị tấn công DDOS nặng nề khiến cho hầu hết các nhà cung cấp dịch vụ tại Việt Nam phải từ chối phục vụ và hoàn tiền.

Hôm nay, Sau hơn 30 ngày và Website vẫn sống khoẻ cùng với việc theo dõi khối lượng tấn công tăng vọt trên Cloudflare nhưng Website vẫn ổn định và CPU chỉ ở mức dưới 5%, Tôi viết bài này chia sẻ với các bạn chút hiểu biết nông cạn mà Tôi đã ứng dụng để chống lại đợt tấn công quy mô lớn này với hơn 9 tỷ request trong chưa tới 30 ngày và trong 2 ngày gần nhất, mỗi ngày lượng request đã tăng gấp đôi, 500tr request mỗi ngày.

Tổng dữ liệu qua Cloudflare gánh là 17TB.

1. CLOUDFLARE PRO

Tôi phải mua Cloudflare Pro $20/tháng để có thêm các tính năng chống DDOS và Web Application Firewall với nhiều Ruler mà Cloudflare thiết lập cho WordPress và các kiểu tấn công DDOS khác.

(Hình số 2)

----

Các Ruler riêng

Tôi sử dụng tổng cộng 9 Ruler như hình ảnh số 03 các bạn có thể xem qua sau đó chúng ta tiếp tục với các Ruler Firewall cụ thể.

2. CHẶN TẤN CÔNG, KHÔNG ĐƯỢC CHẶN BOT TÌM KIẾM VÀ CÁC DỊCH VỤ BỔ TRỢ.

Tôi sử dụng WordPress vì vậy Jetpack là một phần không thể thiếu cùng với Sucuri, Wordfence và đặc biệt là các Bot tìm kiếm vì Website của tôi có thứ hạng rất cao trên Google

Chính vì vậy tôi cho phép các request từ dải IP của jetpack và các dịch vụ cần thiết được gửi thẳng đến Server mà không qua tường lửa để không làm gián đoạn dịch vụ.

Đặc biệt, Cloudflare có một Option là Know Bot, bạn phải bật luôn tính năng này để không chặn các công cụ tìm kiếm Index website làm giảm thứ hạng hoặc không xuất hiện trên kết quả tìm kiếm.

(Ảnh số 04)

3. CHẶN CÁC ASNS NGUY HIỂM

Khi phân tích các Request, Tôi nhận thấy các đợt tấn công đến từ 05 ASNs chủ lực bao gồm:

* AS4134 - CHINANET-BACKBONE - Tung Cẩu.


* AS14061 - DIGITALOCEAN-ASN Nhà cung cấp dịch vụ VPS lớn nhất nhì thế giới.


* AS53667 - PONYNET mạng Botnet nằm trong lòng nước Mẽo thiên đường


* AS396507 - EMERALD-ONION


* AS22773 - ASN-CXA-ALL-CCI-22773-RDC


Tại Việt Nam, Tôi thấy có 1 lượng tấn công rất lớn từ WEBICO VỚI ASNS LÀ AS135951 Tôi đã truy cập trang chủ và gửi liên hệ nhưng không được đơn vị này phản hồi.

Bạn có thể xem ảnh 05

4. CHẶN CÁC REQUEST VỚI RANDOM QUERY STRING TỪ VIỆT NAM

Khi quan sát, Tôi thấy các Ruler có thể sẽ bị bỏ qua nên quyết định tách Vietnam và các quốc gia ngoài Vietnam để thêm vào Ruler cho chắc cú. Chỗ này Tôi chưa có thời gian để Logic thêm nên sẽ cải thiện sau.

Tôi phân tích và nhận thấy các tấn công có một đặc điểm chung là sau đường dẫn tĩnh, thường được thêm vào một loạt các ký tự đặc biệt với đặc trưng:

* ?1


* ?2


* ?A


* ?a


* ?b


* ?B


......

Nên Tôi đã thêm nó vào thành một Ruler và dùng điều kiện hoặc - Và trong Cloudflare để setup như hình số 06

Lưu ý trong phần này, bạn không được chặn một số Random Query String bắt đầu với các tham số sau:

* ?a : Nếu dùng AMP của Google thì cuối url có ?amp


* ?f vì các truy cập từ Facebook cũng sinh một loạt các query string ngẫu nhiên bắt đầu bằng ?fbid


* ?u: Vì các campain quảng cáo bắt đầu với ?utm


* ?s vì khi tìm kiếm, WordPress thường bắt đầu với ?s=


* ?p vì trong các url admin của Wordpress thường có tham số ?p như ?page hoặc ?post....


5. CHẶN REFERER TỪ CÁC NGUỒN LẠ

Khi phân tích Referer, Tôi nhận thấy rất lạ khi có những truy cập với Referer từ FBI, CIA, Whitehouse... Và nhiều nguồn vớ vẩn khác, nên Tôi chặn Referer Vietnam từ các nguồn này như hình số 07

Một số kiểu Referer điển hình các bạn sẽ thấy như hình 08

Lưu ý: Không được chặn Bing và Google vì đó là 2 nguồn chủ lực. Nhưng nếu referer từ các domain từ các quốc gia khác như google.com.ai, google.ai, google.ae... Thì đó chắc chắn là tấn công chứ không phải Bot.

Tôi không chặn Referer từ Google.comgoogle.com.vn còn lại cho mẹ nó vào chặn hết.

6. CHẶN REFERER TƯƠNG TỰ RULER 05 NHƯNG CHO CÁC QUỐC GIA KHÁC

Chắc bạn sẽ khó hiểu chỗ này, nhưng Tôi không thể chặn Việt Nam và không thể để ruler Challenge vì nó ảnh hưởng tới bạn đọc. Nên Tôi Allow Vietnam và Challenge các quốc gia khác, thành ra nếu Truy cập từ Vietnam có Referer bẩn như trên Cloudflare nó vẫn allow. Nên Tôi phải cho 1 Ruler riêng đặt lên trên Ruler này.

Bạn xem hình 09, Referer tương tự nhưng loại bỏ yếu tố quốc gia.

Trong phần này, ngoài các Referer, Tôi cho luôn cả các Random Query String tương tự mục 04.

7. BLOCK CÁC QUỐC GIA TẤN CÔNG MẠNH VÀ CHỦ YẾU LÀ SPAM

Các quốc gia nguy hiểm bị Tôi chặn vì thực tế cũng chẳng có truy cập từ đó mà nó tấn công thì vãi tè quá nên Block cho chắc cú.

Đứng đầu là China

Ấn Độ

Afghanistan

Indonesia

Ecuado

Iran

Iraq

Israel

Ảnh 10 bạn sẽ thấy cách Setup Ruler chính xác.

8. CHALLENGE VỚI CÁC QUỐC GIA KHÔNG PHẢI VIỆT NAM VÀ KHÔNG BỊ BLOCK

Tôi phải bật tường lửa và sẽ có 1 trang yêu cầu capcha với các quốc gia không phải Vietnam và không bị Block vì Tôi không thể rảnh mà thêm toàn bộ các quốc gia đó vào danh sách Block.

Ngoài ra, Tôi vẫn có truy cập tốt từ các quốc gia như Nhật, hàn, Pháp, Úc nên lựa chọn Challenge là tốt nhất. Sau khi vượt qua Challenge, User có khoảng 4 tiếng mới bị lại là một giải pháp tốt.

Bạn có thể xem Ruler ở ảnh 11.

9. CHỈ CHO PHÉP KẾT NỐI TCP QUA CỔNG 80 VÀ 443 THÔNG QUA CÁC IP ĐẾN TỪ CLOUDFLARE

Tôi đang sử dụng VPS tại Vultr và có một tính năng thú vị là Firewall với Option chỉ cho phép kết nối, request từ Cloudflare.

Tôi đã bật tính năng này và link Droplet với ruler Firewall.

Bạn có thể xem hình 12

Trên đây là toàn bộ chia sẻ của Tôi về việc sử dụng Cloudflare để phòng chống tấn công DDOS mà không nhất thiết phải bật chế độ Under Attack Mode của Cloudflare gây khó chịu cho người sử dụng.

Website cá nhân của Tôi là https://www.tohaitrieu.net các bạn có thể ghé thăm và chia sẻ cùng Tôi các phương pháp khác để phần nào giảm thiểu thiệt hại của các đợt tấn công DDOS.

Trong các bài viết sau, Tôi sẽ chia sẻ thêm các kiến thức có giới hạn trong tầm hiểu biết của Tôi về việc dò tìm và phát hiện Website WordPress bị hack một cách cơ bản.

9 Bình luận
  • Lucky_Luke

    Mấy hôm nay có bác tên Chan thử ddos vào máy nhà cung cấp hosting, vps của VN thì bảo là hầu như hẹo hết. Sáng nay có test thử với VNIS xong.

    • Firefly

      @Lucky_Luke tấn công bằng BOTNET thì đa phần tạch hết. Mình không rõ là bên các ncc dịch vụ đó họ chống như nào và liệu cách mình áp dụng có đỡ được không.


      Và mình thắc mắc là sao ông Chan đó không tấn công vào Cloudflare. Nếu Cloudlfare hẹo, nghĩa là mình cũng sẽ dính nếu bị. Nếu Cloudflare không việc gì, có nghĩa là có thể dùng cloudflare để chống lại đợt tấn công đó.

  • imHa

    Bên mình có dịch vụ dạng embed nhúng trên website khách hàng, nhưng thi thoảng bị spam. Có giải pháp nào ngon không nhể

  • thanhmo

    Dùng wordpress thì bác nên cài LEMP và dùng cache cho wordpress, nginx cũng lọc tương đối được kiểu tấn công từ cùng 1 IP.Trong tình huống tấn công này thì các botnet local kiểu như webico mới khó xử lý.Nhìn chung là wordpress sức chịu tải kém sẽ tốn nhiều tiền cho phần cứng, nếu là giải pháp cms của bọn em thì cloudflare free cache được hết không phải lo lắng.

  • Firefly

    Bài thứ ba nhờ ae góp ý thêm. Mình tối ưu hoá Website với tốc độ dưới 1 giây, giảm số Request xuống chỉ còn 1/3. Từ 65-70 request chỉ còn 25 request.


    Tốc độ Page Speed Insight khoảng 96-100, GTMetrix 100: https://linkhay.com/link/4349495/t...

Website liên kết