Dovecot: Unterschied zwischen den Versionen

Aus SSLplus
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 8: Zeile 8:


<source lang=bash>
<source lang=bash>
openssl req -new -newkey rsa:2048 -keyout /etc/ssl/private/domain.de.key -out /home/user/csr.txt -nodes
openssl req -new -newkey rsa:2048 -keyout /etc/ssl/private/domain.de.key -out /home/user/csr.txt -nodes -sha256
</source>
</source>


Zeile 24: Zeile 24:


<source lang=bash>
<source lang=bash>
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
# SSL/TLS supportan bzw. abschalten
ssl = yes
ssl = yes


# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
#Pfade zum Zertifikat und Privatekey
# dropping root privileges, so keep the key file unreadable by anyone but
ssl_cert = </etc/ssl/certs/domain.de.crt
# root. Included doc/mkcert.sh can be used to easily generate self-signed
ssl_key = </etc/ssl/private/domain.de.key
# certificate, just make sure to update the domains in dovecot-openssl.cnf
ssl_cert = </etc/ssl/certs/www.vsadmin.de.crt
ssl_key = </etc/ssl/private/www.vsadmin.de.key


# If key file is password protected, give the password here. Alternatively
 
# give it when starting dovecot with -p parameter. Since this file is often
#Mit diesem Parameter kann ein Passwort übergeben werden, falls der Privatekey
# world-readable, you may want to place this setting instead to a different
# verschluesselt wurde. Da diese Datei oft fuer alle lesbar ist, kann mit
# root owned 0600 file by using ssl_key_password = <path.
# <Pfad_zu_passwort_datei eine Datei angegeben werden, die nur fur root lesbar ist.
#ssl_key_password =
#ssl_key_password =


Zeile 43: Zeile 40:
# 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/ssl/certs/ca.pem)
# followed by the matching CRL(s). (e.g. ssl_ca = </etc/ssl/certs/ca.pem)
ssl_ca = </etc/ssl/certs/COMODO_DV.crt


# Require that CRL check succeeds for client certificates.
# Pfad zu den Intermediate Zertifikaten, die das Serverzertifikat
# signieren.
ssl_ca = </etc/ssl/certs/INT_CA_chain.crt
 
# dieser Parameter verlangt eine erfolgreiche Pruefung von CR Listen fuer Client Zertifikate
#ssl_require_crl = yes
#ssl_require_crl = yes


# Request client to send a certificate. If you also want to require it, set
# Mit diesem Parameter kann bei Clients ein Zertifikat angefordert werden.
# auth_ssl_require_client_cert=yes in auth section.
# Der Parameter auth_ssl_require_client_cert=yes erzwingt eine Verifizierung
# dieses Zertifikates
#ssl_verify_client_cert = no
#ssl_verify_client_cert = no


# Which field from certificate to use for username. commonName and
# Angabe welches Zertifikatsfeld den Nutzernamen enthalten soll.
# x500UniqueIdentifier are the usual choices. You'll also need to set
# Ueblicher Weise sind dies der commonName und x500UniqueIdentifier
# Man sollte auch den folgenden Parameter setzen:
# auth_ssl_username_from_cert=yes.
# auth_ssl_username_from_cert=yes.
#ssl_cert_username_field = commonName
#ssl_cert_username_field = commonName
Zeile 60: Zeile 62:
# intensive operation. The value is in hours, 0 disables regeneration
# intensive operation. The value is in hours, 0 disables regeneration
# entirely.
# entirely.
# Wie haeufig die SSL Parameter erzeugt werden sollen. Der Wert fasst Stunden
# Die Rechenoperation ist verhaeltnismaessig rechenintensiv. 0 schaltet die
# Regenerierung ab
#ssl_parameters_regenerate = 168
#ssl_parameters_regenerate = 168


# SSL protocols to use
# Welche SSL Protokolle genutzt werden sollen
ssl_protocols = !SSLv2
ssl_protocols = !SSLv3 !SSLv2


# SSL ciphers to use
# SSL ciphers to use
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL
ssl_cipher_list = ALL:!ADH:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL:+HIGH:+MEDIUM


# SSL crypto device to use, for valid values run "openssl engine"
# SSL crypto device to use, for valid values run "openssl engine"
Zeile 73: Zeile 78:


