# -------------------------------------------------------------------- # WAF # -------------------------------------------------------------------- resource "aws_wafv2_web_acl" "this" { name = var.name scope = var.scope default_action { allow {} } rule { name = "AWS-AWSManagedRulesCommonRuleSet" priority = 1 override_action { none {} } statement { managed_rule_group_statement { name = "AWSManagedRulesCommonRuleSet" vendor_name = "AWS" } } visibility_config { cloudwatch_metrics_enabled = true metric_name = "AWS-AWSManagedRulesCommonRuleSet" sampled_requests_enabled = true } } rule { name = "AWS-AWSManagedRulesLinuxRuleSet" priority = 2 statement { managed_rule_group_statement { name = "AWSManagedRulesLinuxRuleSet" vendor_name = "AWS" } } override_action { none {} } visibility_config { cloudwatch_metrics_enabled = true metric_name = "AWS-AWSManagedRulesLinuxRuleSet" sampled_requests_enabled = true } } rule { name = "AWS-AWSManagedRulesKnownBadInputsRuleSet" priority = 3 override_action { none {} } statement { managed_rule_group_statement { name = "AWSManagedRulesKnownBadInputsRuleSet" vendor_name = "AWS" } } visibility_config { cloudwatch_metrics_enabled = true metric_name = "AWS-AWSManagedRulesKnownBadInputsRuleSet" sampled_requests_enabled = true } } visibility_config { cloudwatch_metrics_enabled = true metric_name = "waf-bsmsapp" sampled_requests_enabled = true } tags = var.tags }