DKIM/DMARC/SPF korrekt konfigurieren - wie?

Status
Für weitere Antworten geschlossen.

kitatu

Benutzer
Mitglied seit
09. Mai 2014
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Hallo

ich bin zwar öfters im Forum und suche und finde hier immer wieder hilfreiche Anleitungen und Anregungen. Aber bei einer Sache scheitere ich kläglich. Ich versuche DKIM/DMARC zum Laufen zu bringen und hoffe hier zu meiner Situation ein paar Detailinformationen zu erhalten.

Meine NAS fungiert als E-Mailserver. Er ist aber auch als mx.xxxxxxx.com im Internet aufrufbar (wird verwendet für ownCloud; mx.xxxxxx.xom/owncloud und für Roundcube; mx.xxxxxx.xom/roundcube). Auch als Medienserver klappt das.

Ich möchte nun DKIM/DMARC/SPF aktivieren. Bei meinen Versuchen das hinzukriegen bin ich bisher kläglich gescheitert. Grundsätzlich werden anschließend meine E-Mails alle rejected - ausgehend als auch eingehend.

Ich habe versucht den DNS-Server zu konfigurieren, aber offensichtlich mache ich da was falsch - weiß aber nicht was.
Des wegen hoffe ich hier auf Hilfe.

Die Ausgangslage:
Ich habe 7 Domains die von meinem Hoster (jemand anders als die Telekom) verwaltet werden und alle auf eine Internetpräsenz verweisen. Diese wird unter der IP-Nummer xxx.xxx.xxx.xx1 gehostet.
Ich habe für den Betrieb meiner NAS eine feste IP-Nummer (nennen wir sie yyy.yyy.yyy.yy2) zugewiesen bekommen und der MX-Eintrag ist bei der Telekom korrekt hinterlegt. E-Mailversand und -empfang funktionieren für alle Domains einwandfrei. Mein Hoster und weiterführend die Telekom haben den Eintrag auf meine feste IP und die Reverse-DNS eingetragen. Diese beiden Sachen (Webpräsenz und E-Mail) laufen daher getrennt voneinander.

In der DSM 5.2 E-Mailserver-Konfirationsoberfläche kann man DKIM/DMARC/SPF aktivieren. Allerdings gilt dies nur für eine Domain. Ich müsste/möchte alle meine Domains dort unterbringen. Das ist mein erstes Problem. Wie geht das? Wie müssen die TXT Records aussehen?
Mein zweites Problem: wie bekomme ich den DNS-Server korrekt konfiguriert (Master Zone, Resourceneintrag TXT hinzufügen etc.)? Meine Versuche hierzu haben nur zum obigem Problem geführt (alles rejected -> versagt).
Opendkim läuft offensichtlich als eigenständiger Daemon, wie kann ich das unabhängig von der E-Mailserver-Konfigurationsoberfläche aktivieren und laufen lassen? "main.cf", "master.cf" und falls ntwendig "opendkim.conf" etc. kann ich als Backup-Dateien mit den notwendigen Einträgen gesondert abspeichern und bei Bedarf wieder herkopieren.

