Μετάβαση στο περιεχόμενο

Ρυθμίσεις cookies

Επιλέξτε ανά κατηγορία ποια cookies επιτρέπετε. Μπορείτε να αλλάξετε την επιλογή σας οποιαδήποτε στιγμή μέσω των Ρυθμίσεων cookies στο κάτω μέρος κάθε σελίδας. Δήλωση απορρήτου

Απαραίτητα

Πάντα ενεργά

Χρειάζονται για τη σύνδεση, για να διατηρείται το καλάθι σας και για να θυμόμαστε τις επιλογές σας. Είναι πάντα ενεργά.

Ποια cookies;
  • weboke_sessie, weboke_klant, weboke_remember: η συνεδρία σας και η παραμονή σε σύνδεση
  • weboke_basket: το καλάθι σας
  • wkBtwIncl: εμφάνιση τιμών με ή χωρίς ΦΠΑ
  • wok_cookies: η επιλογή σας για τα cookies, 12 μήνες

Μετρούν ποια διαφήμιση οδηγεί σε επίσκεψη ή παραγγελία, ώστε να μην πληρώνουμε για διαφημίσεις που δεν αποδίδουν.

Ποια cookies;
  • Google Ads μέσω Google Tag Manager (_gcl_au, _gcl_aw), έως 90 ημέρες
  • OpenAI Ads, διαφημίσεις στο ChatGPT
  • wok_aff: μέσω ποιου συνεργάτη ήρθατε σε εμάς (πρόγραμμα συνεργατών), 60 ημέρες

4,6

Χώρα και γλώσσα

Κάθε χώρα έχει τη δική της ιστοσελίδα, με τιμές και ΦΠΑ της χώρας αυτής.

Προβολή

DKIM στην πράξη: selectors, κλειδιά και υπηρεσίες

Ενότητα 4: Παραδοσιμότητα: SPF, DKIM και DMARC στην πράξη · Χρόνος ανάγνωσης: 12 λεπτά

Στόχος μαθήματος: Μετά από αυτό το μάθημα θα μπορείτε να αναλύετε μια κεφαλίδα DKIM-Signature, να ρυθμίζετε DKIM με το δικό σας domain για κάθε υπηρεσία αποστολής, να ελέγχετε αν ένας selector λειτουργεί και να εξηγήσετε πώς αντικαθιστάτε κλειδιά με ασφάλεια.

Βασικές έννοιες: DKIM-Signature, d= (domain που υπογράφει), s= (selector), h= (υπογεγραμμένες κεφαλίδες), bh= και b=, κανονικοποίηση (c=), <selector>._domainkey.<domein>, TXT με p= ή CNAME προς την υπηρεσία, μήκος κλειδιού 2048 bit (RFC 8301), τμήματα των 255 χαρακτήρων, ed25519 (RFC 8463), αντικατάσταση κλειδιού, κενό p= (ανάκληση), DKIM και ανακατεύθυνση

Γιατί το DKIM είναι το σημαντικότερο από τα τρία

Το SPF λέει ποιοι servers επιτρέπεται να στέλνουν mail, αλλά σπάει κατά την ανακατεύθυνση και κοιτάζει το Return-Path, το οποίο σε πολλές υπηρεσίες δεν ανήκει σε εσάς. Το DKIM τοποθετεί μια υπογραφή μέσα στο ίδιο το mail. Αυτή η υπογραφή επιβιώνει την ανακατεύθυνση (εφόσον το mail δεν αλλάζει) και συνδέεται με ένα domain που επιλέγετε εσείς. Γι' αυτό το DKIM είναι στην πράξη συχνά το μόνο που κάνει το DMARC να περνάει για newsletters, τιμολόγια από πρόγραμμα λογιστικής και ανακατευθυνόμενο mail.

Τα βασικά (πώς βρίσκεται το κλειδί στο DNS, τι είναι ένας selector) βρίσκονται στο μάθημα 4.4 της σειράς DNS. Εδώ προχωράμε παραπέρα: τι ακριβώς περιέχει μια υπογραφή και πώς ρυθμίζετε το DKIM για κάθε υπηρεσία;

Ανάλυση μιας υπογραφής

Ανοίξτε τις κεφαλίδες ενός mail που έχετε λάβει (μάθημα 1.5). Στην κορυφή, αν το mail είναι υπογεγραμμένο, βλέπετε κάτι σαν:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=x;
	t=1762588800; h=from:to:subject:date:message-id:mime-version:content-type;
	bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
	b=Gm7yW3q...lange reeks tekens...Qx9A==
