Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:mail_c7:dovecot_4 [09.06.2015 20:16. ] – [Dovecot Verbindungstest] djangocentos:mail_c7:dovecot_4 [22.07.2019 14:48. ] (aktuell) – [Links] django
Zeile 141: Zeile 141:
 </code> </code>
  
-==== Cipher-Suites und Diffie-Hellmann ====+==== Cipher-Suites und Diffie-Hellman ====
 Möchte man in Erfahrung bringen, welche Cipher-Suites((Sammlung von standardisierten kryptographischer Algorithmen)) unser installiertes OpenSSL-Paket mitbringt, können wir wie folgt abfragen((Ausgabe in formatierter Tabelle)). Möchte man in Erfahrung bringen, welche Cipher-Suites((Sammlung von standardisierten kryptographischer Algorithmen)) unser installiertes OpenSSL-Paket mitbringt, können wir wie folgt abfragen((Ausgabe in formatierter Tabelle)).
    # openssl ciphers -v    # openssl ciphers -v
Zeile 1383: Zeile 1383:
    # vim /etc/dovecot/conf.d/10-ssl.conf    # vim /etc/dovecot/conf.d/10-ssl.conf
  
-<file bash /etc/dovecot/conf.d/10-ssl.conf>## +<file bash /etc/dovecot/conf.d/10-ssl.conf>##                                                                         
-## SSL settings +## SSL settings                                                            
-##+##                                                                        
  
 # SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt> # SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
 # disable plain pop3 and imap, allowed are only pop3+TLS, pop3s, imap+TLS and imaps # disable plain pop3 and imap, allowed are only pop3+TLS, pop3s, imap+TLS and imaps
-# plain imap and pop3 are still allowed for local connections +# plain imap and pop3 are still allowed for local connections                       
-ssl = required+ssl = required                                                                     
  
 # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
-# dropping root privileges, so keep the key file unreadable by anyone but +# dropping root privileges, so keep the key file unreadable by anyone but      
-# root. Included doc/mkcert.sh can be used to easily generate self-signed +# root. Included doc/mkcert.sh can be used to easily generate self-signed      
-# certificate, just make sure to update the domains in dovecot-openssl.cnf +# certificate, just make sure to update the domains in dovecot-openssl.cnf     
-# Django : 2014-04-09 +# Django : 2015-06-09                                                          
-# old    : ssl_cert = </etc/pki/dovecot/certs/dovecot.pem +# old    : ssl_cert = </etc/pki/dovecot/certs/dovecot.pem                      
-#          ssl_key = </etc/pki/dovecot/private/dovecot.pem +#          ssl_key = </etc/pki/dovecot/private/dovecot.pem                     
-ssl_cert = </etc/pki/dovecot/certs/servercert_2014-04-09.pem +ssl_cert = </etc/pki/dovecot/certs/imap.nausch.org.cert_bundle.2015-06-09.pem 
-ssl_key = </etc/pki/dovecot/private/serverkey_2014-04-09.pem+ssl_key = </etc/pki/dovecot/private/serverkey_2015-06-09.pem                 
  
 # If key file is password protected, give the password here. Alternatively # If key file is password protected, give the password here. Alternatively
 # give it when starting dovecot with -p parameter. Since this file is often # give it when starting dovecot with -p parameter. Since this file is often
 # world-readable, you may want to place this setting instead to a different # world-readable, you may want to place this setting instead to a different
-# root owned 0600 file by using ssl_key_password = <path. +# root owned 0600 file by using ssl_key_password = <path.                   
-#ssl_key_password =+#ssl_key_password =                                                        
  
 # PEM encoded trusted certificate authority. Set this only if you intend to use # PEM encoded trusted certificate authority. Set this only if you intend to use
 # ssl_verify_client_cert=yes. The file should contain the CA certificate(s) # ssl_verify_client_cert=yes. The file should contain the CA certificate(s)
 # followed by the matching CRL(s). (e.g. ssl_ca = </etc/pki/dovecot/certs/ca.pem) # followed by the matching CRL(s). (e.g. ssl_ca = </etc/pki/dovecot/certs/ca.pem)