Ich habe testweise für die 7 Domains mit opendkim-genkey 7 *.private/*.txt Dateien erstellt. Die *.txt Datei (für die erste Domain) sieht folgendermaßen aus (von hier: http://www.nullpointer.at/2014/11/09/domain-based-email-authentifizierung/:

Datei "mail.txt":

mail._domainkey IN TXT ( "v=DKIM1; k=rsa; s=email; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnFe1UpTqtXdf+EdL9GsgyQCHELlY0TJ7KStG6D5UL/7OpviD4M1z6GeP+WoyKGIFWA5Pc6buKD21Kl8MujVWFY3LzY385WYdjBFWHQNTvjafVBnVtVMSjLMRlUxFWRkIDOPZXWjDGbXFT5hDj3/Zt92Kj7yvEN1kXneDuf1fWXQIDAQAB" ) ; ----- DKIM key mail for xxxxxx.com

Datei "mail.private"

-----BEGIN RSA PRIVATE KEY-----
xxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx
-----END RSA PRIVATE KEY-----

Des weiteren habe ich zwei Dateien wie folgt die weitere Informationen beinhalten:
"DkimKeyTable" - diese Datei enthält Informationen über die 7 Domains, den Selektor und den Pfad
"DkimSigningTable" - Die Datei enthält Informationen für die einzelnen Domains
#format
$pattern $keyname
*@xxxxxx.com xxxxxxx.com
etc.

Ich hoffe jemand kann mir hier weiterhelfen.
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Mein lieber Kitano, Dein Post ist nur extrem schwierig zu lesen, auch die Fragen die Du hast sind alle irgendwo versteckt und seeeehr umfangreich. Du fragst ja in einen Post nach SPF/DKIM und DNS. Den DNS bräuchtest Du nicht zwingend für SPF und DKIM. Immerhin liegen diese DNS Einträge beim Nameserver des Domain Registrars. Wenn Du Hilfe willst, bitte korrigiere Deinen Eintrag.

Bevor ich versuche Dir zu helfen, eins zwei Fragen. Du hast eine feste IP? Dein ReverseDNS Eintrag verweist auf Deinen SMTP Hostname? Die Ports, die für Mail gebraucht werden, sind aktiv und werden vom Router weitergeleitet?

Zu SPF: SPF ist ein Domainspezifischer Eintrag. Er wird in den Nameserver eingetragen, der für die Domain zuständig ist. Der SPF Eintrag trägt die IP, den Namen oder einen ganzen IP Bereich des Mailservers. Damit wird überprüft, ob die Domain von der die Mail kommt, berechtigt ist von dem Mailserver der im SPF Eintrag hinterlegt ist zu senden. Es gibt SPF Generatoren die Dir den Eintrag erzeugen.
 

kitatu

Benutzer
Mitglied seit
09. Mai 2014
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Vielen Dank für die Antwort. Ich versuche mich etwas klarer auszudrücken. Ok, machen wir es kurz.

Ich bekomme es nicht hin DKIM/DMARC und/oder SPF korrekt zum laufen zu bringen. Kann mir jemand helfen?

Scherz beiseite...

Eben hatte ich angefangen die Sache neu zu beschreiben und da merkte ich wie ich wieder ins Kleinklein abrutsche und von A nach B abschweife.

Aber um auf deine Fragen erstmal zurückzukommen - ja, diese Sachen sind alle korrekt. Mein MailServer läuft einwandfrei. Ich habe kein DynDNS, sondern eine feste IP auf die mein SMTP Hostname korrekt verweist (Reverse-DNS) und die Ports dafür sind alle offen, auch im Router. Mein Anschluß läuft über die Telekom (Business-irgendwasschießmichtot). Meine Domains allerdings werden bei einem externen Provider für die Internetpräsenz gehostet. Dieser Provider hat den MX-Eintrag auf meine feste IP umgeleitet.

So, und jetzt habe ich das Problem, dass ich nicht weiß was ich erklären soll und was ich weglassen soll aus der Erklärung....

Aber so viel mal zur Konfiguration:
Hardware:
DS214+ mit 2x 2TB Festplatten im RAID0 Verbund
LAN1 Anschluß am Router AVM7390
2x 2 USB Platten (als Backup-Platten) und 1x USB USV

Installierte Software:
MailServer, Antivirus, DNS Server (deaktiviert), Download Station, Init 3rd Party, Init 3rdparty Help, MariaDB, Medienserver, Midnight Commander, nano, owncloud 8.02, Perl, phpMyAdmin, Python, Phyton Module, Python3, Video Station
VPN Server, MailStation (Roundcube; externe Version).

Jetzt nochmal zur Problematik:
Ich bekomme es nicht hin DKIM/DMARC und/oder SPF korrekt zum laufen zu bringen. Kann mir jemand helfen?

Zuerst bin ich davon ausgegangen es reicht einfach die Häkchen in der Bedienoberfläche des MailServers für DKIM anzuklicken, einen Namen zu wählen, den Schlüssel zu generieren, DMARC anzuklicken und die Sache läuft.
Naja, da habe ich mich wohl getäuscht. Googlen und alle möglichen Seiten die DKIM behandeln, haben mich nur noch mehr verwirrt, anstatt zur Lösung beizutragen. Ansonsten bin ich nicht so hilflos, ich kann mir die Informationen die ich benötige normalerweise ganz gut zusammenklauben. Aber hier stoße ich an eine Grenze und ich finde die Durchfahrt nicht. Das ist wie ne riesige Mauer die sich vor mir aufgetan hat.

Meine Recherchen hatten mich aber zu der Meinung geführt, dass DNS zwingend wäre. Du sagst das sei jetzt gar nicht der Fall. Zumindest muss ich es nicht bei mir aktivieren, wenn ich das richtig verstehe?
Auf jeden Fall habe ich versucht dann DNS zu konfigurieren und zu aktivieren, scheint auch geklappt zu haben. Allerdings hat es meinen MailServer nicht sonderlich interessiert, alle eingehenden und ausgehenden E-Mails wurden sofort geblockt sobald ich in main.cf die beiden Zeilen für den Socket aktiviert habe und ein Reload von Postfix durchgeführt habe.

smtpd_milters = inet:localhost:8891, inet:localhost:8893
non_smtpd_milters = inet:localhost:8891, inet:localhost:8893


Sobald ich diese beiden Zeilen in der main.cf wieder ausklammere, funktioniert der MailServer wie sonst auch.
Diese Ports sind nicht gesperrt, sind aber auch nicht explizit geöffnet. Falls das ein Fehler ist, dann bitte ich um Info, weil ich nicht weiß für welche Anwendung sie geöffnet werden sollen.

Ich hoffe ich habe es etwas besser gemacht mit der Erklärung....

Kitatu
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Du brauchst nicht den DNS Server auf dem NAS! In den Anleitungen zu diesen Theme ist zwar oft die Rede von DNS, aber damit ist der Nameserver der für die Domain zuständig ist gemeint. Weißt Du was ich damit meine? Da wo Du den MX Record Deiner Domain geändert/gesetzt hast, müssen die TXT Einträge rein.

Ein Beispiel einfaches Beispiel für einen TXT Eintrag für einen SPF: v=spf1 mx ptr ip4:%DEINE FESTE IP% ~all

Das muss als TXT in den DNS der Domain mit der Du Mails verschickst.

Der Hacken in der Synology MailServer unter Authentifizierung SPF, sagt nicht, dass Du SPF sendest. Das heißt, dass Du ihn überprüfst. Durch das blose Eintragen eines SPF in den DNS beim Provider, initiierst Du die SPF Prüfung beim Empfänger. Der Hacken im NAS sagt, dass Du eingehende Mails auf SPF prüfst.
 

kitatu

Benutzer
Mitglied seit
09. Mai 2014
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Das mit dem SPF habe ich jetzt verstanden - Danke

Das mit dem MX Record - ääähhh, da muss ich nochmal nachfragen.
Ich vermute du meinst bei meinem Provider der die Domains für mich verwaltet und meine Internetpräsenz hardwaremäßig vorhält?
Und nicht meinen Anschlußanbieter, der die feste IP zur Verfügung stellt und für das Reverse-Mapping verantwortlich ist?

Hab jetzt bei meinem Provider nachgefragt und warte mal die Anwort von dort ab.

Danke auf jeden Fall schon mal für deine Hilfe. Ich war echt in der "DNS-Falle".
 
Zuletzt bearbeitet:

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Richtig. Beispiel: Liegt Deine Domain bei godaddy, ist auch deren DNS (Nameserver) zuständig und muss um die TXT Einträge angereichert werden. Wenn Deine Domain bei 1und1 liegt, sind die Nameserver von 1und1 um diese Einträge anzureichern.
 

kitatu

Benutzer
Mitglied seit
09. Mai 2014
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich muss das jetzt noch mal reaktivieren.

Ich habe inzwischen mit meinem Domain-Provider alles abgeklärt. Checks bei den verschiedenen DKIM/DMARC Testern laufen erfolgreich. Die Eintragungen die ich soweit benötige funktionieren demnach.

Ich habe auf der Synology in der MailServerkonfiguration die entsprechenden Häkchen gesetzt. Auswahlpräfix ist identisch, öffentlicher Schlüssel auch mit dem was mein Domainprovider eingerichtet hat.
In der "main.cf" wurden zwei neue Zeilen automatisch eingefügt:

Rich (BBCode):
smtpd_milters = inet:localhost:8891, inet:localhost:8893
non_smtpd_milters = inet:localhost:8891, inet:localhost:8893

ABER!

Trotzdem erscheint im Header in der verschickten E-Mail (von meinem Server ausgehend) kein Eintrag beim Empfänger (externer Server eingehend) bzgl. "DKIM-Signature:...."

Hab ich noch irgendwas übersehen?

[EDIT]
Eben erhalte ich noch die Bestätigung von meinem Domainprovider, dass die E-Mails vom ausgehenden E-Mailserver signiert werden müssen. Genau das tut mein Server nicht und ich weiß nicht warum. Ich hoffe jemand kann mir hierzu einen Rat geben?
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Genau das tut mein Server nicht und ich weiß nicht warum. Ich hoffe jemand kann mir hierzu einen Rat geben?
geht denn die Mail mit 100%-iger Sicherheit als authentifizierte (SMTP Login) Mail raus? DKIM signiert nur authentifizierte Mails. Wenn die Mail unauthentifiziert raus geht wird sie niemals signiert auch wenn sie von einer Domain stammt für die signiert werden müsste
 

kitatu

Benutzer
Mitglied seit
09. Mai 2014
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Hallo,

erstmal noch mal Danke für die Unterstützung.

Ich habe parallel auch Synology nochmal kontaktet, nachdem im ausgehenden Winter 2015 noch keine Antwort kam, erhielt ich nun gute Unterstützung - und wie sich eben vor einer halben Stunde herausstellte - auch ein Update für DSM. Nach dem Update zeigte DSM auch ein neues Paket für MailServer an.

Sofort installiert.

Was kann ich sagen - DKIM funzt mit allen meinen URLs!!!
Und was noch schöner war - die sind alle automatisch eingetragen worden. Ich habe keine weitere Handarbeit gehabt, nix, nano, null!!!! Hier mein Dank auch an Synology!

@jahlives: alle E-Mails gehen grundsätzlich authorisiert raus. Egal ob von aussen (WAN) oder von innen (LAN).

Was ich soweit feststellen konnte, gibt es folgende Einstellungen/Änderungen:
Die opendkim.conf hat am Ende verweise auf ein neues Verzeichnis (.../MailServer/target/etc/opendkim/...)
Rich (BBCode):
KeyTable refile:/var/packages/MailServer/target/etc/opendkim/KeyTable
SigningTable refile:/var/packages/MailServer/target/etc/opendkim/SigningTable
ExternalIgnoreList refile:/var/packages/MailServer/target/etc/opendkim/TrustedHosts
InternalHosts refile:/var/packages/MailServer/target/etc/opendkim/TrustedHosts
ReportAddress postmaster@mx.deineurl_1.com

In diesem Verzeichnis sind 3 Dateien (KeyTable, SigningTable, TrustedHosts)
In der Datei KeyTable sind alle Domains gelistet mit Selector und Verzeichnis und Verweis auf Verzeichnis mit Public Key
z.B.:
Rich (BBCode):
selector._domainkey.mx.deineurl_1.com mx.deineurl_1.com:selector:/var/packages/MailServer/etc/dkim.key//dkim.private
selector._domainkey.deineurl_1.com deineurl_1.com:selector:/var/packages/MailServer/etc/dkim.key//dkim.private
selector._domainkey.deineurl_2.com deineurl_2.com:selector:/var/packages/MailServer/etc/dkim.key//dkim.private
usw.

In der Datei SigningTable sieht es wie folgt aus:
Rich (BBCode):
*.mx.deineurl_1.com selector._domainkey.mx.deineurl_1.com
*.deineurl_1.com selector._domainkey.deineurl_1.com
*.deineurl_2.com selector._domainkey.deineurl_2.com
usw.

In der Datei TrustedHosts sieht es so aus:
Rich (BBCode):
mx.deineurl_1.com
deineurl_1.com
deineurl_2.com
usw.

Bei mir ist es zu erst der mx-Eintrag und dann kommen noch meine 7 Domains.

Die Datei opendmarc.conf enthält nun folgenden Eintrag am Ende:
Rich (BBCode):
AuthServID mx.deineurl_1.com

Im main.cf steht Folgendes (automatisch eingefügt als DKIM aktiviert wurde):
Rich (BBCode):
smtpd_milters = inet:localhost:8891, inet:localhost:8893
non_smtpd_milters = inet:localhost:8891 inet:localhost:8893

Und bei "smtpd_recipient_restrictions" gibt es noch folgenden Eintrag:
Rich (BBCode):
check_policy_service unix:private/policy

Voraussetzung ist auch dass unter "mydestination" entsprechend alle relevanten Domains gelistet sind.

Jetzt bin ich fast vollkommen zufrieden mit der Konfiguration meines E-Mailservers. Fehlt nur noch DNSSEC/DANE...
 
Zuletzt bearbeitet:

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Ich habe die Updates jetzt auch gemacht und kann die Neuerungen bestätigen. Die Einträge in den Conf-Dateien sind bei mir auch korrekt und meine DNS Einträge stimmen auch. Dennoch wird bei mir ohne DKIM gesendet. Kann es sein, dass das an Zarafa liegt? Ich nutzte das.
 

kitatu

Benutzer
Mitglied seit
09. Mai 2014
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Ich kenne mich mit Zarafa leider gar nicht aus.

Ich habe auch keine Ahnung ob Zarafa eigene Konfigurationsdateien verwendet und somit evtl. auch an OpenDKIM vorbei agiert.

Aber was ich in meinem Fall noch festgestellt habe, ist dass DMARC anscheinend noch nicht funktioniert.
Außerdem zeigt der Empfangsserver an dass der verwendete generierte Schlüssel für DKIM als schwach bzw. unsicher eingestuft wird (1024 bit) vom empfangenden Server.

Gibt also doch noch ein bisschen was zum nachbessern....
 

briolet

Benutzer
Mitglied seit
04. Jul 2015
Beiträge
26
Punkte für Reaktionen
0
Punkte
7
Bei mir wird alles korrekt DKIM signiert. Ich benutze Apple mail zum senden.

Auch DMARC arbeitet gut. Ich habe dieser Woche die erster Mailing mit DMARC gesendet. Das funktionierte einwandfrei.

Wenn ich in einkommende Mail schaue sind viele (1024 bit) signiert. z.B. die von Github.

Ein Problem have ich noch mit DMARC und das ist dat auch ausgehender Mail gecheckt wird und das generiert dan ein 'fail' beim Kontrolle. Um das zu vermeiden habe ich im Lokalen DNS server das _DMARC Rekord gelöscht.
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ein Problem have ich noch mit DMARC und das ist dat auch ausgehender Mail gecheckt wird und das generiert dan ein 'fail' beim Kontrolle. Um das zu vermeiden habe ich im Lokalen DNS server das _DMARC Rekord gelöscht.
in dem Fall sollte sich das auch über die Postfix Konfiguration lösen lassen und zwar indem man den DMARC-Milter nur an Port 25 bindet und dann selber nur via Port 465 oder 587 authentifiziert nach aussen schickt.
 

briolet

Benutzer
Mitglied seit
04. Jul 2015
Beiträge
26
Punkte für Reaktionen
0
Punkte
7
Ich habe es anders gelöst. Im "opendmarc.conf" habe ich den Befehl "TrustedAuthservIDs HOSTNAME" zugefügt. Jetzt bleibt der DMARC Test beim senden weg.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat