Ghi nhật ký request

Tình huống

Cửa hàng Nước ép của bạn đang phát triển nhanh chóng. Tuyệt vời! Bây giờ, bạn đang có một tập các rule, bạn dần đần cảm thấy khó nhận ra rule nào chịu trách nhiệm ngăn chặn các request. Như vậy, việc ghi nhận log trở nên hữu ích vào lúc này. Để làm việc này, bạn cần phải bật tính năng ghi nhật ký cho Web ACL của bạn vào S3 bucket. Log của bạn chứa những header, named cookie nhạy cảm. Bạn không muốn nội dung này được ghi nhận lại. Vì vậy bạn cần phải cấu hình loại bỏ các header trong log.

Ghi nhật ký request

WAF sử dụng Amazon Kinesis Firehose để ghi nhật ký. Điều này cho phép các bản ghi được chuyển đến bất kỳ kho Kinesis Firehose nào, chẳng hạn như Amazon S3, Amazon Redshift hoặc Amazon Elastic Search. Để ghi nhật ký các yêu cầu trong Web ACL của bạn, bạn phải tạo một Kinesis Data Firehose.

  1. Truy cập Amazon Kinesis Console.
  1. Trong phần Choose source and destination.
  • Tại mục Source Chọn Direct PUT.
  • Tại mục Destination Chọn Amazon S3. Create Kinesis Data Firehose
  1. Tại mục Choose source and destination điền aws-waf-logs-workshop-26.

    Tên của Kinesis Data Firehose sẽ bắt đầu với aws-waf-logs-workshop-. Đây là yêu cầu bắt buộc của dịch vụ WAF.

    Create Kinesis Data Firehose
  2. Trong phần Destination settings.
  • Click Browse. Create Kinesis Data Firehose
  • Chọn aws-waf-logs-001(S3 bucket đã tạo trước đó) là nơi lưu trữ đích.
  • Click Choose. Create Kinesis Data Firehose
  1. Kéo màn hình xuống dưới, Click Create delivery stream. Create Kinesis Data Firehose
  2. Truy cập AWS WAF Console.
  • Click Web ACLs.
  • Chọn Global.
  • Click waf-workshop-juice-shop. Use Kinesis
  1. Ở trang thông tin Web ACL của bạn.
  • Chọn tab Logging and metrics.
  • Click Enable. Use Kinesis
  1. Trong phần Logging destination.
  • Click Kinesis Data Firehose stream.
  • Tại mục Amazon Kinesis Data Firehose delivery stream Chọn aws-waf-logs-workshop-26. Use Kinesis
  1. Trong phần Redacted fields.
  • Chọn Single header.
  • Tại mục Redacted headers Click Add header
  • Thêm vào giá trị header Cookie.
  • Click Save Use Kinesis
  1. Chạy lệnh
curl "<Your Juice Shop URL>?username=admin"
curl "<Your Juice Shop URL>?milkshake=banana&favourite-topping=sauce"
curl -H "x-milkshake: chocolate" "<Your Juice Shop URL>"

Use Kinesis Use Kinesis 11. Tải tập tin log ghi nhận vào S3. Use Kinesis 12. Tìm từ khóa Cookie trong tập tin. Use Kinesis

Kết luận

WAF cho phép bạn ghi nhận các nhật kí request và lưu trữ trong nơi lưu trữ đích của Kinesis Data Firehose. Nhật ký cung cấp thông tin về request. Nhật ký đồng thời cung cấp hành động và rule đã tác động lên request. Thông tin này có thể không giá trị khi bạn chạy WAF. Sử dụng tính năng điều chỉnh các vùng nội dung để loại bỏ các thông tin nhạy cảm.