Perfect Forward Secrecy für Postfix und Dovecot


Nach dem bekannt werden des SSL Heartblead Bug stellt sich die Frage, wie sicher SSL Verbindungen noch sind bzw. wie man die Sicherherheit erhöhen kann.

Die Lösung ist Perfect Forward Secrecy. Dabei wird für jede neue SSL-Session der Schlüssel neu generiert. D.h. das eine Entschlüsselung der Verbindung zu einem späteren Zeitpunkt, mittels eines Master Keys, nicht möglich ist.

Postfix Perfect Forward Secrecy Konfiguration

Zu erst werden die Diffie Hellmann Parameter erzeugt:

sudo openssl gendh -out /etc/postfix/dh_512.pem -2 512
sudo openssl gendh -out /etc/postfix/dh_1024.pem -2 1024

Die Postfix PFS Konfiguration wird wie folgt durchgeführt:

sudo postconf -e 'smtpd_tls_dh512_param = /etc/postfix/dh_512.pem'
sudo postconf -e 'smtpd_tls_dh1024_param = /etc/postfix/dh-1024.pem'
sudo postconf -e 'smtpd_tls_eecdh_grade = strong'
sudo postconf -e 'tls_preempt_cipher_list = yes'
sudo postconf -e 'smtpd_tls_loglevel = 1'
sudo postconf -e 'smtp_tls_loglevel = 1'

sudo service postfix reload

 

Die Postfix PFS Konfiguration kann wie folgt getestet werden:

openssl sl_client -starttls smtp -connect mail.example.com:587 | grep Cipher

Wenn in der Ausgabe, der verwendete Cipher z.B. ECDHE-RSA-AES256-GCM-SHA384 ist, dann verwendet der Postfix Perfect Forward Secrecy.

 

Dovecot Perfect Forward Secrecy Konfiguration

Für Dovecot 2.x sind keine Konfigurationsänderungen notwendig. Wer erfahren möchte, welche Verschlüsselung die Clients verwenden kann in der /etc/dovecot/conf.d/10-logging.conf das Login Logformat anpassen.

login_log_format_elements = "user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k"

 

« DNS-Server Bind konfigurieren Bind 9 und DNSSEC Konfiguration »