Jump to content
Froxlor Forum
  • 0
df8oe

DKIM Verständnisfrage

Question

Hallo liebe Community,

 

ich habe einen Server mit 40 Domains, verwaltet mit Froxlor. Ich habe vor DKIM einzuführen.

Alle Domains senden über einen gemeinsamen Mailserver / eine gemeinsame Maildomain. Nennen wir den Server mail.abcd.de. Dies ist der Server wie er in den mx-Records und auch als reverse lookup eingetragen ist. So läuft das seit Jahren einwandfrei. Alle 30 Doamins mit ihren geschätzten 120 Mailadressen verwenden diesen Mailserver. SPF ist aktiviert und funktioniert.

 

Ich möchte nun gerne die Mails zusätzlich per DKIM signieren. Dafür habe ich für die Domain abcd.de einen Schlüssel erstellt und den öffentlichen Teil im DNS-Record von abcd.de als txt eingetragen. Ein Versenden mit einer Emailadresse xyz@abcd.de funktioniert auch bereits DKIM-signiert.

 

Wenn ich dieses Feature nun auch für alle anderen erlaubten Domains nutzen möchte: Muss ich dann für jede Domain einen eigenen Schlüssel erzeugen und bei der betreffenden Domain hinterlegen? Das wäre sehr aufwändig... Besser wäre es wenn ich für alle Domains den gleichen Schlüssel verwenden könnte. Und wenn ich den schon bei abcd.de im DNS eingetragen habe: reicht das nicht? Muss ich den bei jeder Domain einzeln eintragen?

Wenn es so ist: ok, 10 Minuten c&p und alles geht.

Nur: wie sage ich amavis dass es für alle Domains den gleichen Schlüssel nehmen soll? Bislang lehnt amavis kategorisch alles Domains außer abcd.de zum DKIM-signieren ab. Klar könnte ich für alle Domains einen Symlink auf den ersten Schlüssel legen - müsste dann aber auch für jede Domain einen eigenen Eintrag in /etc/amavis/conf.d/20-debian-defaults anlegen und pflegen. Das wäre doch sehr umständlich.

Also der "Traumwunsch" wäre es:

- einen Schlüssel für die Domain des Mailservers abcd.de

- alle anderen Domains, denen erlaubt ist über diesen Server zu senden benutzen den gleichen Schlüssel (s.o.)

- ich brauche die Domains nicht alle einzeln aufzuführen in irgendeiner Konfig

In den DNS Records jeder Domain habe ich den Mailserver abcd.de ja bereits eingetragen.

 

Geht das so?

Share this post


Link to post
Share on other sites

15 answers to this question

Recommended Posts

  • 0
1 hour ago, df8oe said:

Wenn ich dieses Feature nun auch für alle anderen erlaubten Domains nutzen möchte: Muss ich dann für jede Domain einen eigenen Schlüssel erzeugen und bei der betreffenden Domain hinterlegen? Das wäre sehr aufwändig..

du kannst für alle den gleichen nehmen, wenn du das möchtest, ist natürlich weniger sicher, aber nicht unüblich.

1 hour ago, df8oe said:

Und wenn ich den schon bei abcd.de im DNS eingetragen habe: reicht das nicht? Muss ich den bei jeder Domain einzeln eintragen?

das wiederum leider nicht, den Eintrag braucht jede Domain :)

1 hour ago, df8oe said:

Nur: wie sage ich amavis dass es für alle Domains den gleichen Schlüssel nehmen soll?

dkim_key('domain-a.de', 'main', '/etc/ssl/dkim/key-2019.pem');
dkim_key('domain-b.de', 'main', '/etc/ssl/dkim/key-2019.pem');
dkim_key('domain-c.de', 'main', '/etc/ssl/dkim/key-2019.pem');
[...]

 

1 hour ago, df8oe said:

müsste dann aber auch für jede Domain einen eigenen Eintrag in /etc/amavis/conf.d/20-debian-defaults anlegen und pflegen. Das wäre doch sehr umständlich.

klar muss da jede domain einzeln eingetragen werden, amavis hat leider für sowas noch keine schnittstellen, ich habe selbst noch keinen besseren weg gefunden

Btw: eigene Anpassungen an die Config gehören in die conf.d/50-user Datei - die zuletzt eingelesenen configs (daher die größere Zahl) überschreibt werte die vorher gesetzt wurden. So macht man sich die (debian)-defaults nicht kaputt.

 

Edited by d00p
typo

Share this post


Link to post
Share on other sites
  • 0

OK - das bringt Licht ins Dunkel - danke! Da in den Datenbanken von Froxlor ja schon private und öffentliche Schlüssel für jede Domain gepflegt werden hätte ich eine Idee, wie man das mit der Amavis-Technik (die ich übrigens sehr cool finde) vereinbaren könnte...

 

Es werden doch schon per cron-job Dateien für den alten Indianer gepflegt. Im Prinzip bräuchte man diesen Automaten leicht abgewandelt nur für eine Datei /etc/amavis/conf.d/66-froxlor_dkim in der nach jeder Änderung einfach die Schlüsselzuordnungen neu geschrieben werden. Also Einträge genau der Form wie Du sie oben gepostet hast. Ich habe mal eine solche Datei angelegt, Amavis neu gestartet und alles läuft wie vorgesehen.

 

Man könnte als "Goodie" in der Froxlor-Konfig noch auswählbar machen ob man für alle Domains ein gemeinsames Schlüsselpaar oder für jede Domain ein eigenes pflegt und dann wäre die Integration fertig. Kein zusätzliches DKIM-Paket nötig.

 

LG

DF8OE

 

 

Share this post


