Optimierung der ssl Konfigurationen in v6.2

Moin moin!

habt ihr mal die Version von Openssl in der 6.2 angeschaut…

Dank an @ironiemix für den Hinweis.

Jetzt hatte ich mal Zeit mir das genauer anzuschauen.
Die libssl ist sammamal gut abgehangen (genauso übrigens wie das verwendete libgnutls). Da werden noch Crypto-Algorithmen verwendet, die schon seit einiger Zeit als „deprecated“ gelten. Bei der Aushandlung einer Verbindung könnte ein Server zur Verwendung eines schwachen Algorithmus gezwungen werden und die verschlüsselten Daten wären durch den Angreifer entschlüsselbar. Dazu müsste er einen Client-Rechner kapern und die SSL-Verbindungen eines angemeldeten Nutzers belauschen. Wenn aber der Client übernommen werden kann, hat man erstmal ein anderes Problem.
Wie auch immer, versuchen wir also die Dienste auf einem 6.2er-System, die libssl/libgnutls verwenden, so zu konfigurieren, dass sie die sichersten zur Verfügung stehenden Verschlüsselungsverfahren verwenden. Es geht darum, dass die Crypto-Algorithmen RC4, RC5, MD5, SHA1 vermieden werden, und dass nur TLS-Protokoll v1.2 verwendet wird (mehr ist nicht drin).

Die empfohlenen Konfigurationsoptionen der einzelnen Dienste:

  • apache2 (libssl)
    /etc/apache2/mods-enabled/ssl.conf

    SSLProtocol             all -SSLv2 -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
    
  • cyrus-imapd (libssl)
    /etc/imapd.conf

    tls_cipher_list: kEECDH:+kEECDH+SHA:kEDH:+kEDH+SHA:+kEDH+CAMELLIA:kECDH:+kECDH+SHA:kRSA:+kRSA+SHA:+kRSA+CAMELLIA:!aNULL:!eNULL:!SSLv2:!RC4:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES:!SHA
    tls_prefer_server_ciphers: 1
    tls_versions: tls1_2
    
  • postfix (libssl)
    nur notwendig, wenn man postfix Mail nach extern ausliefern lässt (Kontrolle der Logs empfiehlt sich, um sicherzustellen, dass die empfangenden MTAs die verwendeten Ciphers auch unterstützen)
    /etc/postfix/main.cf

    smtp_tls_security_level = may
    smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
    smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
    smtp_tls_mandatory_ciphers = medium
    tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-HA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
    tls_preempt_cipherlist = no
    
  • slapd (libgnutls)
    /etc/ldap/slapd.conf

    TLSCipherSuite  TLS_ANON_DH_AES_128_CBC_SHA256:TLS_ANON_DH_AES_256_CBC_SHA256:TLS_DHE_DSS_AES_128_CBC_SHA256:TLS_DHE_DSS_AES_256_CBC_SHA256:TLS_DHE_RSA_AES_128_CBC_SHA256:TLS_DHE_RSA_AES_256_CBC_SHA256:TLS_RSA_NULL_SHA256:TLS_RSA_AES_128_CBC_SHA256:TLS_RSA_AES_256_CBC_SHA256
    
  • cups (libgnutls)
    /etc/cups/cupsd.conf

    SSLOptions MinTLS1.2
    

Einen Überblick über alle verfügbaren Crypto-Algorithmen und TLS-Protokolle liefern die Befehle:

openssl ciphers
gnutls-cli -l

Ggf. muss das Paket gnutls-bin nachinstalliert werden.

Links:

Dank auch an Thorsten Alteholz für die zugrundeliegende Beratung.

Viele Grüße
Thomas

Danke @thomas !

Ich ergänze mal mit einer Webseite, die viele Erklärungen und Beispiele für alle Software ( Apache, nginx, dovecot, postfix, usw … ) gibt : https://bettercrypto.org/

Die Authoren sind Spezialisten in die IT-Sicherheit.

Gruß

Arnaud

Hallo Thomas!

Der Link für leider ins Nirvana!

Beste Grüße und Danke an

@ironiemix, Herrn Alteholz und dich

Thorsten

@Arnaud
Danke für den Tipp. Kannte die Seite noch nicht. Die erschlagen ja wirklich alles.

@MachtDochNix
Danke. Habs korrigiert.

VG, Thomas

Hallo Thomas!

Ich dachte mir ich stelle das mal bei meinem Server so ein. Ergebnis: Keiner meiner User konnte sich einloggen und die Drucker wurden nicht via cups/samba ausgerollt. Ups!

War also falsch von mir gedacht! Oder?

Nach dem ich die Einstellungen wieder zurück geschraubt hatte, war alles wieder gut.

Wie weiter mit den Erkenntnissen verfahren?

Beste Grüße

Thorsten

Hallo Thorsten,

nö. Ich habe in meinem 6.2er Testsystem genau diese Einstellungen. Einloggen per smbclient klappte so. Cups per https klappt auch.
Jetzt habe ich aufgrund deines Postings einen Win7-Client reaktiviert. Domänen- und Benutzeranmeldung alles tippi toppi.
Keine Ahnung was du gemacht hast, um cups mit samba zu verheiraten. Standardmäßig haben wir in 6.2 ja nur cups Drucker per ipp.
Evtl. kann das ja noch jemand nachvollziehen. Bei mir sieht es auf jeden Fall nicht so aus, dass samba und ldap aufgrund der restriktiveren slapd-Einstellungen miteinander Probleme hätten.
Schön wäre auch, wenn jemand die externe ldaps-Authentifizierung testen könnte. ldapsearch per starttls tut auf jeden Fall.
Da fällt mir noch ein: Sind die Serverzertifikate abgelaufen? Kommentier die mal raus in slapd.conf.

VG, Thomas

Es ist eh so, dass samba den ldap unverschlüsselt abfragt. Geschieht ja nur auf dem localhost. Also ist die TLSCipherSuite in slapd.conf für die Verbindung zu samba nicht wirksam.

VG, Thomas