= Weiterführende Links =
= Weiterführende Links =
* Dovecot Dokumentation zu [http://wiki2.dovecot.org/SSL/DovecotConfiguration SSL]
* SSL Zertifikate für [https://icertificate.eu/de/ssl/anwendungsbereiche/ssl-zertifikate-fuer-mailserver.html Mailserver] bei icertificate

Aktuelle Version vom 16. Oktober 2015, 11:49 Uhr

Einrichtung von SSL für den Dovecot IMAP/POP3 Server

Erzeugen des CSR

Für die Anforderung eines SSL Zertifikates ist es notwendig einen CSR (Certificate Signing Request/Zertifikatsanforderung) zu erzeugen.

Die kann per SSH oder über eine direkt Konsole auf dem Server erfolgen:

<source lang=bash> openssl req -new -newkey rsa:2048 -keyout /etc/ssl/private/domain.de.key -out /home/user/csr.txt -nodes -sha256 </source>

Besitzt man bereits ein Schlüsselpaar kann der CSR auch folgender Maßen erzeugt werden:

<source lang=bash> openssl req -new -key /etc/ssl/private/domain.de.key -out /home/user/csr.txt </source>

Anpassen der Konfiguration

Je nach Distribution sind die Konfigurationsdateien etwas anders Strukturiert. So werden bei Debian 7.x und Dovecot 2.x die Dateien unterhalb von /etc/dovecot/conf.d in verschiedenen Dateien gepflegt.

Die Parameter sind jedoch, egal in welcher Datei Sie schlussendlich zu finden sind, die gleichen.

<source lang=bash>

  1. SSL/TLS supportan bzw. abschalten

ssl = yes

  1. Pfade zum Zertifikat und Privatekey

ssl_cert = </etc/ssl/certs/domain.de.crt ssl_key = </etc/ssl/private/domain.de.key


  1. Mit diesem Parameter kann ein Passwort übergeben werden, falls der Privatekey
  2. verschluesselt wurde. Da diese Datei oft fuer alle lesbar ist, kann mit
  3. <Pfad_zu_passwort_datei eine Datei angegeben werden, die nur fur root lesbar ist.
  4. ssl_key_password =
  1. PEM encoded trusted certificate authority. Set this only if you intend to use
  2. ssl_verify_client_cert=yes. The file should contain the CA certificate(s)
  3. followed by the matching CRL(s). (e.g. ssl_ca = </etc/ssl/certs/ca.pem)
  1. Pfad zu den Intermediate Zertifikaten, die das Serverzertifikat
  2. signieren.

ssl_ca = </etc/ssl/certs/INT_CA_chain.crt

  1. dieser Parameter verlangt eine erfolgreiche Pruefung von CR Listen fuer Client Zertifikate
  2. ssl_require_crl = yes
  1. Mit diesem Parameter kann bei Clients ein Zertifikat angefordert werden.
  2. Der Parameter auth_ssl_require_client_cert=yes erzwingt eine Verifizierung
  3. dieses Zertifikates
  4. ssl_verify_client_cert = no
  1. Angabe welches Zertifikatsfeld den Nutzernamen enthalten soll.
  2. Ueblicher Weise sind dies der commonName und x500UniqueIdentifier
  3. Man sollte auch den folgenden Parameter setzen:
  4. auth_ssl_username_from_cert=yes.
  5. ssl_cert_username_field = commonName
  1. How often to regenerate the SSL parameters file. Generation is quite CPU
  2. intensive operation. The value is in hours, 0 disables regeneration
  3. entirely.
  4. Wie haeufig die SSL Parameter erzeugt werden sollen. Der Wert fasst Stunden
  5. Die Rechenoperation ist verhaeltnismaessig rechenintensiv. 0 schaltet die
  6. Regenerierung ab
  7. ssl_parameters_regenerate = 168
  1. Welche SSL Protokolle genutzt werden sollen

ssl_protocols = !SSLv3 !SSLv2

  1. SSL ciphers to use

ssl_cipher_list = ALL:!ADH:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL:+HIGH:+MEDIUM

  1. SSL crypto device to use, for valid values run "openssl engine"
  2. ssl_crypto_device =

</source>

Weiterführende Links

  • Dovecot Dokumentation zu SSL
  • SSL Zertifikate für Mailserver bei icertificate