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"