ΕτικέταΣημασία
v=1Έκδοση DKIM
a=rsa-sha256Αλγόριθμος: κλειδί RSA, SHA-256. Επίσης πιθανό: ed25519-sha256
c=relaxed/relaxedΚανονικοποίηση: πόσο αυστηρά αντιμετωπίζονται μικρές αλλαγές (κενά, κεφαλαία στα ονόματα κεφαλίδων), για τις κεφαλίδες και το κείμενο. Το relaxed είναι συνηθισμένο και πιο ανεκτικό από το simple
d=example.comΤο domain που υπογράφει. Αυτό το domain εγγυάται για το mail. Το DMARC το συγκρίνει με τη διεύθυνση Από
s=xΟ selector: ποιο κλειδί αυτού του domain χρησιμοποιήθηκε
t=Χρονική στιγμή υπογραφής (δευτερόλεπτα από το 1970)
h=Ποιες κεφαλίδες έχουν υπογραφεί. Το from πρέπει πάντα να περιλαμβάνεται
bh=Ένα αποτύπωμα (hash) του κειμένου του mail
b=Η ίδια η υπογραφή

Ο παραλήπτης ανακτά το δημόσιο κλειδί από το <s>._domainkey.<d>, εδώ δηλαδή x._domainkey.example.com, και ελέγχει αν το b= ταιριάζει με τις κεφαλίδες από το h= και το αποτύπωμα bh=. Αν στη διαδρομή έχει αλλάξει έστω ένα γράμμα στο κείμενο ή σε μια υπογεγραμμένη κεφαλίδα, ο έλεγχος αποτυγχάνει.

Στο Authentication-Results βλέπετε το αποτέλεσμα, για παράδειγμα dkim=pass header.d=example.com header.s=x. Ένα mail μπορεί να έχει πολλές υπογραφές, για παράδειγμα μία από το δικό σας domain και μία από την ίδια την υπηρεσία. Για το DMARC μετράει μόνο μια υπογραφή της οποίας το d= αντιστοιχεί στο domain Από σας.

Κάθε υπηρεσία ο δικός της selector

Ένα domain μπορεί να έχει πολλά κλειδιά DKIM ταυτόχρονα, το καθένα κάτω από δικό του selector. Αυτός ακριβώς είναι ο σκοπός: κάθε υπηρεσία που στέλνει εκ μέρους σας υπογράφει με δικό της κλειδί.

ΑποστολέαςSelector (παράδειγμα)Πώς βρίσκεται στο DNS
Mail server hostingx ή defaultTXT με το κλειδί, δημιουργημένο από το πάνελ
Microsoft 365selector1, selector2δύο εγγραφές CNAME προς τη Microsoft
Google Workspacegoogle (προεπιλογή)TXT με κλειδί που δημιουργείτε στην κονσόλα διαχείρισης
Υπηρεσία newsletterγια παράδειγμα k2, k3, mte1συνήθως εγγραφές CNAME προς την υπηρεσία

TXT ή CNAME;

  • Σε μια εγγραφή TXT τοποθετείτε εσείς ο ίδιος το δημόσιο κλειδί στο DNS σας. Αν η υπηρεσία θέλει νέο κλειδί, πρέπει εσείς να προσαρμόσετε την εγγραφή.
  • Σε μια εγγραφή CNAME κατευθύνετε τον selector προς ένα όνομα στην υπηρεσία, για παράδειγμα k2._domainkey.example.com CNAME dkim2.mailer.example. Η υπηρεσία διαχειρίζεται τότε το κλειδί μόνη της και μπορεί να το αντικαταστήσει χωρίς να χρειάζεται να κάνετε εσείς κάτι. Γι' αυτό οι μεγάλες υπηρεσίες επιλέγουν CNAME, και συχνά χρησιμοποιούν δύο: έτσι μπορούν να εναλλάσσονται μεταξύ ενός ενεργού και ενός νέου κλειδιού.

Προσοχή: ένα CNAME δεν επιτρέπεται να συνυπάρχει με άλλη εγγραφή στο ίδιο όνομα. Αν υπάρχει ήδη TXT στο selector1._domainkey, αφαιρέστε το.

Το σημαντικότερο: ενεργοποίηση του DKIM στην υπηρεσία

Σε πολλές υπηρεσίες το DKIM με το δικό σας domain δεν είναι ενεργό από προεπιλογή. Υπογράφουν τότε με το δικό τους domain (d=mailer.example). Το mail είναι μεν υπογεγραμμένο, αλλά δεν είναι ευθυγραμμισμένο με τη διεύθυνση Από σας. Για το DMARC αυτό δεν μετράει. Στη διαχείριση της υπηρεσίας αυτό συχνά ονομάζεται "επαλήθευση domain", "domain verification", "αυθεντικοποίηση" ή "δικό σας domain αποστολέα". Μόνο αφού έχετε τοποθετήσει τις εγγραφές ΚΑΙ το έχετε ενεργοποιήσει στην υπηρεσία, αυτή υπογράφει με d=example.com.

