Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:postfix_amavis_dkim_einsetzen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:postfix_amavis_dkim_einsetzen [2012/06/13 14:54] klaustachtler:postfix_amavis_dkim_einsetzen [2014/03/14 09:10] (aktuell) – [Received: from] klaus
Zeile 15: Zeile 15:
 ===== Konfiguration ===== ===== Konfiguration =====
  
-:!: **DANKSAGUNG** - Dieser [[http://www.splitbrain.org/projects/dokuwiki|DokuWiki]] ist mit außerordentlicher Unterstützung von Michi entstanden - siehe [[http://dokuwiki.nausch.org|DokuWiki @ nausch.org]]!+:!: **DANKSAGUNG** - Dieser [[http://www.splitbrain.org/projects/dokuwiki|DokuWiki]] ist mit außerordentlicher Unterstützung von Michael Nausch entstanden - siehe [[http://dokuwiki.nausch.org|DokuWiki @ nausch.org]]!
  
 ==== Schlüsselverzeichnis erstellen ==== ==== Schlüsselverzeichnis erstellen ====
Zeile 115: Zeile 115:
 ... ...
 </code>  </code> 
 +
 +**__Erklärung:__**
 +
 +^ Variablenname                         ^ Wert                           ^ Erklärung ^
 +| $enable_dkim_signing                  | 1                              | Aktivieren der DKIM-Signierung     |
 +| dkim_key                              | 'tachtler.net'                 | **Domainname** zum DKIM-Schlüssel  |
 +|                                       | 'main'                         | **Selector** der mit der Kennung _domainkey und dem Domainnamen benutzt wird, um über eine **TXT-Record** Abfrage an den **DNS-Server** den verwendeten **öffentlichen Schlüssel** zu erfragen. Hier: **main._domainkey.tachtler.net** |
 +|                                       | '/etc/pki/amavis/dkim/key.pem' | **Privater Schlüssel**, mit Pfadangabe und Dateinamen |
 +| @dkim_signature_options_bysender_maps | '.'                            | Sender abhängige Angabe, auf die die nachfolgenden Parameter angewandt werden sollen. Hier: **alle** |
 +|                                       | ttl => 21*24*3600              | **TTL** (Time To Live)|
 +|                                       | c => 'relaxed/simple'          | Message canonicalization (plain-text; OPTIONAL, Standard ist "simple/simple").|
 +
 +Um weitere Informationen zu den oben genannten Parameter zu erhalten, können nachfolgende externe Links genutzt werden:
 +  * [[http://www.ijs.si/software/amavisd/amavisd-new-docs.html#dkim-am-sign|AMaViS-Dokumentation - Setting up DKIM signing in amavisd]]
 +  * [[http://tools.ietf.org/html/rfc4871#section-3.5|RFC4871 - DomainKeys Identified Mail (DKIM) Signatures - Section 3.5]]
  
 Jetzt ist der richtige Zeitpunkt gekommen, um [[http://www.ijs.si/software/amavisd/|AMaViS]] zum ersten mal **neu** zu starten, was mit folgendem Befehl erfolgen kann: Jetzt ist der richtige Zeitpunkt gekommen, um [[http://www.ijs.si/software/amavisd/|AMaViS]] zum ersten mal **neu** zu starten, was mit folgendem Befehl erfolgen kann:
Zeile 251: Zeile 266:
 </code> </code>
  
-===== Test DKIM e-Mail =====+===== Konfiguration DKIM ==== 
 + 
 +==== Received-Zeilen ausnehmen ==== 
 + 
 +Laut [[http://www.ietf.org/rfc/rfc4871.txt|RFC 4871]] können auch die  
 +  * **''Received: from''**-Zeilen 
 +zur Signierung der e-Mail mit herangezogen werden. 
 + 
 +Dies hat jedoch den **Nachteil**, dass bei einer Veränderung der **''Received: from''**-Zeilen im **Nachhinein**, wie es z.B. bei der **Einlieferung durch [[http://www.postfix.org/|Postfix]] via ''smtpd_proxy_filter'' (Pre-Queue) bei [[http://www.ijs.si/software/amavisd/|AMaViS]] der Fall sein könnte**, die DKIM-Sigantur sprichwörtlich "kaputt" geht. Siehe nachfolgenden Auszug aus den Header-Zeilen (**nur relevanter Ausschnitt**): 
 +<code> 
 +... 
 +Authentication-Results: viruswall.dmz.tachtler.net (amavisd-new); 
 + dkim=fail (1024-bit key) reason="fail (message has been altered)" 
 + header.d=tachtler.net 
 +... 
 +</code> 
 + 
 +Dies kann durch hinzufügen von nachfolgender Konfigurationszeile in die 
 +  * ''/etc/amavisd.conf'' 
 +<code> 
 +$signed_header_fields{'received'} = 0;  # turn off signing of Received 
 +</code> 
 +verhindert werden, indem die **''Received: from''**-Zeilen **__nicht__** mehr mit in die Berechnung der DKIM-Signatur mit einfließen. 
 + 
 +===== Test DKIM ===== 
 + 
 +==== AMaViS-Test ==== 
 + 
 +Mit nachfolgendem Befehl, kann eine Test des Gültigkeit der [[http://de.wikipedia.org/wiki/DomainKeys|DKIM]]-Signatur unter Zuhilfenahme von [[http://www.amavis.org/|AMaViS]] durchgeführt werden: 
 +<code> 
 +# amavisd testkeys 
 +TESTING#1: main._domainkey.tachtler.net      => pass 
 +</code> 
 + 
 +==== DNS-Test ==== 
 + 
 +Mit nachfolgenden Befehlen, kann eine entsprechende **DNS-Abfrage** durchgeführt werden, um zu testen, ob der entsprechende Schlüssel im DNS korrekt eingebunden ist: 
 +<code> 
 +# host -t TXT main._domainkey.tachtler.net 
 +main._domainkey.tachtler.net descriptive text "v=DKIM1\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCW697RxGpSmHUxXFMgirRcDKJRRxoDuuIxlH/69QsHeee+hBC0Uwg72tcQ8dkmQfJwpcHAIt8nP/0VQnRc2uyRr+lnSp89Diahd3frfgnPnyKjhoNglJNlsinEksKnsQ40G6rki1kH3Sf0mq+Hn0RYozkYiJw8V1oSoafME1WklQIDAQAB" 
 +</code> 
 +oder 
 +<code> 
 +# dig @8.8.8.8 main._domainkey.tachtler.net TXT 
 + 
 +; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> @8.8.8.8 main._domainkey.tachtler.net TXT 
 +; (1 server found) 
 +;; global options: +cmd 
 +;; Got answer: 
 +;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51364 
 +;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 
 + 
 +;; QUESTION SECTION: 
 +;main._domainkey.tachtler.net.  IN      TXT 
 + 
 +;; ANSWER SECTION: 
 +main._domainkey.tachtler.net. 21599 IN  TXT     "v=DKIM1\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCW697RxGpSmHUxXFMgirRcDKJRRxoDuuIxlH/69QsHeee+hBC0Uwg72tcQ8dkmQfJwpcHAIt8nP/0VQnRc2uyRr+lnSp89Diahd3frfgnPnyKjhoNglJNlsinEksKnsQ40G6rki1kH3Sf0mq+Hn0RYozkYiJw8V1oSoafME1WklQIDAQAB" 
 + 
 +;; Query time: 118 msec 
 +;; SERVER: 8.8.8.8#53(8.8.8.8) 
 +;; WHEN: Sun Mar  9 08:48:07 2014 
 +;; MSG SIZE  rcvd: 286 
 +</code> 
 +* //Anfrage z.B. an den [[http://www.google.de|Google DNS-Servers]] ! // 
 + 
 +==== e-Mail ====
  
 Folgender Text-Auszug sollte nun beim e-Mail-Verkehr im **Quelltext** im **Header** einer e-Mail erscheinen (**nur relevanter Ausschnitt**): Folgender Text-Auszug sollte nun beim e-Mail-Verkehr im **Quelltext** im **Header** einer e-Mail erscheinen (**nur relevanter Ausschnitt**):
Zeile 265: Zeile 345:
  KenY0BIV4rLgWIjqkdCFeW40IgxNj3ur5WNxHPxJWGdpLGtP+SPJYBRM/EM=  KenY0BIV4rLgWIjqkdCFeW40IgxNj3ur5WNxHPxJWGdpLGtP+SPJYBRM/EM=
 ... ...
 +</code>
 +
 +Der empfangende Mailserver ist mit Hilfe des **Authentication-Results:-Header** in der Lage festzustellen, ob die eMail unverändert angekommen und somit __nicht__ manipuliert wurde:
 +<code>
 +Authentication-Results: viruswall.dmz.tachtler.net (amavisd-new);
 + dkim=pass (4096-bit key) header.d=nausch.org
 +</code>
 +
 +Wurde die Nachricht hingegen verändert, so schlägt die Überprüfung fehl:
 +<code>
 +Authentication-Results: viruswall.dmz.tachtler.net (amavisd-new);
 + dkim=fail (1024-bit key) reason="fail (message has been altered)"
 + header.d=tachtler.net
 </code> </code>
  
tachtler/postfix_amavis_dkim_einsetzen.1339592043.txt.gz · Zuletzt geändert: 2012/06/13 14:54 von klaus