tachtler:postfix_pfs_einsetzen
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
tachtler:postfix_pfs_einsetzen [2013/12/19 10:07] – klaus | tachtler:postfix_pfs_einsetzen [2014/04/28 11:02] (aktuell) – [Konfiguration: /etc/postfix/main.cf] klaus | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Postfix PFS einsetzen ====== | ====== Postfix PFS einsetzen ====== | ||
- | PFS (//Perfect Forward Secrecy//) basiert auf der Idee, dass der Client und der Server ihre Kommunikation über einen **zusätzlichen temporären wechselnden** Schlüssel absichern. Da der Verbindungsaufbau so durchgeführt wird, dass der Schlüssel selbst nicht ausgetauscht werden muss, kann der jeweils benutzte Sitzungsschlüssel auch nicht aufgezeichnet werden. **Eine nachträgliche Entschlüsselung einer aufgezeichneten Session ist damit unmöglich!** | + | PFS (//Perfect Forward Secrecy//) basiert auf der Idee, dass der Client und der Server ihre Kommunikation über einen **zusätzlichen temporären wechselnden** Schlüssel absichern. Da der Verbindungsaufbau so durchgeführt wird, dass der Schlüssel selbst nicht ausgetauscht werden muss, kann der jeweils benutzte Sitzungsschlüssel auch nicht aufgezeichnet werden. |
+ | |||
+ | :!: **WICHTIG** - **Eine nachträgliche Entschlüsselung einer aufgezeichneten Session ist damit unmöglich!** | ||
Alle nachfolgenden Beschreibungen, | Alle nachfolgenden Beschreibungen, | ||
Zeile 13: | Zeile 15: | ||
* [[tachtler: | * [[tachtler: | ||
- | Um darüber hinaus auch PFS einsetzen zu können, sind folgende Komponenten erforderlich: | + | Um darüber hinaus auch PFS einsetzen zu können, sind folgende |
- | * | + | * [[http:// |
+ | * [[http:// | ||
+ | und Komponenten erforderlich: | ||
+ | | ||
Ab hier werden '' | Ab hier werden '' | ||
Zeile 21: | Zeile 26: | ||
Password: | Password: | ||
</ | </ | ||
+ | |||
+ | ===== Voraussetzungen ===== | ||
+ | |||
+ | Mit nachfolgenden Befehlen kann überprüft werden, ob die Voraussetzungen in Bezug auf die installierte [[http:// | ||
+ | |||
+ | Befehl zu Überprüfung der installierten [[http:// | ||
+ | < | ||
+ | # postconf mail_version | ||
+ | mail_version = 2.6.6 | ||
+ | </ | ||
+ | |||
+ | Befehl zu Überprüfung der installierten [[http:// | ||
+ | < | ||
+ | # openssl version | ||
+ | OpenSSL 1.0.1e-fips 11 Feb 2013 | ||
+ | </ | ||
+ | |||
+ | Beide Voraussetzungen, | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | müssen erfüllt sein! | ||
+ | |||
+ | ===== Vorbereitung ===== | ||
+ | |||
+ | Als ersten Schritt zum Einsatz von PFS (//Perfect Forward Secrecy//) bei der TLS (// | ||
+ | |||
+ | Hintergründe warum dies erfolgen muss, können unter nachfolgendem Link nachgelesen werden: | ||
+ | * [[http:// | ||
+ | |||
+ | Anstelle der mit [[http:// | ||
+ | |||
+ | Die Generierung der beiden Diffie-Hellmann-Schlüssel, | ||
+ | < | ||
+ | # openssl gendh -out / | ||
+ | Generating DH parameters, 512 bit long safe prime, generator 2 | ||
+ | This is going to take a long time | ||
+ | ........................................+.....................+. | ||
+ | ..............................+................................. | ||
+ | ....+............+.........................+...................+ | ||
+ | ......+...............+...................+..++*++*++*++*++*++* | ||
+ | </ | ||
+ | und | ||
+ | < | ||
+ | # openssl gendh -out / | ||
+ | Generating DH parameters, 1024 bit long safe prime, generator 2 | ||
+ | This is going to take a long time | ||
+ | .................................+.............................. | ||
+ | .......................................+........................ | ||
+ | ..................+............................................. | ||
+ | ................................................................ | ||
+ | ...................+............................................ | ||
+ | ................................................................ | ||
+ | .......................+........................................ | ||
+ | .................+..............+............................... | ||
+ | .............................................+..........+....... | ||
+ | .........................+.....+.........+....................+. | ||
+ | ...+...........................+.....+.......................... | ||
+ | ................................................................ | ||
+ | ................................++*++*++* | ||
+ | </ | ||
+ | |||
+ | Anschließend sollten zwei zusätzliche Dateien im Verzeichnis | ||
+ | * **''/ | ||
+ | erstellt worden sein. | ||
+ | |||
+ | Zur Überprüfung, | ||
+ | < | ||
+ | # ll / | ||
+ | -rw-r--r-- 1 root root 245 Dec 19 10:27 / | ||
+ | -rw-r--r-- 1 root root 156 Dec 19 10:26 / | ||
+ | </ | ||
+ | |||
+ | ===== Konfiguration: | ||
+ | |||
+ | Nachfolgende Einträge müssen nun in der Konfigurationsdatei von [[http:// | ||
+ | |||
+ | <code ini> | ||
+ | ... | ||
+ | # PFS Encryption | ||
+ | smtpd_tls_dh1024_param_file = / | ||
+ | smtpd_tls_dh512_param_file = / | ||
+ | smtpd_tls_eecdh_grade = strong | ||
+ | tls_preempt_cipherlist = yes | ||
+ | smtpd_tls_loglevel = 1 | ||
+ | smtp_tls_loglevel = 1 | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | **__Erklärungen__**: | ||
+ | |||
+ | Einbindung von eigenen Diffie-Hellmann-Schlüssel zur Verwendung von PFS (//Perfect Forward Secrecy//) bei der TLS (// | ||
+ | <code ini> | ||
+ | smtpd_tls_dh1024_param_file = / | ||
+ | smtpd_tls_dh512_param_file = / | ||
+ | </ | ||
+ | |||
+ | Die Unterstützung für " | ||
+ | |||
+ | __Mögliche Einstellungen__: | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Die Einstellung **'' | ||
+ | <code ini> | ||
+ | smtpd_tls_eecdh_grade = strong | ||
+ | </ | ||
+ | |||
+ | [[http:// | ||
+ | <code ini> | ||
+ | tls_preempt_cipherlist = yes | ||
+ | </ | ||
+ | //* Die Einstellung wird im [[http:// | ||
+ | |||
+ | Die Einstellungen erhöhen das **Loglevel** und dokumentieren unter anderem im Log von [[http:// | ||
+ | <code ini> | ||
+ | smtpd_tls_loglevel = 1 | ||
+ | smtp_tls_loglevel = 1 | ||
+ | </ | ||
+ | |||
+ | ===== Postfix restart/ | ||
+ | |||
+ | 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:// | ||
+ | < | ||
+ | # service postfix restart | ||
+ | Shutting down postfix: | ||
+ | Starting postfix: | ||
+ | </ | ||
+ | **oder** zumindest | ||
+ | < | ||
+ | # service postfix reload | ||
+ | Reloading postfix: | ||
+ | </ | ||
+ | |||
+ | ===== Überprüfung ===== | ||
+ | |||
+ | Anschließend kann im Log von [[http:// | ||
+ | |||
+ | Dazu kann nach den | ||
+ | * **'' | ||
+ | * **'' | ||
+ | gesucht werden, was mit nachfolgendem Befehl durchgeführt werden kann: | ||
+ | < | ||
+ | # grep DHE / | ||
+ | ... | ||
+ | Dec 19 10:59:21 rechner60 postfix/ | ||
+ | rechner90.tachtler.net[192.168.0.90]: | ||
+ | ... | ||
+ | </ | ||
+ |
tachtler/postfix_pfs_einsetzen.1387444076.txt.gz · Zuletzt geändert: 2013/12/19 10:07 von klaus