Κλειδιά: μήκος, τμήματα και αλγόριθμος

  • Μήκος. Το RFC 8301 λέει: τουλάχιστον 1024 bit, και οι αποστολείς οφείλουν να χρησιμοποιούν τουλάχιστον 2048 bit. Χρησιμοποιήστε 2048. Ένα κλειδί 512 bit θεωρείται άκυρο από τους παραλήπτες.
  • Τμήματα των 255 χαρακτήρων. Μια εγγραφή TXT αποτελείται από αλφαριθμητικά μέγιστου μήκους 255 χαρακτήρων. Ένα κλειδί 2048 bit έχει περίπου 400 χαρακτήρες και δεν χωράει σε μία μόνο σειρά. Η εγγραφή αποτελείται τότε από δύο ή περισσότερες σειρές η μία μετά την άλλη ("v=DKIM1; k=rsa; p=MIIBIj..." "...IDAQAB"), τις οποίες ο παραλήπτης ενώνει. Τα περισσότερα πάνελ το κάνουν αυτόματα. Αν κάτι πάει στραβά, λαμβάνετε ένα κομμένο κλειδί και κάθε υπογραφή αποτυγχάνει. Αντιγράφετε λοιπόν πάντα ένα κλειδί στο σύνολό του, χωρίς επιπλέον κενά ή εισαγωγικά στη μέση.
  • Το ed25519 (RFC 8463) είναι ένας πιο σύγχρονος αλγόριθμος με σύντομα κλειδιά. Δεν το ελέγχουν ακόμη όλοι οι παραλήπτες. Όσοι το χρησιμοποιούν υπογράφουν γι' αυτό με δύο υπογραφές: μία RSA και μία ed25519.

Αντικατάσταση ενός κλειδιού

Είναι καλό να αντικαθιστάτε ένα κλειδί κάπου κάπου, και σίγουρα αν υποψιάζεστε ότι το ιδιωτικό κλειδί έχει διαρρεύσει (για παράδειγμα μετά από hack του server ή αποχώρηση διαχειριστή). Κάντε το ως εξής:

  1. Δημιουργήστε ένα νέο κλειδί κάτω από έναν νέο selector, για παράδειγμα s2026, και τοποθετήστε το δημόσιο κλειδί στο DNS.
  2. Περιμένετε έως ότου η εγγραφή είναι ορατή παντού (το TTL, βλέπε μάθημα 6.1 της σειράς DNS).
  3. Αφήστε τον server να υπογράφει με τον νέο selector.
  4. Αφήστε το παλιό κλειδί να παραμείνει για μερικές ακόμη ημέρες: mail που ήδη βρισκόταν καθ' οδόν ή ελέγχεται ξανά, εξακολουθεί να το αναφέρει.
  5. Ανακαλέστε το παλιό κλειδί αδειάζοντας το p= (v=DKIM1; p=), ή αφαιρέστε την εγγραφή.

Σε υπηρεσίες με εγγραφές CNAME, αυτό το κάνει η ίδια η υπηρεσία.

Τι κάνει το DKIM να αποτυγχάνει

  • Το mail αλλάζει κατά τη διαδρομή: μια λίστα αλληλογραφίας που βάζει [όνομα_λίστας] στο θέμα ή προσθέτει υποσέλιδο, ένας σαρωτής ιών που προσθέτει μια γραμμή κάτω από το mail, ένας server ανακατεύθυνσης που μετατρέπει τη μορφοποίηση.
  • Λάθος ή κομμένο κλειδί στο DNS.
  • Ο selector δεν υπάρχει: ένα τυπογραφικό λάθος στο όνομα, ή selector1._domainkey.example.com.example.com (το όνομα domain διπλό, επειδή το πάνελ το προσθέτει ήδη μόνο του στο τέλος).
  • Ανακληθέν κλειδί (κενό p=) ενώ ο server συνεχίζει να υπογράφει με αυτόν τον selector.

Έλεγχος αν λειτουργεί

  1. Στείλτε ένα mail από την υπηρεσία προς μια διεύθυνση στο Gmail ή στο Outlook.com.
  2. Ανοίξτε τις κεφαλίδες και εντοπίστε το DKIM-Signature: σημειώστε το d= και το s=.
  3. Κοιτάξτε στο Authentication-Results αν αναγράφεται dkim=pass, και αν το header.d= είναι το δικό σας domain.
  4. Αναζητήστε τον selector: dig TXT s._domainkey.example.com (ή με ένα online εργαλείο). Πρέπει να υπάρχει ένα p= με μακρύ κλειδί, ή ένα CNAME που οδηγεί σε τέτοια εγγραφή.

Στην πράξη: έτσι φαίνεται σε ένα πάνελ

