Loading

AWS WAF

Version 6.4.2 (View all)
Subscription level
What's this?
Basic
Ingestion method(s) API, AWS CloudWatch, AWS S3
Minimum Kibana version(s) 9.2.1
8.19.4

The AWS WAF integration allows you to monitor AWS Web Application Firewall (WAF)—a web application firewall for protecting against common web exploits.

Use the AWS WAF integration to collect and parse logs related to firewall activity across your AWS infrastructure. Then visualize that data in Kibana, create alerts to notify you if something goes wrong, and reference logs when troubleshooting an issue.

For example, you could use the data from this integration to spot unusual SQL injection and cross-site scripting attempts on your AWS-hosted websites and web applications, in a given time period. You could also use the data to review or troubleshoot the rules that have been set up to block these web exploits. You can do this by looking at additional context in the logs, such as the source of the requests, and more.

Important

Extra AWS charges on API requests will be generated by this integration. Check API Requests for more details.

The AWS WAF integration collects one type of data: logs.

Logs help you keep a record of events happening in AWS WAF. Logs collected by the AWS WAF integration include information on the rule that terminated a request, the source of the request, and more. See more details in the Logs reference.

Note

The waf data stream is specifically for WAF logs.

You need Elasticsearch for storing and searching your data and Kibana for visualizing and managing it. You can use our hosted Elasticsearch Service on Elastic Cloud, which is recommended, or self-manage the Elastic Stack on your own hardware.

Before using any AWS integration you will need:

  • AWS Credentials to connect with your AWS account.
  • AWS Permissions to make sure the user you're using to connect has permission to share the relevant data.

For more details about these requirements, refer to the AWS integration documentation.

Use this integration if you only need to collect data from the AWS WAF service.

If you want to collect data from two or more AWS services, consider using the AWS integration. When you configure the AWS integration, you can collect data from as many AWS services as you'd like.

For step-by-step instructions on how to set up an integration, see the Getting started guide.

The CloudWatch logs input has several advanced options to fit specific use cases.

AWS CloudWatch Logs sometimes takes extra time to make the latest logs available to clients like the Agent.

The CloudWatch integration offers the latency setting to address this scenario. Latency translates the query's time range to consider the CloudWatch Logs latency. For example, a 5m latency means the integration will query CloudWatch for logs available 5 minutes ago.

If you are collecting log events from multiple log groups using log_group_name_prefix, you should review the value of the number_of_workers.

The number_of_workers setting defines the number of workers assigned to reading from log groups. Do not set number_of_workers higher than the AWS API rate limit. The CloudWatch Logs APIs (DescribeLogGroups, FilterLogEvents) are limited to 5 transactions per second (TPS) per AWS account and per region; this limit is shared across all API callers in that account and region. If you run multiple integrations or data streams that collect CloudWatch logs from the same account and region, their workers share the same 5 TPS—so even 5 workers per data stream can cause throttling when combined. Exceeding the limit causes ThrottlingException: Rate exceeded errors and may report DEGRADED status in Fleet.

Recommendation: Set number_of_workers to 5 or less and scan_frequency to 5m or more, regardless of how many log groups match log_group_name_prefix. Workers will iterate through the matching log groups within each scan interval. The default value is 1.

The waf dataset is specifically for WAF logs. Export logs from Kinesis Data Firehose to Amazon S3 bucket which has SQS notification setup already.

ECS Field Reference

Refer to the following document for detailed information on ECS fields.

This integration includes one or more Kibana dashboards that visualizes the data collected by the integration. The screenshots below illustrate how the ingested data is displayed.