waf.tf 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. locals {
  2. fqdns_all = concat(module.public_dns_record.forward, var.subject_alternative_names, var.fqdns)
  3. fqdns = [for fqdn in local.fqdns_all : fqdn if substr(fqdn, 0, 1) != "*"]
  4. }
  5. module "waf" {
  6. count = var.waf_enabled ? 1 : 0
  7. source = "../../../submodules/wafv2"
  8. # Custom to resource
  9. allowed_ips = var.allowed_ips
  10. additional_blocked_ips = var.additional_blocked_ips
  11. admin_ips = var.admin_ips #concat(var.zscalar_ips, var.admin_ips)
  12. resource_arn = aws_lb.external.arn
  13. fqdns = local.fqdns
  14. # Passthrough Excluded Rules
  15. excluded_rules_AWSManagedRulesCommonRuleSet = var.excluded_rules_AWSManagedRulesCommonRuleSet
  16. excluded_rules_AWSManagedRulesAmazonIpReputationList = var.excluded_rules_AWSManagedRulesAmazonIpReputationList
  17. excluded_rules_AWSManagedRulesKnownBadInputsRuleSet = var.excluded_rules_AWSManagedRulesKnownBadInputsRuleSet
  18. excluded_rules_AWSManagedRulesSQLiRuleSet = var.excluded_rules_AWSManagedRulesSQLiRuleSet
  19. excluded_rules_AWSManagedRulesLinuxRuleSet = var.excluded_rules_AWSManagedRulesLinuxRuleSet
  20. excluded_rules_AWSManagedRulesUnixRuleSet = var.excluded_rules_AWSManagedRulesUnixRuleSet
  21. # Passthrough Excluded Rule Sets
  22. excluded_set_AWSManagedRulesCommonRuleSet = var.excluded_set_AWSManagedRulesCommonRuleSet
  23. excluded_set_AWSManagedRulesAmazonIpReputationList = var.excluded_set_AWSManagedRulesAmazonIpReputationList
  24. excluded_set_AWSManagedRulesKnownBadInputsRuleSet = var.excluded_set_AWSManagedRulesKnownBadInputsRuleSet
  25. excluded_set_AWSManagedRulesSQLiRuleSet = var.excluded_set_AWSManagedRulesSQLiRuleSet
  26. excluded_set_AWSManagedRulesLinuxRuleSet = var.excluded_set_AWSManagedRulesLinuxRuleSet
  27. excluded_set_AWSManagedRulesUnixRuleSet = var.excluded_set_AWSManagedRulesUnixRuleSet
  28. block_settings = var.block_settings
  29. # These are passed through and should be the same for module
  30. aws_partition = var.aws_partition
  31. aws_region = var.aws_region
  32. aws_account_id = var.aws_account_id
  33. tags = merge(var.tags, { Name = "${var.name}-lb-external-${var.environment}" })
  34. }