Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:postfix_pfs_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_pfs_einsetzen [2013/12/19 10:21] klaustachtler:postfix_pfs_einsetzen [2014/04/28 11:02] (aktuell) – [Konfiguration: /etc/postfix/main.cf] klaus
Zeile 55: Zeile 55:
   * [[http://www.postfix.org/TLS_README.html#server_cipher|Postfix TLS Support - Server-side cipher controls]]   * [[http://www.postfix.org/TLS_README.html#server_cipher|Postfix TLS Support - Server-side cipher controls]]
  
-Kurz erklärt geht es darum, dass anstelle der mit [[http://www.postfix.org/|Postfix]] mitgelieferten Schlüssel eigene mit Diffie-Hellmann generierte Diffie-Hellmann-Schlüssel zu verwenden. Einmal für 1024-bit (non-export ciphers) und für 512-bit (export ciphers).+Anstelle der mit [[http://www.postfix.org/|Postfix]] mitgelieferten Schlüssel - welche für jede Installation gleich sind, sollten eigene mit Diffie-Hellmann generierte Diffie-Hellmann-Schlüssel verwenden werden. Einmal für 1024-bit (non-export ciphers) und für 512-bit (export ciphers). 
 + 
 +Die Generierung der beiden Diffie-Hellmann-Schlüssel, wird mit nachfolgenden Befehlen durchgeführt.  
 +<code> 
 +# openssl gendh -out /etc/postfix/dh_512.pem -2 512 
 +Generating DH parameters, 512 bit long safe prime, generator 2 
 +This is going to take a long time 
 +........................................+.....................+. 
 +..............................+................................. 
 +....+............+.........................+...................+ 
 +......+...............+...................+..++*++*++*++*++*++* 
 +</code> 
 +und 
 +<code> 
 +# openssl gendh -out /etc/postfix/dh_1024.pem -2 1024 
 +Generating DH parameters, 1024 bit long safe prime, generator 2 
 +This is going to take a long time 
 +.................................+.............................. 
 +.......................................+........................ 
 +..................+............................................. 
 +................................................................ 
 +...................+............................................ 
 +................................................................ 
 +.......................+........................................ 
 +.................+..............+............................... 
 +.............................................+..........+....... 
 +.........................+.....+.........+....................+. 
 +...+...........................+.....+.......................... 
 +................................................................ 
 +................................++*++*++* 
 +</code> 
 + 
 +Anschließend sollten zwei zusätzliche Dateien im Verzeichnis 
 +  * **''/etc/postfix''** 
 +erstellt worden sein. 
 + 
 +Zur Überprüfung, kann nachfolgenden Befehl verwendet werden: 
 +<code> 
 +# ll /etc/postfix/dh* 
 +-rw-r--r-- 1 root root 245 Dec 19 10:27 /etc/postfix/dh_1024.pem 
 +-rw-r--r-- 1 root root 156 Dec 19 10:26 /etc/postfix/dh_512.pem 
 +</code> 
 + 
 +===== Konfiguration: /etc/postfix/main.cf ===== 
 + 
 +Nachfolgende Einträge müssen nun in der Konfigurationsdatei von [[http://www.postfix.org/|Postfix]] ergänzt werden (**nur relevanter Ausschnitt**): 
 + 
 +<code ini> 
 +... 
 +# PFS Encryption 
 +smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem 
 +smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem 
 +smtpd_tls_eecdh_grade = strong 
 +tls_preempt_cipherlist = yes 
 +smtpd_tls_loglevel = 1 
 +smtp_tls_loglevel = 1 
 +... 
 +</code> 
 + 
 +**__Erklärungen__**: 
 + 
 +Einbindung von eigenen Diffie-Hellmann-Schlüssel zur Verwendung von PFS (//Perfect Forward Secrecy//) bei der TLS (//Transport Layer Security//) Verschlüsselung: 
 +<code ini> 
 +smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem 
 +smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem 
 +</code> 
 + 
 +Die Unterstützung für "elliptic curve cryptography" welche ab [[http://www.postfix.org/|Postfix]] **Version 2.6.x** und [[http://www.openssl.org|OpenSSL]] ab **Version 1.0.0** verfügbar ist.  
 + 
 +__Mögliche Einstellungen__: 
 +  * ''smtpd_tls_eecdh_grade = strong'' 
 +  * ''smtpd_tls_eecdh_grade = ultra'' 
 + 
 +Die Einstellung **''ultra''** benötigt mehr CPU als die Einstellung **''strong''**. 
 +<code ini> 
 +smtpd_tls_eecdh_grade = strong 
 +</code> 
 + 
 +[[http://www.postfix.org/|Postfix]] **Version 2.8.x**, in Kombination mit [[http://www.openssl.org|OpenSSL]] ab **Version 0.9.7**, erlaubt TLS Servern mit dem jeweiligen Client dynamisch das Verschlüsselungsverfahren auszuhandeln. Dies ist erst ab **SSLv3** und später möglich. 
 +<code ini> 
 +tls_preempt_cipherlist = yes 
 +</code> 
 +//* Die Einstellung wird im [[http://www.postfix.org/|Postfix]] **Version 2.6.6** ignoriert!// 
 + 
 +Die Einstellungen erhöhen das **Loglevel** und dokumentieren unter anderem im Log von [[http://www.postfix.org/|Postfix]], welche Verschlüsselung verwendet wurde. 
 +<code ini> 
 +smtpd_tls_loglevel = 1 
 +smtp_tls_loglevel = 1 
 +</code> 
 + 
 +===== Postfix restart/reload ===== 
 + 
 +Falls vorstehende Änderungen (natürlich an die jeweiligen Bedürfnisse angepasst) durchgeführt wurden, sollte ein Neustart oder zumindest das Laden der neuen Konfiguration von [[http://www.postfix.org|Postfix]] mit nachfolgendem Befehl durchgeführt werden: 
 +<code> 
 +# service postfix restart 
 +Shutting down postfix:                                      OK  ] 
 +Starting postfix:                                          [  OK  ] 
 +</code> 
 +**oder** zumindest 
 +<code> 
 +# service postfix reload 
 +Reloading postfix:                                          OK  ] 
 +</code> 
 + 
 +===== Überprüfung ===== 
 + 
 +Anschließend kann im Log von [[http://www.postfix.org/|Postfix]] nachvollzogen werden, welche Verschlüsselung verwendet wurde. 
 + 
 +Dazu kann nach den  
 +  * **''DHE''** oder 
 +  * **''ECDHE''** 
 +gesucht werden, was mit nachfolgendem Befehl durchgeführt werden kann: 
 +<code> 
 +# grep DHE /var/log/maillog 
 +... 
 +Dec 19 10:59:21 rechner60 postfix/smtpd[22868]: Anonymous TLS connection established from 
 +rechner90.tachtler.net[192.168.0.90]: TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits) 
 +... 
 +</code>
  
tachtler/postfix_pfs_einsetzen.1387444900.txt.gz · Zuletzt geändert: 2013/12/19 10:21 von klaus