account.hcl 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. # Set account-wide variables. These are automatically pulled in to configure the remote state bucket in the root
  2. # terragrunt.hcl configuration.
  3. locals {
  4. # TODO put the right values here
  5. account_name = "mdr-prod-frtib"
  6. account_alias = "mdr-prod-frtib"
  7. aws_account_id = "237704155425"
  8. instance_termination_protection = true # set to true for production!
  9. splunk_prefix = "frtib"
  10. splunk_private_hec = false # True if the customer needs a private HTTP Event Collector such as for ALSI
  11. splunk_data_sources = [
  12. "52.61.113.202/32", # TODO: Add customer's public IP addresses
  13. "54.205.60.17/32", # 2021-05-04 From John Conrad john.conrad.2@alight.com
  14. "52.206.203.98/32",
  15. "34.233.188.131/32",
  16. "15.200.226.57/32", # 2021-07-12 From "Nguyen, Brian A." <brian.a.nguyen@accenturefederal.com>
  17. ]
  18. splunk_legacy_cidr = [ ] # Should not be needed for new customers
  19. splunk_asg_sizes = [ 1, 1, 1 ] # How many indexers in each site
  20. account_tags = {
  21. "Client": local.splunk_prefix,
  22. }
  23. c2_account_standards_path = "../../mdr-prod-c2/005-account-standards-c2" # TODO: Subsitute with test or prod
  24. # For CIDR assignment, see https://github.mdr.defpoint.com/mdr-engineering/msoc-infrastructure/wiki/IP-Address-Allocation
  25. vpc_info = {
  26. "vpc-splunk" = {
  27. "name" = "vpc-splunk",
  28. "purpose" = "Splunk Systems (FRTIB)", # TODO: Substitute with Customer Name
  29. "cidr" = "10.42.36.0/22",
  30. "tgw_attached" = true
  31. }
  32. }
  33. # Qualys Connector - See https://github.mdr.defpoint.com/mdr-engineering/msoc-infrastructure/wiki/Qualys
  34. qualys_connector_externalid = "1619382305452" # Needs to come from the qualys console
  35. # End of TODO
  36. # Splunk instance sizes can be customized
  37. # TODO: Set these appropriately in the skeleton for prod
  38. instance_types = {
  39. "alsi-master" = "t3a.small",
  40. "alsi-worker" = "t3a.small",
  41. "splunk-cm" = "m5a.xlarge", # legacy: t2.small
  42. "splunk-indexer" = "i3en.3xlarge", # legacy: t2.small, but whats the point if we don't have instance storage.
  43. "splunk-hf" = "m5a.xlarge", # legacy: t2.medium
  44. "splunk-sh" = "m5a.4xlarge", # legacy: ? not sure
  45. "splunk-cust-sh" = "m5a.xlarge",
  46. }
  47. # Splunk Volume Sizes are probably fine at defaults
  48. splunk_volume_sizes = {
  49. "cluster_master" = {
  50. "swap": 8, # minimum: 8
  51. "/": 10, # minimum: 10
  52. "/home": 4, # minimum: 4
  53. "/var": 15, # minimum: 15
  54. "/var/tmp": 4, # minimum: 4
  55. "/var/log": 8, # minimum: 8
  56. "/var/log/audit": 8, # minimum: 8
  57. "/tmp": 4, # minimum: 4
  58. "/opt/splunk": 30, # No minimum; not in base image
  59. },
  60. "indexer" = {
  61. "swap": 8, # minimum: 8
  62. "/": 10, # minimum: 10
  63. "/home": 4, # minimum: 4
  64. "/var": 15, # minimum: 15
  65. "/var/tmp": 4, # minimum: 4
  66. "/var/log": 8, # minimum: 8
  67. "/var/log/audit": 8, # minimum: 8
  68. "/tmp": 4, # minimum: 4
  69. "/opt/splunk": 30, # No minimum; not in base image
  70. },
  71. "searchhead" = {
  72. "swap": 8, # minimum: 8
  73. "/": 10, # minimum: 10
  74. "/home": 4, # minimum: 4
  75. "/var": 15, # minimum: 15
  76. "/var/tmp": 4, # minimum: 4
  77. "/var/log": 8, # minimum: 8
  78. "/var/log/audit": 8, # minimum: 8
  79. "/tmp": 4, # minimum: 4
  80. "/opt/splunk": 30, # No minimum; not in base image
  81. },
  82. "customer_searchhead" = {
  83. "swap": 8, # minimum: 8
  84. "/": 10, # minimum: 10
  85. "/home": 4, # minimum: 4
  86. "/var": 15, # minimum: 15
  87. "/var/tmp": 4, # minimum: 4
  88. "/var/log": 8, # minimum: 8
  89. "/var/log/audit": 8, # minimum: 8
  90. "/tmp": 4, # minimum: 4
  91. "/opt/splunk": 60, # No minimum; not in base image
  92. },
  93. "heavy_forwarder" = {
  94. "swap": 8, # minimum: 8
  95. "/": 10, # minimum: 10
  96. "/home": 4, # minimum: 4
  97. "/var": 15, # minimum: 15
  98. "/var/tmp": 4, # minimum: 4
  99. "/var/log": 8, # minimum: 8
  100. "/var/log/audit": 8, # minimum: 8
  101. "/tmp": 4, # minimum: 4
  102. "/opt/splunk": 30, # No minimum; not in base image
  103. },
  104. }
  105. # ALSI - Aggregated Log Source Ingestion
  106. #
  107. # If cribl is being used for log ingestion, remember to turn on splunk_private_hec, too.
  108. alsi_workers = 0 # how many cribl workers
  109. alsi_splunk_nlb = false # splunk://moose-alsi-splunk.xdr{,test}.accenturefederalcyber.com:9997 and 9998
  110. alsi_elastic_alb = false # https://moose-alsi-elastic.xdr{,test}.accenturefederalcyber.com -> 9200
  111. alsi_hec_alb = false # https://moose-alsi-hec.xdr{,test}.accenturefederalcyber.com -> 8080
  112. }