Σε ένα πακέτο hosting του WebOké, το DKIM είναι ενεργό από προεπιλογή, με selector x: η εγγραφή ονομάζεται x._domainkey.<το_domain_σας>. Στο DirectAdmin το βλέπετε στο DNS Administration: αν το DNS σας βρίσκεται σε άλλον πάροχο, αντιγράφετε αυτή την εγγραφή εκεί. Στο Το WebOké μου, η κάρτα Set E-mail δείχνει ποια τιμή πρέπει να υπάρχει και αν αυτή βρίσκεται. Σε άλλους παρόχους ο selector ονομάζεται διαφορετικά (default, mail, dkim), αλλά τον βρίσκετε με τον ίδιο τρόπο: στο πάνελ ή στο s= ενός υπογεγραμμένου mail.

Σύνοψη

  • Το DKIM είναι ο έλεγχος που επιβιώνει την ανακατεύθυνση και που συνδέετε ανά υπηρεσία με το δικό σας domain· για το DMARC μετράει μόνο μια υπογραφή με το δικό σας domain στο d=.
  • Στο DKIM-Signature βρίσκετε το d= (domain) και το s= (selector)· το κλειδί βρίσκεται στο <s>._domainkey.<d>.
  • Κάθε υπηρεσία λαμβάνει δικό της selector· οι εγγραφές CNAME επιτρέπουν στην υπηρεσία να αντικαθιστά τα κλειδιά μόνη της. Φροντίστε να ενεργοποιήσετε όντως το DKIM με το δικό σας domain στην υπηρεσία.
  • Χρησιμοποιήστε 2048 bit· προσέξτε τα κομμένα κλειδιά κατά την αντιγραφή.
  • Αντικαταστήστε ένα κλειδί με νέο selector και ανακαλέστε το παλιό μόνο αφού ολοκληρωθεί η μετάβαση.

Κουίζ

1. Σε ένα DKIM-Signature αναγράφεται d=mailer.example; s=k1, ενώ η διεύθυνση Από είναι info@example.com. Τι σημαίνει αυτό για το DMARC;



2. Γιατί υπηρεσίες όπως το Microsoft 365 χρησιμοποιούν δύο εγγραφές CNAME για το DKIM;



3. Μετά την αντιγραφή ενός κλειδιού DKIM στο DNS σας, κάθε υπογραφή αποτυγχάνει. Το κλειδί στο DNS έχει μήκος 255 χαρακτήρων. Ποια είναι η πιθανή αιτία;



4. Μια λίστα αλληλογραφίας βάζει [μέλη] μπροστά από το θέμα. Η υπογραφή σας είχε υπογράψει το subject. Τι συμβαίνει με το DKIM σας στον τελικό παραλήπτη;



5. Ποια είναι η ασφαλής σειρά κατά την αντικατάσταση ενός κλειδιού DKIM;



Άσκηση

Άσκηση Z4.3: Έλεγχος ενός DKIM selector. Στείλτε ένα mail από το δικό σας domain (ή από μια υπηρεσία που στέλνει εκ μέρους σας) προς δική σας διεύθυνση σε άλλον πάροχο. Ανοίξτε τις κεφαλίδες και συμπληρώστε τις τιμές d= και s= από το DKIM-Signature, καθώς και τι αναγράφεται στο Authentication-Results στο dkim=. Το πρόγραμμα αναζητά τον selector ζωντανά, ακολουθεί ενδεχόμενο CNAME, ελέγχει το κλειδί (παρουσία, μη κενό, μήκος) και σας λέει αν το d= είναι ευθυγραμμισμένο με το domain που δηλώνετε ως αποστολέα.

Άσκηση Z4.3: Έλεγχος ενός DKIM selector

Πάρτε το d= και το s= από το DKIM-Signature ενός μηνύματος από το δικό σας domain (ή από μια υπηρεσία που στέλνει μηνύματα για λογαριασμό σας).





Ό,τι συμπληρώνετε και ό,τι βρίσκουμε δεν το αποθηκεύουμε. Το πρόγραμμα περιήγησής σας θυμάται τις απαντήσεις σας και αν περάσατε την άσκηση. Αν έχετε εγγραφεί, αποθηκεύουμε μόνο ότι η άσκηση ήταν (σχεδόν) σωστή στο Τα μαθήματά μου· εκεί μπορείτε και να το διαγράψετε.

Για περαιτέρω μελέτη

Τα βήματα σε αυτά τα άρθρα ισχύουν για τα πάνελ του WebOké· σε άλλους παρόχους η διαδικασία είναι παρόμοια.

Μια στιγμή…

Ρυθμίστε τα domains σας

Ρυθμίστε για κάθε domain τους nameservers, τη σύνδεση με το hosting σας και ποιος θα είναι ο κάτοχος.

Φόρτωση των domains σας…