Hướng dẫn UPNET

Thư viện bài viết hướng dẫn, chia sẻ

Hướng dẫn

Giảm thiểu DDos và Bot Scan bằng CloudFlare

Danh mục: Domain

Bước 1: Chuyển Domain về CloudFlare

Truy cập vào https://dash.cloudflare.com/ để khởi tạo tài khoản CloudFlare của bạn

  • Trỏ DNS về máy chủ mà CloudFlare cung cấp
    image
image
  • Kiểm tra xem DNS đã trỏ được chưa qua https://www.whois.com/
    image
  • Sau khi hoàn thành trỏ chúng ta kiểm tra lại trên CloudFlare nhé
image

Oke, chúng ta đến với bước thứ 2

Bước 2: Setup FireWall trên CloudFlare

Chống DDoS (Distributed Denial of Service) là ngăn chặn hoặc giảm thiểu ảnh hưởng của lượng request lớn đến từ nhiều IP (hoặc thậm chí giả mạo IP) nhằm mục đích làm tê liệt dịch vụ.

  • Đảm bảo các bản ghi trỏ về IP của server phải bật Proxy
    image
  • Ở mục Security chọn WAF
    image

Đầu tiên, ở Custom Rules với bản free chúng ta chỉ tạo được max 5 cái rules

image

Tạo các Rules như sau
image
Tương tự
Dưới đây là các Custom Firewall Rules nên cấu hình trong Cloudflare để giúp chống DDoS cơ bản cho website nhỏ và vừa:


1. Chặn bot không có User-Agent

Bot độc hại thường không gửi User-Agent hợp lệ.

Rule name: Block empty User-Agent
Expression:
(http.user_agent eq "")
Action: Block

2. Chống flood request từ IP có điểm đe dọa cao (Cloudflare Threat Score)

Cloudflare có hệ thống chấm điểm IP, bạn có thể tận dụng:

Rule name: JS Challenge for High Threat IPs
Expression:
(cf.threat_score > 20)
Action: JS Challenge

JS Challenge buộc trình duyệt tải mã JS – bot thường không làm được.


3. Chỉ cho phép truy cập từ Việt Nam (nếu site chỉ dùng ở VN)

Rule name: Block foreign countries
Expression:
(ip.geoip.country ne "VN")
Action: Challenge

Bạn cũng có thể dùng Block thay vì Challenge, nhưng Challenge sẽ an toàn hơn với người dùng hợp lệ.


4. Giới hạn request đến các trang nhạy cảm (như login, form)

Chỉ dùng nếu bạn có trang như /wp-login.php, /admin, v.v.

Rule name: Rate limit login page
Expression:
(http.request.uri.path contains "/wp-login.php")
Action: JS Challenge

Nếu bạn không dùng WordPress, đổi /wp-login.php thành đường dẫn login tương ứng.


5. Chặn một số User-Agent thường dùng bởi tool tấn công

Rule name: Block suspicious User-Agents
Expression:
(http.user_agent contains "python") or
(http.user_agent contains "curl") or
(http.user_agent contains "wget")
Action: Block

image

Ở rate limiting rule

Rate Limiting Rules của Cloudflare, bạn có thể giới hạn số lượng request từ mỗi IP đến một URL cụ thể trong một khoảng thời gian — cực kỳ hữu ích để chống DDoS dạng HTTP flood hoặc spam login/form

Mình khuyến nghị 1 số rule như sau( Chọn 1 cái thôi khi là bản Free nhé)

1: Limit API endpoints

Rule name: API Rate Limit
Field: URI Path
Operator: starts with
Value: /api/
Characteristics: IP
Requests: 50 per 10 seconds
Action: Block for 10 seconds

2: Bảo vệ login page

Rule name: Login Rate Limit
Field: URI Path
Operator: contains
Value: /login
Characteristics: IP
Requests: 5 per 10 seconds
Action: Block for 10 seconds

3: Limit traffic từ non-verified bots

Rule name: Bot Rate Limit
Field: Verified Bot
Operator: equals
Value: false
Characteristics: IP
Requests: 100 per 10 seconds
Action: Block for 10 seconds
image

Vậy là khi một IP gửi quá nhiều yêu cầu, Cloudflare sẽ:
Chặn các yêu cầu tiếp theo từ IP đó.
IP này sẽ bị chặn trong 10 giây

Ở phần Tools

IP Access Rules: Quy tắc truy cập IP có thể dựa trên địa chỉ IP, phạm vi địa chỉ IP, Số hệ thống tự trị (ASN) hoặc quốc gia.

image

Bạn có thể tùy chọn Chặn/Allow quốc gia truy cập hoặc thực hiện thử thách truy cập cho quốc gia đó
Ví dụ chọn thử thách cho Khu vực Việt Nam
image
Kết quả:
image

Ở Bots thì làm như hình dưới đây

image
Rõ ràng, việc triển khai các lớp bảo vệ nền tảng trên Cloudflare như đã thực hiện là một chiến lược thông minh. Mặc dù không một hệ thống nào có thể tự xưng là bất khả xâm phạm trước vô vàn kỹ thuật tấn công DDoS ngày càng tinh vi, những gì bạn xây dựng đã đủ để tạo ra một tuyến phòng thủ hiệu quả, sẵn sàng vô hiệu hóa phần lớn các cuộc tấn công phổ biến và đảm bảo tính sẵn sàng cho dịch vụ của bạn.

Cảm ơn các bạn đã xem qua bài viết của mình. Chúc các bạn thành công!!
Best Regards!!!!!