Email Authentication

DKIM — DomainKeys Identified Mail

Κρυπτογραφική υπογραφή στα emails που εξακριβώνει ότι όντως στάλθηκαν από το domain.

Τι είναι το DKIM

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

Σε αντίθεση με το SPF που ελέγχει IP διευθύνσεις, το DKIM ελέγχει το ίδιο το περιεχόμενο του μηνύματος.

Πώς λειτουργεί

  1. Δημιουργείς ένα ζεύγος κλειδιών (public/private) στον mail server σου.
  2. Δημοσιεύεις το public key ως TXT record στο DNS, σε διεύθυνση {selector}._domainkey.{domain}.
  3. Όταν στέλνεις email, ο server το υπογράφει με το private key και προσθέτει την υπογραφή σε header DKIM-Signature.
  4. Ο receiver κατεβάζει το public key από το DNS, επαληθεύει την υπογραφή.

Παράδειγμα DKIM record

selector1._domainkey.example.com.  IN  TXT  "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUA..."

Στοιχεία:

  • v=DKIM1 — έκδοση πρωτοκόλλου
  • k=rsa — αλγόριθμος (RSA· σπάνια Ed25519)
  • p=... — Base64-encoded public key
  • selector1 — όνομα της συγκεκριμένης κλειδαρμοιβής (έχεις πολλαπλά selectors για rotation)

Selector rotation

Οι περισσότεροι πάροχοι (Google, Mailgun, SendGrid) χρησιμοποιούν διαφορετικά selectors (google, mailgun, s1, s2...) και τα εναλλάσσουν περιοδικά για ασφάλεια. Όταν αλλάζεις provider, μην σβήνεις τα παλιά selectors αμέσως — άφησέ τα μέχρι να σταματήσει η κίνηση μέσω αυτών.

Συχνά λάθη

  • Λάθος μέγεθος κλειδιού: 1024 bit θεωρείται πλέον αδύναμο. Χρησιμοποίησε 2048.
  • TXT τιμή μεγαλύτερη των 255 χαρακτήρων: σπάσε σε πολλαπλά strings.
  • Λείπει το p= ή είναι κενό — σημαίνει «το κλειδί αυτό ανακλήθηκε».
  • Μόνο DKIM χωρίς DMARC — receivers δεν ξέρουν τι να κάνουν στα fails.

Σχετικά εργαλεία

Σχετικοί όροι