account.hcl 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  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. account_name = "afs-mdr-test-c2-gov"
  5. account_alias = "afs-mdr-test-c2-gov"
  6. aws_account_id = "738800754746"
  7. instance_termination_protection = false # set to true for production!
  8. splunk_prefix = "moose"
  9. # Additional sources that are allowed to send data, such as Customer LCPs, Azure, etc.
  10. splunk_data_sources = [
  11. "170.248.172.0/23", # ?
  12. "20.190.250.137/32", # ?
  13. "52.232.227.197/32", # ?
  14. "52.185.64.173/32", # ?
  15. "52.242.225.98/32", # ?
  16. "52.177.84.83/32", # ?
  17. "199.16.64.3/32", #?
  18. "99.56.213.129/32", # Fred Damstra's Home IP - For testing
  19. ]
  20. splunk_legacy_cidr = [ # Allow splunk ports to/from here, too
  21. "10.80.100.0/22",
  22. ]
  23. splunk_asg_sizes = [ 1, 1, 1 ] # How many?
  24. splunk_volume_sizes = {
  25. "cluster_master" = {
  26. "swap": 8, # minimum: 8
  27. "/": 10, # minimum: 10
  28. "/home": 4, # minimum: 4
  29. "/var": 15, # minimum: 15
  30. "/var/tmp": 4, # minimum: 4
  31. "/var/log": 8, # minimum: 8
  32. "/var/log/audit": 8, # minimum: 8
  33. "/tmp": 4, # minimum: 4
  34. "/opt/splunk": 30, # No minimum; not in base image
  35. },
  36. "indexer" = {
  37. "swap": 8, # minimum: 8
  38. "/": 10, # minimum: 10
  39. "/home": 4, # minimum: 4
  40. "/var": 15, # minimum: 15
  41. "/var/tmp": 4, # minimum: 4
  42. "/var/log": 8, # minimum: 8
  43. "/var/log/audit": 8, # minimum: 8
  44. "/tmp": 4, # minimum: 4
  45. "/opt/splunk": 30, # No minimum; not in base image
  46. },
  47. "searchhead" = {
  48. "swap": 8, # minimum: 8
  49. "/": 10, # minimum: 10
  50. "/home": 4, # minimum: 4
  51. "/var": 15, # minimum: 15
  52. "/var/tmp": 4, # minimum: 4
  53. "/var/log": 8, # minimum: 8
  54. "/var/log/audit": 8, # minimum: 8
  55. "/tmp": 4, # minimum: 4
  56. "/opt/splunk": 30, # No minimum; not in base image
  57. },
  58. "heavy_forwarder" = {
  59. "swap": 8, # minimum: 8
  60. "/": 10, # minimum: 10
  61. "/home": 4, # minimum: 4
  62. "/var": 15, # minimum: 15
  63. "/var/tmp": 4, # minimum: 4
  64. "/var/log": 8, # minimum: 8
  65. "/var/log/audit": 8, # minimum: 8
  66. "/tmp": 4, # minimum: 4
  67. "/opt/splunk": 30, # No minimum; not in base image
  68. },
  69. }
  70. account_tags = { }
  71. c2_account_standards_path = "../../mdr-test-c2/005-account-standards-c2"
  72. # For CIDR assignment, see https://github.mdr.defpoint.com/mdr-engineering/msoc-infrastructure/wiki/IP-Address-Allocation
  73. vpc_info = {
  74. "vpc-splunk" = {
  75. "name" = "vpc-splunk"
  76. "purpose" = "Splunk Systems (MOOSE)"
  77. "cidr" = "10.20.16.0/22",
  78. "tgw_attached" = true,
  79. },
  80. "vpc-system-services" = {
  81. "name" = "vpc-system-services",
  82. "purpose" = "Internal Services for Systems (not people)",
  83. "cidr" = "10.20.0.0/22",
  84. "tgw_attached" = false, # NOTE: This is attached via the transit gateway creation
  85. },
  86. "vpc-qualys" = {
  87. "name" = "vpc-qualys",
  88. "purpose" = "Security Scanning",
  89. "cidr" = "10.20.12.0/22",
  90. "tgw_attached" = true,
  91. },
  92. "vpc-interconnects" = {
  93. "name" = "vpc-interconnects",
  94. "purpose" = "Interconnections between AWS partitions",
  95. "cidr" = "10.179.128.0/22",
  96. "tgw_attached" = false,
  97. },
  98. "vpc-access" = {
  99. "name" = "vpc-access"
  100. "purpose" = "Systems providing restricted access, such as bastions and vpn concentrators"
  101. "cidr" = "10.20.20.0/22"
  102. "tgw_attached" = true,
  103. },
  104. "vpc-portal" = {
  105. "name" = "vpc-portal"
  106. "purpose" = "The Customer Portal"
  107. "cidr" = "10.20.32.0/24"
  108. "tgw_attached" = true,
  109. },
  110. "vpc-public" = {
  111. "name" = "vpc-public"
  112. "purpose" = "Publicly Accessible Infrastructure Services, such as GHE and Jira"
  113. "cidr" = "10.20.24.0/22"
  114. "tgw_attached" = true,
  115. },
  116. "vpc-private-services" = {
  117. "name" = "vpc-private-services"
  118. "purpose" = "Private XDR Services for XDR users"
  119. "cidr" = "10.20.28.0/22"
  120. "tgw_attached" = true,
  121. },
  122. }
  123. instance_types = {
  124. "splunk-cm" = "t3a.small", # legacy: t2.small
  125. "splunk-indexer" = "i3en.large", # legacy: t2.small, but whats the point if we don't have instance storage.
  126. #"splunk-indexer" = "m5d.large", # these are 1/2 the price of i3en.larges, but my first test didn't work. Worth retesting.
  127. "splunk-hf" = "t3a.small", # legacy: t2.medium
  128. "splunk-sh" = "t3a.small", # legacy: ? not sure
  129. }
  130. # TODO: The instance types below should be moved to the instance_type map above
  131. # DNS Resolver
  132. resolver_instance_type = "t3a.micro"
  133. resolver_instance_key_name = "fdamstra"
  134. # Bastion
  135. bastion_instance_type = "t3a.micro"
  136. # Salt Master
  137. salt_master_instance_type = "t3a.large"
  138. # Mail Relay Server
  139. mailrelay_instance_type = "t3a.micro"
  140. # OpenVPN Server
  141. openvpn_instance_type = "t3a.medium"
  142. # Proxy Server
  143. proxy_server_instance_type = "t3a.micro"
  144. # Repo Server
  145. repo_server_instance_type = "t3a.micro"
  146. # Vault Server
  147. vault_server_instance_type = "t3a.micro"
  148. # For testing
  149. create_test_instance = false
  150. test_instance_key_name = "fdamstra" # They with which to provision the test instance
  151. # Extra customization if you want it
  152. test_instance_ami = "base" # default = minion
  153. test_instance_type = "t3a.micro" # default = t3a.micro
  154. # AS Number used for various resources, but not every account needs one.
  155. asn = 64710 # changing this replaces the gateway
  156. # Interconnects
  157. interconnect_asn = 64777
  158. interconnects_instance_type = "t3a.micro"
  159. interconnects_key_name = "fdamstra" # DO NOT CHANGE
  160. interconnects_count = 2
  161. interconnect_instances_path = "../018-interconnect-instances"
  162. # Qualys Scanners
  163. qualys_personalization_codes = {
  164. standard = "21009597903247"
  165. preauthorized = "21005906078774"
  166. }
  167. # Qualys Connector
  168. qualys_connector_externalid = "1601148045651" # Needs to come from the qualys console
  169. }