Hier zeige ich die Vorgehensweise wie man DKIM (Domain Key Identified Mail) in bzw. unter AMAVIS einrichtet und aktiviert.
Was DKIM genau ist, kann man sehr schön auf Wikipedia-Seite nachlesen: http://de.wikipedia.org/wiki/DomainKeys
Ordner für das Schlüsselpaar erstellen:
mkdir /etc/amavis/dkim
Schlüsselpaar erzeugen:
amavisd-new genrsa /etc/amavis/dkim/beispieldomain.de.pem
die Ausgabe sollte so aussehen:
Private RSA key successfully written to file "/etc/amavis/dkim/test.pem" (1024 bits, PEM format)
die passenden Rechte setzen:
chmod 600 /etc/amavis/dkim/beispieldomain.de.pem chown amavis:amavis /etc/amavis/dkim/beispieldomain.de.pem
Amavis Konfiguration anpassen: In der Datei „/etc/amavis/conf.d/50-user“ muss folgendes ganz untern hinzugefügt werden:
$enable_dkim_verification = 1; # enable DKIM signatures verification $enable_dkim_signing = 1; # load DKIM signing code, dkim_key('example.com', 'default', '/etc/amavis/dkim/beispieldomain.de.pem');
Wichtig: bei example.com muss die eigene Domain rein | das „default“ hinter der Domain ist der identifier, der wird gleich für den DNS-Eintrag benötigt und muss unbedingt gleich sein!
Public-Key anzeigen lassen:
amavisd-new showkeys beispieldomain.de
die Ausgaben sollte so aussehen:
amavisd-new showkeys beispieldomain.de ; key#2, domain beispieldomain.de, /etc/amavis/dkim/beispieldomain.de.pem default._domainkey.beispieldomain.de. 3600 TXT ( "v=DKIM1; p=" "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7GQePw05NGhuEJNkOjCKq8qrv" "d9a+/9XO1zKUfUtOSVbrIbxHujQJyC8qeIl4cChoVjrm7EeLbkGSt+a8BKuijP/G" "ISVOd3TnaHHc+ErGP2XzbFYWWV70CdiLGYgb/RAVie9lDr9iYHK9YiH+j3vZSc/i" "cK8KsIkNkutq2qd1mwIDAQAB")
Wenn Bind als DNS-Server genutzt wird, dann kann die Ausgabe so direkt verwendet werden.
Wenn man aber den DNS-Server von einem Internet oder Domain Anbieter benutzt, muss dieser erst noch angepasst werden. Dazu entfernen wir einfach alle Anführungszeichen und schreiben das alles in eine Zeile. Schlussendlich sollte es dann so aussehen:
v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7GQePw05NGhuEJNkOjCKq8qrvd9a+/9XO1zKUfUtOSVbrIbxHujQJyC8qeIl4cChoVjrm7EeLbkGSt+a8BKuijP/GISVOd3TnaHHc+ErGP2XzbFYWWV70CdiLGYgb/RAVie9lDr9iYHK9YiH+j3vZSc/icK8KsIkNkutq2qd1mwIDAQAB
Nun muss der DNS Eintrag auf der DNS-Einstellungsseite des Domain-Anbieters, mit den hier oben drüber angezeigten DNS-TXT-Datensatz gesetzt werden.
Als Name nehmen wir hier „identifier._domainkey“ sprich „default._domainkey“!
Beispieleintrag bei INWX.de:
Wichtig hierbei ist das der identifier (default._domainkey) genau gleich lautet, wie der in der Amavis hinterlegten Konfigurationsdatei!
Den DNS-Eintrag von Amavis überprüfen lassen:
amavisd-new testkeys
die Ausgabe sollte so aussehen:
TESTING#1: abc._domainkey.beispieldomain.de => pass
Wenn nicht, muss noch ein wenig gewartet werden. Nach dem setzten des TXT-Records auf dem DNS-Server, kann es bis zu 48 Stunden dauern bis diese verteilt wurden.
Sobald der Test Erfolgreich ist, sollte der Amavis Dienst neugestartet werden:
/etc/init.d/amavis restart
Nun kann man noch Testweise eine E-Mail an „check-auth@verifier.port25.com“ schicken. Darafhin bekommt man ein paar Minuten später ein Feedback (eine E-Mail zurück) ob DKIM einwandfrei funktioniert! Alternativ geht auch http://www.appmaildev.com/en/dkim/ ganz gut 😉