security-group-elbs.tf 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. ## Indexer Security Group
  2. #
  3. # Summary:
  4. # Ingress:
  5. # tcp/8088 - Splunk HEC - (local.data_sources) Entire VPC + var.additional_source + local.splunk_legacy_cidr
  6. # Egress:
  7. # tcp/8088 - Splunk HEC
  8. # Defined in security-group-indexers.tf:
  9. #locals {
  10. # splunk_vpc_cidrs = toset(concat(local.splunk_legacy_cidr, [ var.vpc_cidr ]))
  11. # access_cidrs = toset(concat(local.cidr_map["bastions"], local.cidr_map["vpns"]))
  12. # data_sources = toset(concat(tolist(local.splunk_vpc_cidrs), local.splunk_data_sources))
  13. #}
  14. resource "aws_security_group" "hec_elb_security_group" {
  15. name = "hec_elb_security_group"
  16. description = "Security Group for HEC ELBs (both ack and non-ack)"
  17. vpc_id = var.vpc_id
  18. tags = merge(local.standard_tags, var.tags, { "Name" = "hec_elb_security_group" })
  19. }
  20. #----------------------------------------------------------------------------
  21. # INGRESS
  22. #----------------------------------------------------------------------------
  23. resource "aws_security_group_rule" "hec-https-in" {
  24. count = anytrue([local.is_moose, var.hec_listen_443]) ? 1 : 0
  25. type = "ingress"
  26. description = "HEC port - HTTPS - Moose only"
  27. from_port = 443
  28. to_port = 443
  29. protocol = "tcp"
  30. cidr_blocks = ["0.0.0.0/0"] # tfsec:ignore:aws-vpc-no-public-ingress-sgr
  31. security_group_id = aws_security_group.hec_elb_security_group.id
  32. }
  33. resource "aws_security_group_rule" "hec-in" {
  34. type = "ingress"
  35. description = "HEC port in"
  36. from_port = 8088
  37. to_port = 8088
  38. protocol = "tcp"
  39. cidr_blocks = ["0.0.0.0/0"] # tfsec:ignore:aws-vpc-no-public-ingress-sgr
  40. security_group_id = aws_security_group.hec_elb_security_group.id
  41. }
  42. #----------------------------------------------------------------------------
  43. # INGRESS
  44. #----------------------------------------------------------------------------
  45. resource "aws_security_group_rule" "hec-out" {
  46. type = "egress"
  47. description = "HEC to the indexers"
  48. from_port = 8088
  49. to_port = 8088
  50. protocol = "tcp"
  51. cidr_blocks = local.splunk_vpc_cidrs
  52. security_group_id = aws_security_group.hec_elb_security_group.id
  53. }