Rate limiting

Rate Limiting được sử dụng để nhận diện các client có tần suất gửi yêu cầu (request) quá cao và thực hiện các hành động xử lý cụ thể. Tính năng này thường được sử dụng trong các trường hợp sau:

  • Hạn chế số lượng truy cập lớn từ client vào các tài nguyên cụ thể của website.

  • Giảm thiểu các cuộc tấn công DDoS hoặc lưu lượng Bot bất thường.


Cách cấu hình Rate Limiting

  1. Đăng nhập vào CDNetworks Console, tìm sản phẩm bảo mật đang sử dụng trong mục Subscribed Products.

  2. Truy cập Security Settings > Policies.

  3. Tìm hostname mà bạn muốn cấu hình chính sách bảo mật, nhấp vào biểu tượng tương ứng.

  4. Chuyển sang tab Rate Limiting. Nếu chính sách này đang tắt, hãy bật nó lên.


Tạo Quy Tắc Rate Limiting

  • Tại tab Rate Limiting, nhấp vào Create (Tạo mới).

  • Trong mục Rule Name (Tên quy tắc), nhập tên cho quy tắc giới hạn tốc độ.

  • Nếu muốn, bạn có thể nhập thêm Description (Mô tả).

  • Chọn đối tượng cần khớp (Matching Object):

    • Nếu muốn cấu hình cho API, chọn API.

    • Nếu không, chọn Website.

  • Cấu hình ít nhất một điều kiện khớp (Matching Condition).

    • Nếu có nhiều giá trị cho cùng một điều kiện, các giá trị này sẽ có quan hệ “OR”.

    • Các giá trị khác nhau phải được phân tách bằng dấu xuống dòng (Enter).

    • Các điều kiện khớp hỗ trợ có thể tham khảo tại phần Match Conditions.

  • Nếu cần, thêm điều kiện khớp khác. Nhiều điều kiện sẽ được nối với nhau bằng phép AND.


Chọn định danh Client (Client Identifier)

Chọn cách xác định client cần thống kê số lượng yêu cầu:

  • Client IP: Đếm theo địa chỉ IP của client.

  • Client IP và User-Agent: Đếm theo IP và User-Agent trong request header.

  • Cookie: Đếm theo Cookie được gửi trong request. Cần nhập tên tham số Cookie.

  • Client IP và Cookie: Đếm theo kết hợp IP và Cookie. Cần nhập tên tham số Cookie.

  • Request Header: Đếm theo giá trị của một header cụ thể. Cần nhập đầy đủ tên header (không phân biệt chữ hoa/thường).

  • Client IP và Request Header: Đếm theo kết hợp IP và header cụ thể. Cần nhập đầy đủ tên header.


Thiết lập điều kiện kích hoạt (Trigger Condition)

  • Nhập thời gian thống kê (theo giây)ngưỡng (threshold).

    • Khi số lượng request vượt quá ngưỡng trong khoảng thời gian đã chỉ định, hành động tương ứng sẽ được thực thi (như Alert hoặc Deny).


Thiết lập hành động và thời gian hiệu lực

  • Chọn Action (Hành động) khi ngưỡng bị vượt.

  • Nhập Action Expiration Time (Thời gian duy trì hành động) – thời gian áp dụng hành động sau khi kích hoạt.

  • Chọn Effective Time Period (Khoảng thời gian hiệu lực):

    • All time: Luôn có hiệu lực cho đến khi quy tắc bị xóa.

    • Excluded time: Không có hiệu lực trong khoảng thời gian đã chọn.

    • Selected time: Chỉ có hiệu lực trong khoảng thời gian đã chọn.


Hoàn tất cấu hình

  • Nhấn Confirm (Xác nhận) để lưu.

  • Nhấp Publish Changes (Xuất bản thay đổi) để quy tắc có hiệu lực.


Ví dụ cấu hình

Sử dụng IP + Cookie làm định danh client (cùng một IP và Cookie sẽ tính là một client). Nếu số lượng request tới URL http://www.test.com/test.html vượt quá 10 lần trong vòng 60 giây, hệ thống sẽ chặn (block) client đó trong 600 giây.

Last updated