Dovecot: Unterschied zwischen den Versionen
Zeile 24: | Zeile 24: | ||
<source lang=bash> | <source lang=bash> | ||
# SSL/TLS | # SSL/TLS supportan bzw. abschalten | ||
ssl = yes | ssl = yes | ||
# | #Pfade zum Zertifikat und Privatekey | ||
ssl_cert = </etc/ssl/certs/domain.de.crt | |||
ssl_key = </etc/ssl/private/domain.de.key | |||
ssl_cert = </etc/ssl/certs/ | |||
ssl_key = </etc/ssl/private/ | |||
# | |||
# | #Mit diesem Parameter kann ein Passwort übergeben werden, falls der Privatekey | ||
# | # verschluesselt wurde. Da diese Datei oft fuer alle lesbar ist, kann mit | ||
# <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) | ||
# | # 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 | ||
# | # Mit diesem Parameter kann bei Clients ein Zertifikat angefordert werden. | ||
# auth_ssl_require_client_cert=yes | # Der Parameter auth_ssl_require_client_cert=yes erzwingt eine Verifizierung | ||
# dieses Zertifikates | |||
#ssl_verify_client_cert = no | #ssl_verify_client_cert = no | ||
# | # Angabe welches Zertifikatsfeld den Nutzernamen enthalten soll. | ||
# | # 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 | # 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:!MEDIUM:!LOW:!SSLv3:!SSLv2:!EXP:!aNULL | ||
# SSL crypto device to use, for valid values run "openssl engine" | # SSL crypto device to use, for valid values run "openssl engine" |
Version vom 3. November 2014, 16:56 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 </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>
- SSL/TLS supportan bzw. abschalten
ssl = yes
- Pfade zum Zertifikat und Privatekey
ssl_cert = </etc/ssl/certs/domain.de.crt ssl_key = </etc/ssl/private/domain.de.key
- Mit diesem Parameter kann ein Passwort übergeben werden, falls der Privatekey
- verschluesselt wurde. Da diese Datei oft fuer alle lesbar ist, kann mit
- <Pfad_zu_passwort_datei eine Datei angegeben werden, die nur fur root lesbar ist.
- ssl_key_password =
- 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)
- followed by the matching CRL(s). (e.g. ssl_ca = </etc/ssl/certs/ca.pem)
- 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
- Mit diesem Parameter kann bei Clients ein Zertifikat angefordert werden.
- Der Parameter auth_ssl_require_client_cert=yes erzwingt eine Verifizierung
- dieses Zertifikates
- ssl_verify_client_cert = no
- Angabe welches Zertifikatsfeld den Nutzernamen enthalten soll.
- Ueblicher Weise sind dies der commonName und x500UniqueIdentifier
- Man sollte auch den folgenden Parameter setzen:
- auth_ssl_username_from_cert=yes.
- ssl_cert_username_field = commonName
- How often to regenerate the SSL parameters file. Generation is quite CPU
- intensive operation. The value is in hours, 0 disables regeneration
- 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
- Welche SSL Protokolle genutzt werden sollen
ssl_protocols = !SSLv3 !SSLv2
- SSL ciphers to use
ssl_cipher_list = ALL:!MEDIUM:!LOW:!SSLv3:!SSLv2:!EXP:!aNULL
- SSL crypto device to use, for valid values run "openssl engine"
- ssl_crypto_device =
</source>