Το DKIM (DomainKeys Identified Mail) είναι μια κρίσιμη τεχνική αυθεντικοποίησης email που βοηθά στην αποτροπή του email spoofing. Με τη χρήση DKIM, υπογράφεις ψηφιακά τις κεφαλίδες των email σου με ένα ιδιωτικό κλειδί και ο παραλήπτης επαληθεύει αυτή την υπογραφή χρησιμοποιώντας το δημόσιο κλειδί σου, το οποίο είναι αποθηκευμένο στις εγγραφές DNS του domain σου.

1. Επισκόπηση της Διαδικασίας DKIM

  • Υπογραφή Εξερχόμενων Email: Το Google Workspace υπογράφει τις κεφαλίδες εξερχόμενων email με ιδιωτικό κλειδί.
  • Επαλήθευση Εισερχόμενων Email: Ο διακομιστής email του παραλήπτη ανακτά το δημόσιο κλειδί από το DNS.

2. Terraform Block

a. Τοπική Μεταβλητή για DKIM Record

locals {
  dkim_record = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4FbZGvaSuBW9yDhuswEA6S7QRRZlvvS3Rc6xRK92QJ44+IUoobJf+S3VZGSjdv5Jmpu57JGaq1KsObB5DwObvCW6yhJb6rGd0bgXqTzkfHH7sxnkEbDbNEIyUhxuEbUdWE1KtFz0QMb+GMhxC+j+kntpXtVDWugp9lSa7cnkFVho/gRwVkz47QFD1kQjvP9/QraYZo63M5DObFRFF4rDHvBzNTGl6+FC0OkyA49f19iw1+eFtLWu8BpVIn4HxxZWn04i1KHnm1AX9BztBAoVbJ0ZlF1tEJ5eLMPQg5l0BUcSEYi1RcBKTJU+AJ17fGAJEGr7Ft47SJgHdN9XUPH9NwIDAQAB"
}

b. Δημιουργία DKIM Record στο Route 53

resource "aws_route53_record" "google_domainkey_TXT" {
  zone_id = aws_route53_zone.domain_com.zone_id
  name    = "google._domainkey"
  type    = "TXT"
  ttl     = 300
  records = [
    replace(local.dkim_record, "/(.{255})/", "$1\"\"")
  ]
}

c. Διαχωρισμός Μεγάλων DKIM Records

replace(local.dkim_record, "/(.{255})/", "$1\"\"")

Συμπέρασμα

Η χρήση του Terraform για τη διαχείριση των DKIM records για το Google Workspace και το AWS Route 53 εξορθολογίζει τη διαδικασία ρύθμισης και συντήρησης της αυθεντικοποίησης email σου. Αυτοματοποιώντας το με Infrastructure as Code (IaC), αποκτάς τα οφέλη της επαναληψιμότητας, της ελεγξιμότητας και της ευκολίας διαχείρισης.