-#ssl_ca = +#ssl_ca =
  
 # Require that CRL check succeeds for client certificates. # Require that CRL check succeeds for client certificates.
Zeile 1433: Zeile 1433:
  
 # DH parameters length to use. # DH parameters length to use.
-#ssl_dh_parameters_length = 1024+Django : 2015-05-21 
 +# default: ssl_dh_parameters_length = 1024 
 +ssl_dh_parameters_length=4096 
 + 
 +# Weekly regeneration of the ssl-parameters 
 +# Django : 2015-06-10 
 +# default: ssl_parameters_regenerate = 0 
 +#          ssl_parameters_regenerate = 2 hours 
 +#          Won't work since dovecot 2.2! 
 +#          Update ssl_dh_parameters_length with script dh-params 
 +#          https://dokuwiki.nausch.org/doku.php/centos:mail_c7:dovecot_4?&#diffie-hellman-verfahren_und_perfect_forward_secrecy
  
 # SSL protocols to use # SSL protocols to use
-#ssl_protocols = !SSLv2+# Django : 2014-10-16 
 +# default: #ssl_protocols = !SSLv2 
 +ssl_protocols = !SSLv2 !SSLv3
  
 # SSL ciphers to use # SSL ciphers to use
-#ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL+# Django : 2014-10-16 
 +# default: #ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL 
 +ssl_cipher_list = EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4
  
 # Prefer the server's order of ciphers over client's. # Prefer the server's order of ciphers over client's.
-#ssl_prefer_server_ciphers = no+# Django : 2015-05-20 
 +# default: #ssl_prefer_server_ciphers = no 
 +ssl_prefer_server_ciphers = yes
  
 # SSL crypto device to use, for valid values run "openssl engine" # SSL crypto device to use, for valid values run "openssl engine"
Zeile 1450: Zeile 1466:
 Über den Paramter **ssl** kann man steuern, ob **SSL/TLS** nun verwendet werden kann, oder ob es verwendet werden muss, oder eben nicht. Wir lassen den Default-Wert //**required**// stehen, was bedeutet, dass den Clients **SSL/TLS** als **zwingend vorgeschrieben** ist. Ein //**yes**// setzt die Transportverschlüsselung als **optional** und ein //**no**//  **deaktiviert** die Transportverschlüsselung gar ganz, aber wer will das seinen Endkunden in Zeiten vob **NSA**, **BND** und **Tempora** noch guten Gewissens verkaufen?  Über den Paramter **ssl** kann man steuern, ob **SSL/TLS** nun verwendet werden kann, oder ob es verwendet werden muss, oder eben nicht. Wir lassen den Default-Wert //**required**// stehen, was bedeutet, dass den Clients **SSL/TLS** als **zwingend vorgeschrieben** ist. Ein //**yes**// setzt die Transportverschlüsselung als **optional** und ein //**no**//  **deaktiviert** die Transportverschlüsselung gar ganz, aber wer will das seinen Endkunden in Zeiten vob **NSA**, **BND** und **Tempora** noch guten Gewissens verkaufen? 
  
-=== Diffie-Hellmann-Verfahren und Perfect Forward Secrecy  ===+=== Diffie-Hellman-Verfahren und Perfect Forward Secrecy  ===
 Wie am Anfang des Artikels bereits angeschnitten, basiert Perfect Forward Secrecy (**PFS**) auf der Idee, dass Client und Server ihre Kommunikation über einen zusätzlichen temporären Schlüssel absichern, der wechselt.  Wie am Anfang des Artikels bereits angeschnitten, basiert Perfect Forward Secrecy (**PFS**) auf der Idee, dass Client und Server ihre Kommunikation über einen zusätzlichen temporären Schlüssel absichern, der wechselt. 
  
