Postfix – DKIM und SPF einrichten

Zusätzlich zum Postfix Header anonymisieren Beitragm öchte ich „kurz und knackig“ beschreiben, wie ihr DKIM für Postfix und SPF einrichtet.

Inspiriert wurde ich durch diese beiden Artikel:

https://www.debinux.de/…/dkim-verstaendnis-konfiguration-und-installation-von-opendkim/
https://kofler.info/dkim-konfiguration-fuer-postfix/

… vielen Dank !
Weitere Informationen zu den Themen findet ihr wie immer auf Wikipedia: DKIM / SPF


Warum sind SPF und DKIM wichtig? Klar jeder Spammer kann sich diese ebenfalls einrichten. Der Hauptgrund ist und bleibt, dass die „Großen“ wie GMX und Web.de die Mails von unserem Mailserver nicht als Spam flaggen.


Punkt 1: SPF im Nameserver hinterlegen

Mit dem SPF Generator kannst du dir einfach und schnell den passenden TXT-Record für deine Domain generieren.

Dieses Beispiel sagt dem Mailserver auf der anderen Seite, dass der Computer mit der IP-Adresse aus dem A-Record und dem MX-Record berechtigt ist diese Mail der Domain zu schicken.

Setze in den Nameservereinstellungen deiner Domain folgenden TXT-Record Eintrag:

Weitere Domains und IP-Adressen kannst du in den Erweiterten Optionen des Generators hinzufügen.
Sollte es Probleme bei Formularen oder Weiterleitungen geben, empfiehlt es sich ~all in ?all abzuändern. Mehr dazu im Wikipedia Beitrag.

Punkt 2: Installation von DKIM

Wir installieren die folgenden Pakete. In diesem Beispiel unter Debian Jessie.

Nun legen wir die nötigen Ordner an und vergeben Rechte.

Punkt 3: Postfix main.cf erweitern

Der Postfix erhält ein paar Milter Zeilen um OpenDKIM einzubinden.

Punkt 4: OpenDKIM Config anpassen

Die Konfigurationsdatei kann unter Debian so übernommen werden. Wie gesagt „kurz und knackig“ – mehr Infos unter den oben genannten Links.

Punkt 5: Interne Mails ohne Signatur

In der trusted Config tragen wir IP-Adressen und Domainnamen der von uns vertrauten Server ein. Denn diese Server benötigen keine DKIM Signatur.

Punkt 6: Schlüsselzuordnung der einzelnen Domains

Es lohnt sich auch bei nur einer Domain direkt eine Tabelle anzulegen die sagt welcher Key zu welcher Domain gehört. Postfix könnte ja Jederzeit eine neue Domain vom Admin erhalten 🙂

Punkt 7: DKIM Schlüssel generieren

Für die Erstellung eines neuen Key-Paares geben wir bei -d die Domain, -b die Bitrate (mehr als 2048 könnte zu Problemen führen) und -s den Selektor (dieser steht im DNS-TXT Feld) an.

Wir erhalten die beiden Dateien mit Public-Key und Private-Key.

Wir verschieben und benennen diese um.

Punkt 8: DNS-TXT Eintrag hinzufügen

Wir fügen den erstellten Public-Key in unserem Nameserver als TXT-Eintrag hinzu.

Die ‚ “ ‚ könnt ihr entfernen und eine lange Zeile draus machen.

Punkt 9: Dienste Neustarten & Prüfen

Dienste Neustarten.

Wir prüfen ob der DNS-TXT Eintrag korrekt hinterlegt ist. Wenn ein „key OK“ erscheint passt alles. Ein „key not secure“ ist ok und erscheint wenn kein DNSSEC verwendet wird.

Einen sehr guter Test ist ein Senden einer Testmail an die angegebene Mail-Adresse auf mail-tester.com.

UnterstützenDas Betreiben der Dienste, Webseite und Server machen wir gerne, kostet aber leider auch Geld.
Unterstütze unsere Arbeit mit einer Spende.
1

dominion

Linux Systemadministrator

Das könnte dich auch interessieren …

6 Antworten

  1. Der Kritiker sagt:

    Und wo genau gehört diese „v=spf1 a mx ~all“ hin? Wenn ich solche Details wissen würde, dann bräuchte ich wohl kaum diese Anleitung. Jetzt kann ich erst recht eine andere Anleitung suchen.

  2. Bastian Schmidt sagt:

    Hallo DOMINION,

    vielen Dank erst einmal für diese super Beschreibung, jedoch habe ich ein kleines Problem und zwar wird bei der Prüfung angezeigt, dass der Schlüssel vermisst wird: opendkim-testkey: key missing

    Ich habe die Dateien alle noch mal kontrolliert, habe aber keinen Fehler gefunden. Ich habe den Selektor anders benannt aber auch darauf geachtet, dass ich überall den Selektor angepasst habe.

    Könntest du mir vielleicht eine Richtung zeigen, was ich noch kontrollieren könnte?

    Danke

    Gruß
    Basti

    • Bastian Schmidt sagt:

      Habe noch etwas ausprobiert und jetzt klappt es. Ich hatte zwei Signaturen aktiv. Liegt das eventuell an der „key.table“?

      Ich habe in der Datei /etc/postfix/master.cf folgendes geändert:

      -o receive_override_options=no_header_body_checks

      in

      -o receive_override_options=no_address_mappings,no_milters

      Gruß
      Basti

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert