AWS WAF (Web Application Firewall) hiện đã hỗ trợ URI path trong key tổng hợp quy tắc dựa trên tỷ lệ. Hãy cùng Sunny Cloud tìm hiểu về thay đổi mới của AWS WAF.

Quy tắc dựa trên tỷ lệ là gì?

Quy tắc dựa trên tỷ lệ (rate-based rules) là một tính năng cho phép doanh nghiệp kiểm soát tỷ lệ truy cập hoặc số lượng yêu cầu HTTP đối với một tài nguyên cụ thể trên ứng dụng web của bạn. Tính năng này sẽ theo dõi tỷ lệ yêu cầu của từng địa chỉ IP nguồn và kích hoạt hành động quy tắc đối với IP có tỷ lệ vượt quá giới hạn. Giới hạn được thiết lập dưới dạng số lượng yêu cầu trong 5 phút. Khi sử dụng loại quy tắc này, có thể tạm thời chặn các yêu cầu từ địa chỉ IP đang gửi quá nhiều yêu cầu từ đó giúp bảo vệ trang web của bạn khỏi các tấn công DDoS (Distributed Denial of Service) hoặc các tấn công liên quan đến việc tạo ra một lượng lớn yêu cầu đến máy chủ.

Có thể lấy danh sách các địa chỉ IP hiện tại đang bị chặn do giới hạn tỷ lệ. Để biết thêm chi tiết, vui lòng tham khảo danh sách các địa chỉ IP bị chặn theo quy tắc dựa trên tỷ lệ.

Lưu ý khi sử dụng quy tắc dựa trên tỷ lệ của AWS WAF

Tỷ lệ tối thiểu mà bạn có thể thiết lập là 100.

AWS WAF có khả năng chặn tối đa 10.000 địa chỉ IP. Điều này có nghĩa là nếu có hơn 10.000 địa chỉ IP gửi yêu cầu với tỷ lệ cao cùng một lúc, AWS WAF sẽ chỉ chặn 10.000 trong số đó.

Điều quan trọng hơn, bạn có thể thực hiện việc đếm số lượng yêu cầu được nhận trong khoảng thời gian 5 phút. Bằng cách này, bạn có thể xác định xem truy cập có vượt quá ngưỡng đã định hay không khi giá trị tương tự với giá trị của khóa đã được chỉ định. Hơn nữa, bạn cũng có khả năng chặn các địa chỉ IP mà có mức truy cập quá mức cho phép.”

– Tỷ lệ tối thiểu có thể thiết lập là 100.

– AWS WAF có thể chặn tối đa 10.000 địa chỉ IP. Nếu có hơn 10.000 địa chỉ IP gửi yêu cầu với tỷ lệ cao cùng một lúc, AWS WAF chỉ chặn 10.000 địa chỉ đó.

https://catalog.workshops.aws/edge-services-immersionday/ja-JP/aws-waf-foundation-i/003-rate-based-rules

Nói cách khác, có thể đếm số lượng yêu cầu nhận được trên WAF mỗi 5 phút và có thể xác định xem truy cập có vượt quá giới hạn hay không khi giá trị khớp với giá trị của key đã chỉ định.

Hơn nữa, cũng có thể chặn địa chỉ IP có lượng truy cập lớn.

Tạo quy tắc dựa trên tỷ lệ

  1. Từ bảng điều khiển AWS WAF, chọn quy tắc tương ứng từ Web ACLs, sau đó chọn “Add rules” và “Add my own rules and user groups”.
Bảng điều khiển AWS WAF
Bảng điều khiển AWS WAF
  1. Từ màn hình Rule Type, chọn “Rule builder” và chọn “Rate-based rule” trên màn hình Rule builder.
AWS WAF - Thiết lập Rule tyle và Rule builder
AWS WAF – Thiết lập Rule tyle và Rule builder

(3) Ở đây, Sunny Cloud thiết lập để kiểm soát một địa chỉ IP nguồn kết nối đến trang đăng nhập không quá 100 lần trong 5 phút. Tại phần Rate-limiting criteria, nhập 100 vào “Rate limit” và Request aggregation thì chỉ định “Source IP address”.

AWS WAF - Thiết lập Rate-limiting criteria
AWS WAF – Thiết lập Rate-limiting criteria
  1. Trên màn hình Action, thiết lập “Block” và chọn vào “Add rule”.
AWS WAF - Thiết lập Action
AWS WAF – Thiết lập Action

Bạn có thể tham khảo tạo quy tắc dựa trên tỷ lệ giống như vậy.

Nội dung cập nhật hỗ trợ URI Path

Với việc hỗ trợ URI Path bằng key, việc tổng hợp quy tắc dựa trên tỷ lệ đã trở nên dễ dàng hơn. Trước đây, bạn cần chỉ định URI muốn giới hạn tỷ lệ. Tình huống này không phù hợp với nhu cầu muốn bảo vệ nhiều URI path bằng một quy tắc duy nhất.

Với bản cập nhật này, bạn có thể theo dõi tỷ lệ yêu cầu của bất kỳ URI path nào mà không cần bổ sung báo cáo giảm phạm vi.

Ví dụ: Việc tạo quy tắc để chặn truy cập quá mức đối với URI path của trang web đã trở nên dễ dàng hơn. Từ nay về sau, có thể chỉ định Source IP Address và URI path cho key tổng hợp và chỉ định điều kiện kiểm tra.

Thử nghiệm bản cập nhật hỗ trợ URI Path

Trong việc tạo quy tắc dựa trên tỷ lệ, thiết lập đường dẫn URI làm khóa tổng hợp.

Ở Rate limit thiết lập “Custome keys” và ở Request aggregation key thiết lập “URI path” là “None”.

AWS WAF - Thiết lập Rate limit và Request aggregation key
AWS WAF – Thiết lập Rate limit và Request aggregation key

Trong Scope of inspection and rate limiting, đặt action là captcha cho tất cả các yêu cầu (consider all requests)

AWS WAF - Thiết lập Scope of inspection and rate limiting và Action
AWS WAF – Thiết lập Scope of inspection and rate limiting và Action

Để kiểm tra quy tắc dựa trên tỷ lệ, thực hiện như sau:

curl -I "${JUICESHOP_URL}/login"

Thực hiện 100 lần và có thể xác nhận rằng chức năng CAPTCHA được thực hiện.

Tổng kết

Với bản cập nhật này, việc giới hạn tỷ lệ trên từng trang đã trở nên thực hiện dễ dàng.

Doanh nghiệp sẽ không tốn thêm chi phí khi sử dụng chức năng này và có thể sử dụng ở tất cả các khu vực ngoại trừ AWS GovCloud (US), Zurich (Europe), Spain (Europe), Hyderabad (Asia Pacific), và Melbourne (Australia).