Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
centos:mail_c7:dovecot_4 [25.07.2014 20:18. ] – [Zertifikatsketten] django | centos:mail_c7:dovecot_4 [09.06.2015 20:16. ] – [Dovecot Verbindungstest] django | ||
---|---|---|---|
Zeile 682: | Zeile 682: | ||
< | < | ||
- | <font style=" | + | <font style=" |
</ | </ | ||
< | < | ||
Zeile 1072: | Zeile 1072: | ||
Wie schon erwähnt, entfernen wir die Passphrase nun wieder, in dem wir bei der Frage **Enter pass phrase:** einfach die Taste **[ENTER]** drücken. | Wie schon erwähnt, entfernen wir die Passphrase nun wieder, in dem wir bei der Frage **Enter pass phrase:** einfach die Taste **[ENTER]** drücken. | ||
< | < | ||
- | <font style=" | + | <font style=" |
</ | </ | ||
< | < | ||
Zeile 1448: | Zeile 1448: | ||
</ | </ | ||
+ | Ü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 // | ||
+ | |||
+ | === Diffie-Hellmann-Verfahren und Perfect Forward Secrecy | ||
+ | Wie am Anfang des Artikels bereits angeschnitten, | ||
+ | |||
+ | Dovecot stellt das normale **[[http:// | ||
+ | |||
+ | <WRAP center round important 85%> | ||
+ | **Wichtig**: | ||
+ | Die **Diffie-Hellman-Parameter** werden beim ersten Start des Dovecot-Daemon erzeugt und in der Datei **// / | ||
+ | |||
+ | Entgegen den Angaben im Abschnitt **SSL security settings** im [[http:// | ||
+ | |||
+ | Die Hintergründe und die Lösung zu diesem Problem, basieren auf den Information von **// | ||
+ | </ | ||
+ | |||
+ | Wir werden also das Wechseln der **Diffie-Hellman-Parameter** werden wir also selbst in die Hand nehmen. Dies erfolgt in zwei Schritten. | ||
+ | - **Parameterdatei erstellen** und | ||
+ | - **Dovecot die neuen Parameter bekanntgeben** | ||
+ | |||
+ | Die Erzeugung der **DH-Parameter-Datei** erfolgt mit Hilfe des Programms **ssl-params** aus dem Verzeichnis // | ||
+ | # vim / | ||
+ | |||
+ | <file bash / | ||
+ | # Länge der Diffie-Hellmann-Parameter, | ||
+ | ssl_dh_parameters_length = 4096 | ||
+ | # | ||
+ | # Speicherort der Diffie-Hellmann-Parameter-Datei ssl-parameters.dat | ||
+ | state_dir = / | ||
+ | </ | ||
+ | |||
+ | Als nächstes erzeugen wir noch das temporäre Verzeichnis, | ||
+ | # mkdir / | ||
+ | |||
+ | Das Erzeugen erfolgt nun mit Hilfe des folgenden Aufrufs. | ||
+ | # / | ||
+ | |||
+ | Dovecot können wir nun leider nicht anweisen, direkt diese Parameterdatei zu laden. Wir werden daher unsere neu generierte Datei an Ort und Stelle verschieben, | ||
+ | # /usr/bin/mv / | ||
+ | |||
+ | Anschließend führen wir einen Reload des Dovecot-Daemon durch, damit dieser diese DH-Parameter neu einliest. | ||
+ | # systemctl reload dovecot | ||
+ | |||
+ | Da wir in regelmäßigen Abständen die Diffie-Hellman Parameter neu generieren wollen, verpacken wir die gerade gezeigten Schritte in ein Script verlagern. | ||
+ | # vim / | ||
+ | |||
+ | <file bash / | ||
+ | # Diffie-Hellman Parameter Datei erzeugen | ||
+ | / | ||
+ | |||
+ | # Hostname und Datum holen | ||
+ | NAME=`hostname -s` | ||
+ | DATUM=`date +'%b %e %H: | ||
+ | |||
+ | # Parameterdatei für Dovecot bereitstellen | ||
+ | /usr/bin/mv / | ||
+ | |||
+ | # Informationen zur neuen Parameterdatei im Maillog vermerken | ||
+ | echo " | ||
+ | |||
+ | # Dovecot die neuen DH-Parameter bekannt geben | ||
+ | / | ||
+ | |||
+ | # Temporäres Verzeichnis leeren | ||
+ | /usr/bin/rm / | ||
+ | </ | ||
+ | |||
+ | Damit das Script nun auch ausgeführt werden kann, versehen wir es noch mit den **x**-Ausführungsrechten. | ||
+ | # chmod +x / | ||
+ | |||
+ | Das regelmäßige Erneuern der DH-Parameter erfolgt nun regelmäßig und wir im Maillog entsprechend dokumentiert. | ||
+ | |||
+ | # less / | ||
+ | |||
+ | < | ||
+ | Jun 9 20:08:31 vml000077 dovecot: master: Warning: SIGHUP received - reloading configuration</ | ||
Zeile 1634: | Zeile 1710: | ||
===== Dovecot Verbindungstest ===== | ===== Dovecot Verbindungstest ===== | ||
+ | ==== openssl ==== | ||
Zum Testen der kompletten Konfigurationsänderungen greifen wir auf die Bibliothek **openssl** zurück. Im nachfolgendem Beispiel bauen wir eine Verbindung von einem entferneten Linux-Host im eigenen Netz auf. Somit haben wir auch gleich noch den Test, ob es ggf. nicht eine Firewall gibt, die unseren Verbindungsaufbauwunsch unter Umständen blockiert. | Zum Testen der kompletten Konfigurationsänderungen greifen wir auf die Bibliothek **openssl** zurück. Im nachfolgendem Beispiel bauen wir eine Verbindung von einem entferneten Linux-Host im eigenen Netz auf. Somit haben wir auch gleich noch den Test, ob es ggf. nicht eine Firewall gibt, die unseren Verbindungsaufbauwunsch unter Umständen blockiert. | ||
- | Nach Herstellen der Verbindung loggen wir uns einfach wieder vom System ab, in dem wir die Zeichenfolge **42 logout** | + | Nach Herstellen der Verbindung loggen wir uns einfach wieder vom System ab, in dem wir die Zeichenfolge **42 logout** |
$ openssl s_client -starttls imap -connect 10.0.0.70: | $ openssl s_client -starttls imap -connect 10.0.0.70: | ||
< | < | ||
Zeile 1762: | Zeile 1840: | ||
Jul 23 16:39:08 vml000070 dovecot: imap-login: Aborted login (no auth attempts in 5 secs): user=<>, | Jul 23 16:39:08 vml000070 dovecot: imap-login: Aborted login (no auth attempts in 5 secs): user=<>, | ||
+ | |||
+ | |||
+ | Wollen wir unser Produktiv-System überprüfen, | ||
+ | * **IMAP** und **START/ | ||
+ | * **IMAP** und **SSL**: < | ||
+ | * **POP3** und **SSL**: < | ||
+ | |||
+ | Finden wir in der Ausgabe eine der nachfolgenden Angaben, ist alles bestens, der IMAP-Server unterstützt **//Perfect Forward Secrecy//** | ||
+ | |||
+ | * **Protocol** : \\ TLSv1.2 \\ < | ||
+ | * **Cipher** : \\ ECDHE-RSA-AES256-GCM-SHA384 \\ DHE-RSA-AES256-GCM-SHA384 | ||
+ | |||
+ | <WRAP center round important> | ||
+ | **Wichtig: | ||
+ | </ | ||
+ | |||
+ | ==== cipherscan ==== | ||
+ | FIXME | ||
+ | |||
+ | https:// | ||
+ | |||
+ | # / | ||
+ | |||
+ | < | ||
+ | Target: imap.nausch.org: | ||
+ | |||
+ | prio ciphersuite | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | 4 | ||
+ | 5 | ||
+ | 6 | ||
+ | 7 | ||
+ | 8 | ||
+ | 9 | ||
+ | 10 DHE-RSA-CAMELLIA256-SHA | ||
+ | 11 DHE-RSA-AES128-GCM-SHA256 | ||
+ | 12 DHE-RSA-AES128-SHA256 | ||
+ | 13 DHE-RSA-AES128-SHA | ||
+ | 14 DHE-RSA-SEED-SHA | ||
+ | 15 DHE-RSA-CAMELLIA128-SHA | ||
+ | |||
+ | Certificate: | ||
+ | TLS ticket lifetime hint: 300 | ||
+ | OCSP stapling: not supported | ||
+ | Cipher ordering: server | ||
+ | Curves ordering: server | ||
+ | Curves fallback: False | ||
+ | </ | ||
====== Links ====== | ====== Links ====== |