waf.tf 1.4 KB

123456789101112131415161718192021222324252627
  1. module "waf" {
  2. count = var.waf_enabled ? 1 : 0
  3. source = "../../../submodules/wafv2"
  4. # Custom to resource
  5. allowed_ips = var.allowed_ips
  6. additional_blocked_ips = var.additional_blocked_ips
  7. admin_ips = var.admin_ips #concat(var.zscalar_ips, var.admin_ips)
  8. resource_arn = aws_lb.external.arn
  9. fqdns = concat(module.public_dns_record.forward, var.subject_alternative_names) # first entry in list will be the WAF name
  10. # Passthrough
  11. excluded_rules_AWSManagedRulesCommonRuleSet = var.excluded_rules_AWSManagedRulesCommonRuleSet
  12. excluded_rules_AWSManagedRulesAmazonIpReputationList = var.excluded_rules_AWSManagedRulesAmazonIpReputationList
  13. excluded_rules_AWSManagedRulesKnownBadInputsRuleSet = var.excluded_rules_AWSManagedRulesKnownBadInputsRuleSet
  14. excluded_rules_AWSManagedRulesSQLiRuleSet = var.excluded_rules_AWSManagedRulesSQLiRuleSet
  15. excluded_rules_AWSManagedRulesLinuxRuleSet = var.excluded_rules_AWSManagedRulesLinuxRuleSet
  16. excluded_rules_AWSManagedRulesUnixRuleSet = var.excluded_rules_AWSManagedRulesUnixRuleSet
  17. # These are passed through and should be the same for module
  18. aws_partition = var.aws_partition
  19. aws_region = var.aws_region
  20. aws_account_id = var.aws_account_id
  21. tags = merge(var.tags, { Name = "${var.name}-lb-external-${var.environment}" })
  22. }