Bug 38733

Summary: dovecot: improve SSL setting
Product: UCS Reporter: Sönke Schwardt-Krummrich <schwardt>
Component: Mail - DovecotAssignee: Daniel Tröder <troeder>
Status: CLOSED FIXED QA Contact: Sönke Schwardt-Krummrich <schwardt>
Severity: normal    
Priority: P5 CC: requate, walkenhorst
Version: UCS 4.0   
Target Milestone: UCS 4.0-2-errata   
Hardware: Other   
OS: Linux   
What kind of report is it?: --- What type of bug is this?: ---
Who will be affected by this bug?: --- How will those affected feel about the bug?: ---
User Pain: Enterprise Customer affected?:
School Customer affected?: ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: Bug group (optional):
Max CVSS v3 score:
Bug Depends on:    
Bug Blocks: 34839    

Description Sönke Schwardt-Krummrich univentionstaff 2015-06-19 13:49:35 CEST
Currently, the SSL settings of dovecot are not optimal. Bettercrypto.org suggests the follwing settings. These variables should be customizable via UCR and should default to the values below. 

# SSL protocols to use
ssl_protocols = !SSLv3 !SSLv2

# SSL ciphers to use
ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH\
\+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!\
\eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-\
\SHA:CAMELLIA128-SHA:AES128-SHA

# Prefer the server's order of ciphers over client's.
ssl_prefer_server_ciphers = yes
Comment 1 Sönke Schwardt-Krummrich univentionstaff 2015-06-19 13:51:32 CEST
Maybe we should also support longer DH parameters (default: 1024).
Please also have a look at page 26ff in
https://bettercrypto.org/static/applied-crypto-hardening.pdf
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2015-06-19 16:10:28 CEST
ssl_parameters_regenerate should also be adjustable via UCR and default to 168 hours.
Comment 3 Daniel Tröder univentionstaff 2015-06-22 12:55:04 CEST
Commit 61396 adds the following UCRVs with default values:

mail/dovecot/ssl/cipher_list           "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA"        
mail/dovecot/ssl/dh_parameters_length  "2048"
mail/dovecot/ssl/parameters_regenerate "168" (hours)
mail/dovecot/ssl/prefer_server_ciphers "yes"
mail/dovecot/ssl/protocols             "!SSLv2 !SSLv3"
Comment 4 Daniel Tröder univentionstaff 2015-06-22 12:58:52 CEST
r61397 fixes some UCRV types.
Comment 5 Sönke Schwardt-Krummrich univentionstaff 2015-06-24 14:14:22 CEST
Description[de]=Der vollständige Dateiname der Datei mit den Schlüsseln der Stammzertifizierungsstelle (CA). Ist die Variable nicht gesetzt wird /etc/univention/ssl/ucsCA/CAcert.pem verwendet.
→ s/Schlüsseln/Zertifikaten/

Description[de]=Zu verendende SSL Verfahren. Standard ist "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA".
→ s/verendende SSL Verfahren/verwendende SSL-Verfahren/

Description[de]=Zu verwendende Diffie Hellman Parameterlänge. Standard ist "2048".
→ s/Diffie Hellman Parameterlänge/Diffie-Hellman-Parameterlänge/

Description[de]=Bevorzuge die Reihenfolge der SSL Verfahren des Servers gegenüber der des Clients. Der Standard ist "yes".
→ s/SSL Verfahren/SSL-Verfahren/

Description[de]=Häufigkeit mit der die SSL Parameter neu erzeugt werden sollen in Stunden. 0 deaktiviert die Wiedererzeugung. Standard ist "168" (einmal pro Woche).
→ Definiert das Intervall in Stunden, nach dessen Ablauf die SSL-Parameter neu erzeugt werden. Der Wert "0" deaktiviert die Wiedererzeugung. Standard ist "168" (einmal pro Woche).

Description[de]=Bevorzuge die Reihenfolge der SSL Verfahren des Servers gegenüber der des Clients. Der Standard ist "yes".
→ Definiert, ob dovecot die Reihenfolge der SSL-Verfahren des Servers gegenüber der SSL-Verfahren des Clients bevorzugt. Der Standard ist "yes".

Description[de]=Zu verwendende SSL Protokolle. Standard ist "!SSLv2 !SSLv3".
→ s/SSL Protokolle/SSL-Protokolle/
Comment 6 Daniel Tröder univentionstaff 2015-06-24 17:08:10 CEST
Text changes applied in r61464. Just added two words:
Definiert, ob dovecot die Reihenfolge der SSL-Verfahren des Servers gegenüber [+der Reihenfolge] der SSL-Verfahren des Clients bevorzugt.
Comment 7 Sönke Schwardt-Krummrich univentionstaff 2015-07-02 17:18:18 CEST
All suggested settings have been inserted via UCR variables.
Comment 8 Janek Walkenhorst univentionstaff 2015-07-09 18:15:03 CEST
<http://errata.univention.de/ucs/4.0/237.html>