Page 1 of 1

[Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Wed 4. Mar 2020, 13:34
by Martin
Hallo,

für KeyHelp 20.1 planen wir, wie auch schon im Feature Wunsch Forum gewünscht, die TLS Cipher für KeyHelp anzupassen. Im Einzelnen trifft dies die Dienste Apache, Proftpd, Postfix und Dovecot. Basis für die Anpassung ist die Mozilla Empfehlung zur Intermediate Konfiguration (https://ssl-config.mozilla.org/)

Nutzer die dies bereits einmal auf Ihren Systemen testen möchten erhalten hier nun die vorgeschlagenen Änderungen. Feedback ist natürlich willkommen.

Die Konfigurationsschnipsel sind hierbei die für TLS relevanten Ausschnitte, Abschnitte der Konfiguration davor oder dahinter bleiben unverändert. Die Konfiguration unter "Alter Konfiguation" kann entsprechend aus der Datei entfernt und mit der unter "Neue Konfiguration" ersetzt werden.

Apache - Webserver
Konfiguationsdatei: /etc/apache2/mods-enabled/ssl.conf

Alte Konfiguration:

Code: Select all

    # SSL Cipher Suite:
    SSLCipherSuite          ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA::AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:!ECDHE-RSA-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!DES-CBC3-SHA:!DSS
    SSLHonorCipherOrder     on

    # The protocols to enable
    SSLProtocol             all -SSLv3 -SSLv2

    # OCSP Stapling
    #SSLUseStapling          on
    #SSLStaplingResponderTimeout 5
    #SSLStaplingReturnResponderErrors off
    #SSLStaplingCache        shmcb:${APACHE_RUN_DIR}/ssl_ocsp(512000)
Neue Konfiguration:

Code: Select all

    # SSL Cipher Suite:
    SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
    SSLHonorCipherOrder     off
    SSLCompression          off
    SSLSessionTickets       off

    # OCSP Stapling
    SSLUseStapling			on
    SSLStaplingResponderTimeout		5
    SSLStaplingReturnResponderErrors	off
    SSLStaplingCache			shmcb:${APACHE_RUN_DIR}/ssl_ocsp(512000)
Proftpd
Konfigurationsdatei: /etc/proftpd/tls.conf

Alte Konfiguration:

Code: Select all

    TLSProtocol                 TLSv1
Neue Konfiguration:

Code: Select all

    TLSProtocol                 TLSv1.2
    TLSCipherSuite		ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
Postfix - SMTP
Konfigurationsdatei: /etc/postfix/main.cf

Alte Konfiguration:

Code: Select all

## TLS parameters
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/ssl/keyhelp/mail.pem
smtpd_tls_key_file = /etc/ssl/keyhelp/mail.pem
smtpd_tls_CAfile = /etc/ssl/keyhelp/mail-ca.crt
smtp_tls_CApath = /etc/ssl/certs
smtpd_tls_CApath = /etc/ssl/certs
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_mandatory_protocols = !SSLv2 !SSLv3
smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3
smtp_tls_protocols = !SSLv2 !SSLv3
smtpd_tls_protocols = !SSLv2 !SSLv3
smtp_tls_security_level = may
smtpd_tls_security_level = may

## TLS cypher for PFS
smtp_tls_mandatory_ciphers = high
smtpd_tls_mandatory_ciphers = high
## medium for now, otherwise breakes with older SMTP
smtp_tls_ciphers = medium
smtpd_tls_ciphers = medium
smtpd_tls_dh1024_param_file = /etc/postfix/dh2048.pem
smtpd_tls_dh512_param_file = /etc/postfix/dh512.pem
Neue Konfiguraion:

Code: Select all

# TLS parameters
smtpd_use_tls = yes
smtpd_tls_auth_only = yes

smtpd_tls_cert_file = /etc/ssl/keyhelp/mail.pem
smtpd_tls_key_file = /etc/ssl/keyhelp/mail.pem
smtpd_tls_CAfile = /etc/ssl/keyhelp/mail-ca.crt
smtp_tls_CApath = /etc/ssl/certs
smtpd_tls_CApath = /etc/ssl/certs

smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtp_tls_mandatory_protocols = !SSLv2 !SSLv3
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_protocols = !SSLv2 !SSLv3
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1

smtp_tls_security_level = may
smtpd_tls_security_level = may

## TLS Cypher für PFS
smtpd_tls_mandatory_ciphers = high
smtp_tls_mandatory_ciphers = high
## medium for now, otherwise breakes with older SMTP
smtpd_tls_ciphers = medium
smtp_tls_ciphers = medium

smtpd_tls_dh512_param_file = /etc/postfix/dh512.pem
smtpd_tls_dh1024_param_file = /etc/postfix/dh2048.pem

smtpd_tls_exclude_ciphers = RC4, 3DES, aNULL
smtp_tls_exclude_ciphers = RC4, 3DES, aNULL

smtpd_tls_eecdh_grade = ultra
tls_eecdh_strong_curve = prime256v1
tls_eecdh_ultra_curve = secp384r1 

tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
tls_preempt_cipherlist = no

## TLS Logging im Maillog
smtpd_tls_received_header = yes
smtpd_tls_loglevel = 1
smtp_tls_loglevel = 1
Dovecot - IMAP/POP3
Konfigurationsdatei: /etc/dovecot/dovecot.conf

Alte Konfiguration:

Code: Select all

## ssl settings
ssl = required
ssl_cert = </etc/ssl/keyhelp/mail.pem
ssl_key = </etc/ssl/keyhelp/mail.pem
ssl_ca = </etc/ssl/keyhelp/mail-ca.crt
ssl_protocols = !SSLv3
Neue Konfiguration:

Code: Select all

## ssl settings
ssl = required
ssl_cert = </etc/ssl/keyhelp/mail.pem
ssl_key = </etc/ssl/keyhelp/mail.pem
ssl_ca = </etc/ssl/keyhelp/mail-ca.crt
ssl_dh_parameters_length = 2048
ssl_protocols = TLSv1.2
ssl_cipher_list = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
ssl_prefer_server_ciphers = no

Re: [Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Thu 5. Mar 2020, 16:01
by select name from me;
👍

Re: [Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Thu 5. Mar 2020, 17:38
by derFu
Hi!
Martin wrote: Wed 4. Mar 2020, 13:34 Hallo,

für KeyHelp 20.1 planen wir, wie auch schon im Feature Wunsch Forum gewünscht, die TLS Cipher für KeyHelp anzupassen. Im Einzelnen trifft dies die Dienste Apache, Proftpd, Postfix und Dovecot. Basis für die Anpassung ist die Mozilla Empfehlung zur Intermediate Konfiguration (https://ssl-config.mozilla.org/)

Nutzer die dies bereits einmal auf Ihren Systemen testen möchten erhalten hier nun die vorgeschlagenen Änderungen. Feedback ist natürlich willkommen.
[ ... ]
Dovecot, Apache und Postfix habe ich mal unter Debian Buster eingebaut. Sehr schön, bisher keinerlei Probleme.

Dovecot informiert mich hier zwar über veraltete Angaben
config: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:23: ssl_dh_parameters_length is no longer needed
config: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:24: ssl_protocols has been replaced by ssl_min_protocol
, aber es soll ja nicht nur mit Buster funktionieren.

Re: [Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Thu 5. Mar 2020, 18:32
by Jolinar
Martin wrote: Wed 4. Mar 2020, 13:34 für KeyHelp 20.1 planen wir, wie auch schon im Feature Wunsch Forum gewünscht, die TLS Cipher für KeyHelp anzupassen
Bevor nachher der Aufschrei groß ist, daß die neue TLS-Config zu restriktiv wäre (weil z.B. einige Mailserver noch kein TLS 1.2 verstehen) oder vielleicht für manche nicht restriktiv genug sei (weil man nur noch TLS 1.3 verwenden möchte), möchte ich noch den Vorschlag in den Raum werfen, daß man die Festlegung der zugelassenen TLS-Protokolle und Cipher in den Konfigurationsbereich des Panels integrieren könnte (Protokolle als Checkboxen und Cipher als Textfeld).

Re: [Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Thu 5. Mar 2020, 19:16
by Tobi
Jolinar wrote: Thu 5. Mar 2020, 18:32
Martin wrote: Wed 4. Mar 2020, 13:34 für KeyHelp 20.1 planen wir, wie auch schon im Feature Wunsch Forum gewünscht, die TLS Cipher für KeyHelp anzupassen
Bevor nachher der Aufschrei groß ist, daß die neue TLS-Config zu restriktiv wäre (weil z.B. einige Mailserver noch kein TLS 1.2 verstehen) oder vielleicht für manche nicht restriktiv genug sei (weil man nur noch TLS 1.3 verwenden möchte), möchte ich noch den Vorschlag in den Raum werfen, daß man die Festlegung der zugelassenen TLS-Protokolle und Cipher in den Konfigurationsbereich des Panels integrieren könnte (Protokolle als Checkboxen und Cipher als Textfeld).
Am besten noch ergänzt um die Option separate Zertifikate für SMTP und IMAP festzulegen.
Dann wären Postein- und Ausgang endlich unter einem anderen FQDN als das Panel erreichbar. 😁

Re: [Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Thu 5. Mar 2020, 22:20
by nikko
Tobi wrote: Thu 5. Mar 2020, 19:16
Jolinar wrote: Thu 5. Mar 2020, 18:32
Martin wrote: Wed 4. Mar 2020, 13:34 für KeyHelp 20.1 planen wir, wie auch schon im Feature Wunsch Forum gewünscht, die TLS Cipher für KeyHelp anzupassen
Bevor nachher der Aufschrei groß ist, daß die neue TLS-Config zu restriktiv wäre (weil z.B. einige Mailserver noch kein TLS 1.2 verstehen) oder vielleicht für manche nicht restriktiv genug sei (weil man nur noch TLS 1.3 verwenden möchte), möchte ich noch den Vorschlag in den Raum werfen, daß man die Festlegung der zugelassenen TLS-Protokolle und Cipher in den Konfigurationsbereich des Panels integrieren könnte (Protokolle als Checkboxen und Cipher als Textfeld).
Am besten noch ergänzt um die Option separate Zertifikate für SMTP und IMAP festzulegen.
Dann wären Postein- und Ausgang endlich unter einem anderen FQDN als das Panel erreichbar. 😁
Und ab morgen ist die Wünsch-Dir-Was-Ecke für den Rest des Jahres geschlossen...weil Alex bis dahin mit der Programmierung ausgebucht ist... :lol: :lol: :lol: :lol:

Re: [Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Thu 5. Mar 2020, 22:32
by Jolinar
nikko wrote: Thu 5. Mar 2020, 22:20 Und ab morgen ist die Wünsch-Dir-Was-Ecke für den Rest des Jahres geschlossen...weil Alex bis dahin mit der Programmierung ausgebucht ist... :lol: :lol: :lol: :lol:
Du hast in deiner Aussage einen Denkfehler...Wir müssen uns noch viel, viel mehr Features wünschen, um Alex zu entlasten...
Denn bei noch mehr Programmierarbeit muß Alex' Arbeitgeber weitere Entwickler einstellen, was ihn dann tatsächlich entlasten würde :roll: :D

Re: [Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Fri 17. Apr 2020, 14:19
by select name from me;
Hat das jemand von euch schon automatisiert? 8-)

Ich würde das auf allen Servern testen, wenn ich das in einem Rutsch verteilen und zurücknehmen kann.

Re: [Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Thu 23. Apr 2020, 16:23
by select name from me;
Martin wrote: Wed 4. Mar 2020, 13:34 … für KeyHelp 20.1 planen wir, wie auch schon im Feature Wunsch Forum gewünscht, die TLS Cipher für KeyHelp anzupassen …
Gibt es dafür schon einen Zeitplan?

Re: [Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Fri 24. Apr 2020, 08:20
by Alexander
Nach derzeitigem Stand: Nächste Woche brauche ich sicher noch komplett, danach fang ich mit den finalen Rollout-Tests an.
Demnach kann der Release Anfang Mai erfolgen.

(Nagelt mich nicht drauf fest ;))

Re: [Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Fri 24. Apr 2020, 11:40
by select name from me;
Alexander wrote: Fri 24. Apr 2020, 08:20 Nach derzeitigem Stand: Nächste Woche brauche ich sicher noch komplett, danach fang ich mit den finalen Rollout-Tests an.
Demnach kann der Release Anfang Mai erfolgen.

(Nagelt mich nicht drauf fest ;))
Danke für die Info. Das hilft sehr bei der Planung.

Re: [Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Mon 27. Apr 2020, 10:31
by WebCF
Was passiert, wenn ich die Postfix-Config z.B. schon händisch angepasst habe, wird das trotzdem ersetzt? Wie nimmt KeyHelp die Ersetzung vor?

Gruß,

Re: [Proposed Update] - TLS Cipher für KeyHelp 20.1

Posted: Mon 27. Apr 2020, 14:19
by Alexander
Für postfix werden die Einstellungen mittels "postconf" aktualisiert. Das heißt die main.cf wird nicht überschreiben, nur die oben ersichtlichen Werte werden wie oben ersichtlich angepasst (bis auf die Konfigurationen fürs Logging).

Solltest du eigene Konfigurationen (die oben nicht aufgeführt sind) vorgenommen haben, so bleiben diese bestehen. Wenn du dir unsicher sein solltest, schadet es sicher nicht, wenn du von der main.cf noch ein Backup anlegst und nach dem Update vergleichst.