Ενότητα 4 · 4.4
DKIM: η υπογραφή κάτω από το email σας
Ενότητα 4: Εγγραφές για email · Χρόνος ανάγνωσης: 8 λεπτά
Στόχος μαθήματος: Μετά από αυτό το μάθημα θα μπορείτε να εξηγήσετε πώς λειτουργεί το DKIM, να εντοπίζετε και να ελέγχετε μια εγγραφή DKIM και να τοποθετείτε σωστά μια εγγραφή DKIM μιας εξωτερικής υπηρεσίας (ως TXT ή ως CNAME).
Βασικές έννοιες: DKIM, ψηφιακή υπογραφή, ιδιωτικό κλειδί και δημόσιο κλειδί, selector, _domainkey, d= και s=, v=DKIM1; k=rsa; p=, DKIM μέσω CNAME, εναλλαγή κλειδιών
Μια σφραγίδα σε κάθε email
Το SPF (μάθημα 4.3) ελέγχει από ποιον server προέρχεται ένα email. Το DKIM (DomainKeys Identified Mail, RFC 6376) λειτουργεί διαφορετικά: τοποθετεί μια ψηφιακή υπογραφή πάνω στο ίδιο το email.
Έτσι λειτουργεί:
- Ο server αποστολής email διαθέτει ένα μυστικό ιδιωτικό κλειδί. Με αυτό δημιουργεί για κάθε email μια υπογραφή πάνω στα σημαντικότερα στοιχεία: τον αποστολέα, το θέμα, την ημερομηνία και το περιεχόμενο.
- Αυτή η υπογραφή συμπεριλαμβάνεται σε μια κεφαλίδα του email:
DKIM-Signature. - Το αντίστοιχο δημόσιο κλειδί βρίσκεται στο DNS του domain, σε μια εγγραφή TXT.
- Ο παραλήπτης ανακτά αυτό το δημόσιο κλειδί και ελέγχει την υπογραφή. Αν είναι σωστή, γνωρίζει δύο πράγματα: το email υπογράφηκε πράγματι από κάποιον που διαχειρίζεται το DNS αυτού του domain, και το email δεν τροποποιήθηκε κατά τη μεταφορά του.
Το ωραίο είναι ότι το DKIM συνεχίζει να λειτουργεί όταν ένα email προωθείται, αρκεί να μην αλλάζει το περιεχόμενο. Εκεί δυσκολεύεται το SPF.
Πού βρίσκεται το κλειδί; Ο selector
Ένα domain μπορεί να έχει πολλαπλά κλειδιά DKIM: ένα από τον δικό σας mail server, ένα από το Microsoft 365, ένα από την υπηρεσία newsletter σας. Για να ξεχωρίζουν, κάθε κλειδί έχει ένα όνομα, τον selector.
Στην υπογραφή υπάρχουν δύο σημαντικά πεδία:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail2026; ...d=example.com: το domain που υπογράφει.s=mail2026: ο selector.
Ο παραλήπτης αναζητά τότε το κλειδί σε αυτό το όνομα:
<selector>._domainkey.<domein>
mail2026._domainkey.example.comΤο τμήμα _domainkey είναι σταθερό. Η εγγραφή έχει για παράδειγμα αυτή τη μορφή:
mail2026._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."| Στοιχείο | Σημασία |
|---|---|
v=DKIM1 | Πρόκειται για κλειδί DKIM. |
k=rsa | Ο τύπος κλειδιού. Το RSA είναι ο συνηθισμένος τύπος· υπάρχει και το ed25519 (RFC 8463). |
p=... | Το ίδιο το δημόσιο κλειδί, μια μεγάλη σειρά γραμμάτων και αριθμών. Αν το p= είναι κενό, το κλειδί έχει ανακληθεί. |
Ένα κλειδί RSA των 2048 bit είναι η συνηθισμένη επιλογή· τα 1024 bit είναι το ελάχιστο (RFC 8301). Ένα τέτοιο κλειδί είναι μεγαλύτερο από 255 χαρακτήρες, οπότε η εγγραφή αποτελείται από πολλά τμήματα κειμένου (μάθημα 4.2). Τα περισσότερα panel το φροντίζουν αυτά μόνα τους.
Το δικό σας DKIM και αυτό των υπηρεσιών
Το πακέτο hosting ή ο mail server σας. Σε πολλούς server το DKIM είναι ενεργοποιημένο εξ ορισμού και το panel τοποθετεί μόνο του την εγγραφή στο DNS. Θα δείτε τότε μια εγγραφή TXT με όνομα όπως x._domainkey ή default._domainkey.
Αν το DNS του domain σας βρίσκεται σε άλλον πάροχο (για παράδειγμα το Cloudflare ή τον registrar σας), τότε ο mail server σας δεν μπορεί να τοποθετήσει την εγγραφή εκεί μόνος του. Σε αυτή την περίπτωση αντιγράφετε το όνομα και την πλήρη τιμή από το panel hosting σας και δημιουργείτε στον πάροχο DNS σας μια εγγραφή TXT με ακριβώς αυτό το όνομα και την τιμή. Αυτό το ξεχνούν συχνά οι χρήστες όταν αλλάζουν nameservers: τότε το email καταλήγει όλο και πιο συχνά στα ανεπιθύμητα.
Εξωτερικές υπηρεσίες. Το Microsoft 365, το Google Workspace και οι υπηρεσίες newsletter υπογράφουν με το δικό τους κλειδί. Από αυτούς λαμβάνετε μία ή περισσότερες εγγραφές:
- Ως TXT, για παράδειγμα Google Workspace: όνομα
google._domainkey, τιμήv=DKIM1; k=rsa; p=ακολουθούμενη από το μεγάλο κλειδί. - Ως CNAME, για παράδειγμα Microsoft 365 (
selector1._domainkeyκαιselector2._domainkey) ή Mailchimp (k2._domainkeyκαιk3._domainkey). Ένα CNAME δείχνει σε ένα κλειδί που διαχειρίζεται η ίδια η υπηρεσία. Το πλεονέκτημα: η υπηρεσία μπορεί να αντικαταστήσει το κλειδί της χωρίς να χρειάζεται να κάνετε εσείς τίποτα.
Όλες αυτές οι εγγραφές έχουν δικό τους selector και έτσι δεν επηρεάζουν η μία την άλλη. Μην αφαιρείτε την εγγραφή DKIM του δικού σας mail server όταν προσθέτετε μια υπηρεσία.
Γιατί δύο selectors;
Υπηρεσίες όπως το Microsoft 365 ζητούν δύο εγγραφές CNAME, selector1 και selector2. Υπογράφουν με ένα κλειδί κάθε φορά και εναλλάσσονται περιοδικά στο άλλο (εναλλαγή κλειδιών). Αν τοποθετήσετε μόνο το selector1, θα λειτουργεί μέχρι την πρώτη εναλλαγή, και μετά το DKIM θα αποτύχει αμέσως. Τοποθετήστε λοιπόν πάντα όλες τις εγγραφές που υποδεικνύει η υπηρεσία.
Συνηθισμένα λάθη
- Διπλό όνομα domain. Πληκτρολογείτε
k2._domainkey.example.comσε ένα panel που προσθέτει μόνο του το όνομα domain στο τέλος. Αποτέλεσμα:k2._domainkey.example.com.example.com. Πληκτρολογήστε μόνοk2._domainkey. - TXT αντί για CNAME (ή το αντίστροφο). Χρησιμοποιήστε ακριβώς τον τύπο που υποδεικνύει η υπηρεσία.
- Απουσία τελείας στο τέλος ενός προορισμού CNAME. Σε panel που το απαιτούν:
dkim2.mcsv.net.με τελεία. - Κομμένο κλειδί. Κατά την αντιγραφή λείπει το τελευταίο τμήμα του
p=. Συγκρίνετε την αρχή και το τέλος με το πρωτότυπο. - Ενεργοποίηση DKIM στο panel της υπηρεσίας, αλλά χωρίς να έχουν τοποθετηθεί οι εγγραφές, ή το αντίστροφο. Στις περισσότερες υπηρεσίες πρέπει πρώτα να τοποθετήσετε τις εγγραφές και μετά να ενεργοποιήσετε το DKIM στην οθόνη διαχείρισής τους.
Έλεγχος αν λειτουργεί το DKIM
Στείλτε ένα email σε μια διεύθυνση μεγάλου παρόχου (για παράδειγμα Gmail) και δείτε το πρωτότυπο (Εμφάνιση πρωτοτύπου ή Εμφάνιση πηγής). Αναζητήστε το dkim=pass και δείτε ποιο domain αναγράφεται δίπλα. Ή στείλτε ένα email σε μια υπηρεσία δοκιμής όπως το mail-tester.com. Μπορείτε επίσης να αναζητήσετε την εγγραφή μόνοι σας με ένα εργαλείο DNS: ζητήστε την εγγραφή TXT του <selector>._domainkey.<domein>.
Στην πράξη: έτσι φαίνεται σε ένα panel
Σε αυτό το παράδειγμα χρησιμοποιούμε το DirectAdmin. Στο DNS Administration υπάρχει μια εγγραφή TXT με το όνομα x._domainkey· η τιμή ξεκινά με v=DKIM1; k=rsa; p=. Στο E-mail Manager, E-mail Accounts υπάρχει ένα κουμπί για ενεργοποίηση ή απενεργοποίηση του DKIM. Ένα CNAME μιας υπηρεσίας το δημιουργείτε μέσω του Add Record, τύπος CNAME, όνομα k2._domainkey, τιμή με τελεία στο τέλος.
Σε άλλα panel το DKIM βρίσκεται μερικές φορές κάτω από το "Email Authentication" ή το "Email Security", αλλά η εγγραφή στο DNS είναι παντού ίδια.
Σύνοψη
- Το DKIM τοποθετεί μια ψηφιακή υπογραφή σε κάθε email· το δημόσιο κλειδί βρίσκεται στο DNS.
- Το κλειδί βρίσκεται στο
<selector>._domainkey.<domein>. Ο selector αναγράφεται στην υπογραφή (s=), όπως και το domain (d=). - Κάθε υπηρεσία έχει τον δικό της selector· οι εγγραφές διαφορετικών υπηρεσιών συνυπάρχουν χωρίς πρόβλημα.
- Οι υπηρεσίες χρησιμοποιούν συχνά εγγραφές CNAME και πολλαπλούς selectors. Τοποθετήστε τις όλες, με ακριβώς τον υποδεικνυόμενο τύπο.
- Αν το DNS σας βρίσκεται σε άλλον πάροχο, πρέπει να τοποθετήσετε εκεί μόνοι σας το κλειδί DKIM του δικού σας mail server.
Κουίζ
Άσκηση
Άσκηση Z4.4: Αναζήτηση DKIM. Ανοίξτε ένα email που έχετε λάβει από μια εταιρεία ή οργανισμό και δείτε το πρωτότυπο. Αναζητήστε στην κεφαλίδα DKIM-Signature το domain (d=) και τον selector (s=). Συμπληρώστε και τα δύο. Ο έλεγχος αναζητά το αντίστοιχο κλειδί.
Άσκηση O4.4: Ρύθμιση στη ζώνη εξάσκησής σας. Στη ζώνη εξάσκησης χρησιμοποιείτε μια ψεύτικη υπηρεσία· στο πραγματικό σας domain χρησιμοποιείτε το πραγματικό κλειδί ή CNAME από τον mail server ή την υπηρεσία σας. Θα λάβετε στην άσκηση ένα κλειδί εξάσκησης (την τιμή μετά το p=). Αυτό το κλειδί είναι μεγάλο: επικολλήστε το ολόκληρο, χωρίς να παραλείψετε τίποτα. Δημιουργήστε στη ζώνη εξάσκησής σας :<code>.dnspractice.eu
- μια εγγραφή TXT στο
cursus._domainkeyμε την τιμήv=DKIM1; k=rsa; p=<oefensleutel>· - μια εγγραφή CNAME στο
k2._domainkeyπου δείχνει στοdkim.newsletter-demo.dnspractice.eu.(με την τελεία στο τέλος αν το panel σας το ζητά).
Άσκηση O4.4
Αυτή την άσκηση την κάνετε στη δική σας ζώνη εξάσκησης: μια πραγματική ζώνη DNS στους nameservers του WebOké, μόνο για εσάς. Εγγραφείτε με το email σας. Θα λάβετε έναν σύνδεσμο σύνδεσης μέσω email και θα επιστρέψετε στη συνέχεια σε αυτό το μάθημα. Χρησιμοποιούμε τη διεύθυνσή σας μόνο για το μάθημα.
Περαιτέρω ανάγνωση
Τα βήματα σε αυτά τα άρθρα ισχύουν για τα panel του WebOké· σε άλλα panel η διαδικασία είναι παρόμοια.
- Εγχειρίδιο DirectAdmin 5.8: Ενεργοποίηση και έλεγχος του DKIM
- Ρύθμιση DKIM όταν το DNS βρίσκεται σε εξωτερικό server
- Εγχειρίδιο DirectAdmin 5.4: Εγγραφές CNAME και η τελεία στο τέλος
- Εγχειρίδιο WebOké 6.7: Η κάρτα Ρύθμιση email (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (μήκος κλειδιού), RFC 8463 (Ed25519)
