security-groups.tf 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # Several of these security groups will have customer IPs listed in them to allow
  2. # POP systems to access our services.
  3. #
  4. locals {
  5. }
  6. module "aws_endpoints_sg" {
  7. use_name_prefix = false
  8. source = "terraform-aws-modules/security-group/aws"
  9. version = "~> 3"
  10. name = "aws_endpoints"
  11. tags = merge(var.standard_tags, var.tags)
  12. vpc_id = module.vpc.vpc_id
  13. ingress_cidr_blocks = [ module.vpc.vpc_cidr_block ]
  14. egress_cidr_blocks = [ module.vpc.vpc_cidr_block ]
  15. egress_ipv6_cidr_blocks = [ ]
  16. egress_rules = [ "all-all" ]
  17. ingress_rules = [ "all-all" ]
  18. }
  19. #TODO: Probably want this one available everywhere
  20. #module "vpc_default_security_groups" {
  21. # source = "../modules/vpc_security_groups"
  22. # version = "~> 2.17"
  23. # name = "toolsvpc"
  24. # tags = merge(var.standard_tags, var.tags)
  25. # this_vpc = "${module.vpc.vpc_id}"
  26. #
  27. # ec2_prefix_list_count = 1
  28. # ec2_prefix_lists = [ "${module.vpc.vpc_endpoint_s3_pl_id}" ]
  29. # salt_masters_sg = "${module.salt_masters_sg.this_security_group_id}"
  30. # bastion_ssh_sg = "${module.bastion_servers_sg.this_security_group_id}"
  31. # proxy_servers_sg = "${module.proxy_servers_sg.this_security_group_id}"
  32. # sensu_servers_sg = "${module.sensu_servers_sg.this_security_group_id}"
  33. # repo_servers_sg = "${module.repo_servers_sg.this_security_group_id}"
  34. # idm_inbound_sg = "${module.idm_inbound_sg.this_security_group_id}"
  35. # openvpn_servers_sg = "${module.openvpn_servers_sg.this_security_group_id}"
  36. # phantom_servers_sg = "${module.phantom_servers_sg.this_security_group_id}"
  37. # mailrelay_sg = "${module.mailrelay_sg.this_security_group_id}"
  38. # moose_sg = "${module.moose_inbound_sg.this_security_group_id}"
  39. # vuln_scanner_sg_count = 1
  40. # vuln_scanner_sgs = [ "${module.vuln_scanners_sg.this_security_group_id}" ]
  41. #}
  42. module "allow_all_sg" {
  43. use_name_prefix = false
  44. source = "terraform-aws-modules/security-group/aws"
  45. version = "~> 3"
  46. name = "allow-all"
  47. tags = merge(var.standard_tags, var.tags)
  48. vpc_id = module.vpc.vpc_id
  49. ingress_cidr_blocks = [ "0.0.0.0/0" ]
  50. egress_cidr_blocks = [ "0.0.0.0/0" ]
  51. ingress_rules = [ "all-all" ]
  52. egress_rules = [ "all-all" ]
  53. }
  54. module "allow_all_outbound_sg" {
  55. use_name_prefix = false
  56. source = "terraform-aws-modules/security-group/aws"
  57. version = "~> 3"
  58. name = "allow-all-outbound"
  59. tags = merge(var.standard_tags, var.tags)
  60. vpc_id = module.vpc.vpc_id
  61. egress_rules = [ "all-all" ]
  62. }
  63. # TODO: Do we still want direct ssh as a standard SG? I think we want
  64. # to avoid this, so I'd say create it only with resources that need it.
  65. #module "ssh_all_sg" {
  66. # use_name_prefix = false
  67. # source = "terraform-aws-modules/security-group/aws"
  68. # version = "~> 2.17"
  69. # name = "ssh-any"
  70. # tags = merge(var.standard_tags, var.tags)
  71. # vpc_id = "${module.vpc.vpc_id}"
  72. #
  73. # ingress_cidr_blocks = "${local.ssh_jump_whitelist}"
  74. #
  75. # egress_cidr_blocks = [ "0.0.0.0/0" ]
  76. # ingress_rules = [ "ssh-tcp", "all-icmp" ]
  77. #}