Zeile 1461: Zeile 1477:
 Entgegen den Angaben im Abschnitt **SSL security settings** im [[http://wiki2.dovecot.org/SSL/DovecotConfiguration|Dovecot WIKI]] wird die Parameterdatei __nicht__ wöchentlich erneuert! Diese Funktion wurde ab Dovecot-Version **2.2.7** nicht mehr bereitgestellt. Entgegen den Angaben im Abschnitt **SSL security settings** im [[http://wiki2.dovecot.org/SSL/DovecotConfiguration|Dovecot WIKI]] wird die Parameterdatei __nicht__ wöchentlich erneuert! Diese Funktion wurde ab Dovecot-Version **2.2.7** nicht mehr bereitgestellt.
  
-Die Hintergründe und die Lösung zu diesem Problem, basieren auf den Information von **//[[https://andreasschulze.de/dovecot/ssl-params|Andreas Schulze]]//**, dem hier ein ausdrücklicher Dank gebührt!+Die Hintergründe und die Lösung zu diesem Problem, basieren auf den Hinweisen von **//[[https://andreasschulze.de/dovecot/ssl-params|Andreas Schulze]]//**, dem hier ein ausdrücklicher Dank gebührt!
 </WRAP> </WRAP>
  
Zeile 1472: Zeile 1488:
  
 <file bash /etc/dovecot/ssl-params.conf># Django : 2015-06-09 <file bash /etc/dovecot/ssl-params.conf># Django : 2015-06-09
-#          Länge der Diffie-Hellmann-Parameter, diese muss der Länge des privaten RSA-Schlüssels entsprechen+#          Länge der Diffie-Hellman-Parameter, diese muss der Länge des privaten RSA-Schlüssels entsprechen
 ssl_dh_parameters_length = 4096 ssl_dh_parameters_length = 4096
 # #
-#          Speicherort der Diffie-Hellmann-Parameter-Datei ssl-parameters.dat+#          Speicherort der Diffie-Hellman-Parameter-Datei ssl-parameters.dat
 state_dir = /var/lib/dovecot/tmp state_dir = /var/lib/dovecot/tmp
 </file> </file>
Zeile 1522: Zeile 1538:
    # less /var/log/maillog    # less /var/log/maillog
  
-<code>Jun  9 20:08:31 vml000077 dovecot: ssl-params(4526): renewed diffie-hellman parameters 4096bit +  Jun  9 20:08:31 vml000077 dovecot: ssl-params(4526): renewed diffie-hellman parameters 4096bit 
-Jun  9 20:08:31 vml000077 dovecot: master: Warning: SIGHUP received - reloading configuration</code>+  Jun  9 20:08:31 vml000077 dovecot: master: Warning: SIGHUP received - reloading configuration
  
  
Zeile 1857: Zeile 1873:
  
 ==== cipherscan ==== ==== cipherscan ====
-FIXME +Zum Überprüfen welche Chiffren vom Server angeboten und unterstützt werden, greifen wir auf das Tool **[[https://github.com/jvehent/cipherscan|cipherscan]]** von [[julien@linuxwall.info|Julien Vehent]] und [[hkario@redhat.com|Hubert Kario]] zurück. Das Projekt basiert auf den openssl-Bibliotheken und wird auf [[https://github.com|GitHub]] zur Verfügung gestellt.
- +
-https://github.com/jvehent/cipherscan+
  
 +Mit nachfolgendem Aufruf kann überprüft werden, welche Ciphers angeboten werden.
    # /usr/local/src/cipherscan-master/cipherscan -o /usr/local/src/cipherscan-master/openssl --curves -starttls imap imap.nausch.org:143    # /usr/local/src/cipherscan-master/cipherscan -o /usr/local/src/cipherscan-master/openssl --curves -starttls imap imap.nausch.org:143
  
Zeile 1890: Zeile 1905:
 Curves fallback: False Curves fallback: False
 </code> </code>
 +
 +Die Bewertung der einzelnen Chiffren müssen wir hier immer noch selbst vornehmen; hilfreiche Informationen hierzu findet man z.B. im Buch **//[[https://www.feistyduck.com/books/bulletproof-ssl-and-tls/|BULLETPROOF SSL AND TLS]]//** von **[[http://blog.ivanristic.com/|Ivan Ristić]]**.
 +
 +
  
 ====== Links ====== ====== Links ======
Zeile 1895: Zeile 1914:
   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
- 
-~~DISCUSSION~~ 
- 
  
  • centos/mail_c7/dovecot_4.1433880967.txt.gz
  • Zuletzt geändert: 09.06.2015 20:16.
  • von django