Link to post
Share on other sites
  • 0
19 minutes ago, df8oe said:

OK - das bringt Licht ins Dunkel - danke! Da in den Datenbanken von Froxlor ja schon private und öffentliche Schlüssel für jede Domain gepflegt werden hätte ich eine Idee, wie man das mit der Amavis-Technik (die ich übrigens sehr cool finde) vereinbaren könnte...

 

vergiss das was froxlor da erstellt, das ist URALT und nirgends wirklich integriert...

Theoretisch kannst du natürlich immer selbst ein scriptchen schreiben  was dir das da alles macht wie du es willst, klar.

22 minutes ago, df8oe said:

Man könnte als "Goodie" in der Froxlor-Konfig noch auswählbar machen ob man für alle Domains ein gemeinsames Schlüsselpaar oder für jede Domain ein eigenes pflegt und dann wäre die Integration fertig. Kein zusätzliches DKIM-Paket nötig.

Irgendein Dienst der DKIM macht ist IMMER nötig. Aber ja, DKIM integration wird irgendwann mal komplett überarbeitet, hab ich nur einfach keine zeit für...alles auf einmal geht leider nicht.

AM besten wäre es halt die settings und co da alles mal auf den neuesten stand zu bringen - amavis config-templates erstellen und den rest soweit möglich via cronjob erstellen lassen. Klingt simpel, ist aber halt etwas arbeit

Share this post


Link to post
Share on other sites
  • 0

Ich schau mal ob ich Dir da etwas Arbeit abnehmen kann. Ich werde mir mal das Projekt von GitHub clonen und damit rumexperimentieren. Du hast sicher nichts gegen Pull-Requests?

Share this post


Link to post
Share on other sites
  • 0

Mache ich. Deine Arbeit ist echt klasse und ich habe schon ein Konstrukt im Kopf herumschwirren. Gib mir ein paar Tage dann kommen die ersten Ergebnisse.

Share this post


Link to post
Share on other sites
  • 0

Dass man alles was an DKIM Geschichten in Froxlor schon drin ist vergessen kann: kann ich so nicht sagen.

Ich brauchte in der /scripts/class.DnsBase.php

nur 

vor Erstellung der Schlüsseldateien eine Zeile einfügen:

$dkimkeys = "use strict;\n\n";
 

Dann folgende Zeile ändern:

$dkimkeys .= "*@" . $domain['domain'] . ":" . $domain['domain'] . ":" . $privkey_filename . "\n";
in

$dkimkeys .= "dkim_key('".$domain['domain']."','main','".$privkey_filename."');\n";

und nach Abschluss der Schlüsseldatei diese Zeile einfügen:

$dkimkeys .= "\n\n## this list was automatically created by Froxlor ##\n1; # ensure a defined return";

...und schon wurde eine Amavis-konforme Liste erstellt. Kann man sofort so übernehmen. Da ist nicht allzuviel Arbeit nötig. glaube ich.

Share this post


Link to post
Share on other sites
  • 0

Halt halt halt, verwechsle hier nicht nameserver config und amavis ...es gibt noch keine froxlor gesteuerte amavis Sachen....

Share this post


Link to post
Share on other sites
  • 0

Ich denke nicht dass ich da etwas verwechsle. Die Config-Dateien für den dkim-filter werden in der class.DnsBase.php erzeugt und schwirren verwaist (default) im Ordner /etc/postfix/dkim rum. Die erzeugt Datei dkim-keys.conf diente doch nur zur Verwendung mit dkim-filter. Oder nicht?

 

EDIT:

Dass aktuell keine Verwendung für amavis vorgesehen ist - ist klar. Aber warum nicht die (nun sowieso sinnfreie) Datei dkim-keys.conf so umstrukturieren, dass sie das Format einer amavis-conf hat. Man kann sie entweder gleich im richtigen Ordner erzeugen lassen (/etc/amavis/conf.d/) oder vermutlich auch die im dkim-Schlüsselordner erzeugte Datei einfach dorthin symlinken - habe ich noch nicht ausprobiert. Wie gesagt: wird ein paar Tage dauern bis da was nutzbares rauskommt.

Share this post


Link to post
Share on other sites
  • 0
9 minutes ago, df8oe said:

Aber warum nicht die (nun sowieso sinnfreie) Datei dkim-keys.conf so umstrukturieren, dass sie das Format einer amavis-conf hat.

Bin ich für ja! Allerdings habe ich auch oft gehört das Leute gerne opendkim einsetzen, vllt sollte man hier gleich eine neue setting einführen mit der Auswahl amavis oder opendkim und es gleich richtig machen?

9 minutes ago, df8oe said:

Man kann sie entweder gleich im richtigen Ordner erzeugen lassen (/etc/amavis/conf.d/)

Sollte eine setting sein dann, wo die gespeichert wird 

 

Share this post


Link to post
Share on other sites
  • 0

Völlig korrekt. Amavis oder Opendkim als Alternative, wählbar, sauber eingebunden. So wollte ich das machen. Nur eben mal kurz anfunken dass man eben doch Teile die vorhanden sind recyclen kann :)

 

Share this post


Link to post
Share on other sites
  • 0

Jo das bestimmt ;) wie gesagt, Tob dich aus ? bei Fragen, einfach melden

Share this post


Link to post
Share on other sites
  • 0
On 8/1/2019 at 6:08 PM, d00p said:

Bin ich für ja! Allerdings habe ich auch oft gehört das Leute gerne opendkim einsetzen, vllt sollte man hier gleich eine neue setting einführen mit der Auswahl amavis oder opendkim und es gleich richtig machen?

Wenn ich ergänzen darf: rspamd.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...