Web ACLs với managed rules

Tình huống

Giả sử bạn là một lập trình viên đơn độc đang bắt đầu với cửa hàng Juice Shop (Nước Trái Cây). Website của bạn là một ứng dụng web đơn giản chạy với cơ sở dữ liệu SQL. Vì một số lý do nào đó, nhóm tin tặc Milkshake (nhóm Sữa Lắc) đang bắt đầu tấn công vào trang web của bạn.

Rất may là ngay lúc này bạn đang tiếp cận tới AWS WAF. Vậy là bạn quyết định sẽ triển khai WAF để bảo vệ trang web của bạn.

Ngoài ra thì ngay lúc này, bạn đang không có nhiều thời gian nên bạn sẽ quyết định sẽ sử dụng Nhóm các rule dựng sẵn bởi AWS cho Web ACL của bạn. Với các rule này, website của bạn sẽ được bảo vệ khỏi các tấn công thông thường từ phía nhóm Sữa Lắc.

Web ACLs với managed rules

Web ACLs (Web Access Control List) là cốt lõi của việc triển khai AWS WAF. Nó bao gồm các rule được sử dụng để đánh giá các yêu cầu được gửi tới WAF của bạn. Web ACL được áp dụng lên ứng dụng web của bạn thông qua Amazon CloudFront distribution, AWS API Gateway API hay một AWS Application Load Balancer.
Managed rule groups là một bộ các rule được tạo và cập nhật bởi đội ngũ AWS hoặc các bên thứ 3 trên AWS Marketplace. Những rule này cung cấp khả năng bảo vệ ứng dụng của bạn khỏi các tấn công thông dụng hoặc đặc thù cho từng loại ứng dụng.

  1. Truy cập WAF & Shield

Create the sample web app

Bài thực hành này sử dụng phiên bản mới nhất của AWS WAF. Hãy đảm bảo bạn không sử dụng WAF Classic.

  • Click Create web ACL. Create the sample web app
  1. Trong phần Web ACL details.
  • Tại mục App category, Click E-commerce & transaction platforms.
  • Tại mục App focus, chọn Both API and web.
  • Tại mục Add resources, chọn App CloudFont or Amplify resources.

Create the sample web app

  • Chọn CloudFont distribution vừa tạo, sau đó click Add Create the sample web app
  1. Chọn mục You build in, sau đó chọn AWS-managed rule group, tiếp tục chọn Next Create the sample web app

  2. Chọn Core rule set, sau đó tiến hành Add rule Create the sample web app Create the sample web app

  3. Xác nhận rule đã được khởi tạo. Chúng ta tiếp tục chọn Add rule để thêm rule mới. Create the sample web app

  • Chọn AWS-managed rule group, click Next.

  • Chọn SQL database.

  • Chọn Add rule để thêm rule. Create the sample web app Create the sample web app Create the sample web app

  • Xác nhận đã tạo 2 rule mới. Create the sample web app

  1. Tại mục Name & describe
  • Tại mục name, điền waf-workshop-juice-shop.

  • Điền mô tả Web ACL for the aws-waf-workshop.

  • Tại Logging destination type, chọn S3 Bucket.

  • Chọn S3 bucket vừa tạo.

  • Cuối cùng, chọn Create protection pack (web ACL) Create the sample web app

  • Xác nhận đã tạo thành công. Create the sample web app

  1. Chạy lệnh
# This imitates a Cross Site Scripting attack
# This request should be blocked.
curl -X POST  <Your Juice Shop URL> -F "user='<script><alert>Hello></alert></script>'"

Chúng ta sẽ thấy kết quả là Request blocked. Create the sample web app

  1. Chạy lệnh.
# This imitates a SQL Injection attack
# This request should be blocked.
curl -X POST <Your Juice Shop URL> -F "user='AND 1=1;"

Chúng ta sẽ thấy kết quả là Request blocked.
Create the sample web app