Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/geekcell/terraform-aws-waf
Terraform module to provision an AWS Web Application Firewall.
https://github.com/geekcell/terraform-aws-waf
aws firewall security terraform terraform-module waf web-application-firewall
Last synced: 17 days ago
JSON representation
Terraform module to provision an AWS Web Application Firewall.
- Host: GitHub
- URL: https://github.com/geekcell/terraform-aws-waf
- Owner: geekcell
- License: apache-2.0
- Created: 2023-02-08T16:24:07.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-07-06T07:45:21.000Z (over 1 year ago)
- Last Synced: 2025-01-09T23:45:51.904Z (20 days ago)
- Topics: aws, firewall, security, terraform, terraform-module, waf, web-application-firewall
- Language: HCL
- Homepage: https://www.geekcell.io
- Size: 30.3 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Geek Cell GmbH](https://raw.githubusercontent.com/geekcell/.github/main/geekcell-github-banner.png)](https://www.geekcell.io/)
### Code Quality
[![License](https://img.shields.io/github/license/geekcell/terraform-aws-waf)](https://github.com/geekcell/terraform-aws-waf/blob/master/LICENSE)
[![GitHub release (latest tag)](https://img.shields.io/github/v/release/geekcell/terraform-aws-waf?logo=github&sort=semver)](https://github.com/geekcell/terraform-aws-waf/releases)
[![Release](https://github.com/geekcell/terraform-aws-waf/actions/workflows/release.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-waf/actions/workflows/release.yaml)
[![Validate](https://github.com/geekcell/terraform-aws-waf/actions/workflows/validate.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-waf/actions/workflows/validate.yaml)
[![Lint](https://github.com/geekcell/terraform-aws-waf/actions/workflows/linter.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-waf/actions/workflows/linter.yaml)# Terraform AWS WAF
This Terraform module provides a preconfigured solution for setting up
AWS WAF in your AWS account. AWS WAF is a web application firewall that
helps protect your web applications from common web exploits that could
affect application availability, compromise security, or consume excessive
resources. With this Terraform module, you can easily and efficiently set
up and manage AWS WAF for your Load Balancer, API Gateway, or Cognito
User Pool.## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [name](#input\_name) | Friendly name of the rule. | `string` | n/a | yes |
| [rate\_limit\_positional\_constraint](#input\_rate\_limit\_positional\_constraint) | The area within the portion of a web request that you want AWS WAF to search for rate limiting headers. Valid values: EXACTLY, STARTS\_WITH, ENDS\_WITH, CONTAINS, and CONTAINS\_WORD. The default value is EXACTLY. | `string` | `"STARTS_WITH"` | no |
| [rate\_limit\_search\_string](#input\_rate\_limit\_search\_string) | String value that you want AWS WAF to search for. AWS WAF searches only in the part of web requests that you designate for inspection in field\_to\_match. The maximum length of the value is 50 bytes. | `string` | `"/api"` | no |
| [resource\_arn](#input\_resource\_arn) | The Amazon Resource Name (ARN) of the resource to associate with the web ACL. This must be an ARN of an Application Load Balancer, an Amazon API Gateway stage, or an Amazon Cognito User Pool. | `string` | n/a | yes |
| [tags](#input\_tags) | Tags to add to the Resources. | `map(any)` | `{}` | no |## Outputs
No outputs.
## Providers
| Name | Version |
|------|---------|
| [aws](#provider\_aws) | >= 5.0, < 6.0 |## Resources
- resource.aws_wafv2_ip_set.ip_blocking (main.tf#291)
- resource.aws_wafv2_web_acl.main (main.tf#12)
- resource.aws_wafv2_web_acl_association.main (main.tf#309)# Examples
### Basic Example
```hcl
module "example" {
source = "../../"
name = "waf"
resource_arn = "arn:aws:elasticloadbalancing:eu-central-1:123456789012:loadbalancer/app/my-load-balancer/1234567890123456"
}
```