Perdition Proxy mit Perfect Forward Secrecy

Am 1. November wurde Perdition 2.2 veröffentlicht. Perdition ist ein Proxy Server für die Mail Access Protokolle IMAP(S) und POP3(S) sowie für Managesieve. Er verbindet für die Benutzer transparent deren Zugriffe mit ihrem tatsächlichen Mailbox Server, wobei deren Software und Version keine Rolle spielt, so dass er nicht nur in großen Umgebungen, sondern auch in heterogenen Server-Landschaften verwendet werden kann.

Die neue Version bietet in erster Linie Verbesserungen im Bereich TLS. So kann Perdition 2.2 erstmals Cipher aushandeln, die Perfect Forward Secrecy unterstützen. Die elliptische Kurve der EC-DHE und EC-DH Cipher ist im Code fest vorgegeben. Für die DHE und DH Cipher müssen die benötigten Diffie-Hellman-Parameter erzeugt und Perdition im PEM-Format zur Verfügung gestellt werden.

[root@popc ~]# openssl s_client -connect 10.2.2.2:995
[...]
Server Temp Key: ECDH, prime256v1, 256 bits
[...]
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
[...]

Mit Hilfe der Option ssl_listen_min_proto_version für eingehende Verbindungen und der Option ssl_outgoing_min_proto_version für ausgehende können die TLS-Protokoll-Versionen eingeschränkt werden. Standardmäßig ist SSLV3 bereits abgeschaltet.

Neu ist ebenfalls, dass Perdition bei eingehenden Verbindungen den eigenen in ssl_listen_ciphers festgelegten Prioritäten der Cipher für die Aushandlung folgt und nicht mehr denen des Clients. (Dies kann mittels der Option ssl_no_cipher_server_preference abgeschaltet werden.)

Musste man auf Perfect Forward Secrecy bei Perdition im Production Release zugegebenermaßen etwas warten, lässt sich 2.2 dafür nicht nur gegen OpenSSL 1.0, sondern auch bereits gegen die neue OpenSSL-Version 1.1 kompilieren.

Referenzen:

1. http://horms.net/projects/perdition/