main.tf 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # Some instance variables
  2. locals {
  3. ami_selection = "minion" # master, minion, ...
  4. }
  5. # Rather than pass in the aws security group, we just look it up. This will
  6. # probably be useful other places, as well.
  7. data "aws_security_group" "typical-host" {
  8. name = "typical-host"
  9. vpc_id = var.vpc_id
  10. }
  11. # Use the default EBS key
  12. data "aws_kms_key" "ebs-key" {
  13. key_id = "alias/ebs_root_encrypt_decrypt"
  14. }
  15. #----------------------------------------------------------------------------
  16. # Mailrelay Security Group
  17. #----------------------------------------------------------------------------
  18. resource "aws_security_group" "mailrelay_security_group" {
  19. name = "mailrelay_security_group"
  20. description = "Security Group for the Mail Relay Server(s)"
  21. vpc_id = var.vpc_id
  22. tags = merge(local.standard_tags, var.tags)
  23. }
  24. #-----------------------------------------------------------------
  25. # Ingress
  26. #-----------------------------------------------------------------
  27. resource "aws_security_group_rule" "smtp-in" {
  28. type = "ingress"
  29. description = "SMTP - Inbound requests"
  30. from_port = 25
  31. to_port = 25
  32. protocol = "tcp"
  33. cidr_blocks = ["10.0.0.0/8"]
  34. security_group_id = aws_security_group.mailrelay_security_group.id
  35. }
  36. resource "aws_security_group_rule" "submission-in" {
  37. description = "Submission SMTP-S - Inbound requests"
  38. type = "ingress"
  39. from_port = 587
  40. to_port = 587
  41. protocol = "tcp"
  42. cidr_blocks = ["10.0.0.0/8"]
  43. security_group_id = aws_security_group.mailrelay_security_group.id
  44. }
  45. #resource "aws_security_group_rule" "smtp-out" {
  46. # description = "outbound smtp requests"
  47. # type = "egress"
  48. # from_port = 25
  49. # to_port = 25
  50. # protocol = "tcp"
  51. # cidr_blocks = [ "10.0.0.0/8" ]
  52. # security_group_id = aws_security_group.mailrelay_security_group.id
  53. #}
  54. #-----------------------------------------------------------------
  55. # Egress
  56. #-----------------------------------------------------------------
  57. resource "aws_security_group_rule" "submission-out" {
  58. description = "Submission SMTP-S - Outbound requests"
  59. type = "egress"
  60. from_port = 587
  61. to_port = 587
  62. protocol = "tcp"
  63. cidr_blocks = ["0.0.0.0/0"] # tfsec:ignore:aws-vpc-no-public-egress-sgr
  64. security_group_id = aws_security_group.mailrelay_security_group.id
  65. }