dovecot

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
Nächste ÜberarbeitungBeide Seiten der Revision
dovecot [03/03/2019 - 07:39] thommie3dovecot [21/08/2022 - 13:31] – changes for blf-crypt thommie4
Zeile 1: Zeile 1:
 +=====User anlegen =====
 +
 +**Verfügbare Password Hashes testen**
 +
 +''doveadm pw -l ''
 +
 +Dovecot selber kann Blowfish (BLF-CRYPT), allerdings nicht die glibc, die in Ubuntu Server 14 bis 18 verbaut war(siehe auch [[https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1349252|https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1349252]]). Das ist Ubuntu 20 mit GLIBC 2.31 gelöst.
 +
 +Beispiele zum Erzeugen eines Hashes:
 +
 +mit blowfish (blf-crypt)
 +
 +''doveadm pw -s BLF-CRYPT -u thomas.rother@miteinander-esslingen.de -p XXXXXxxxxxx ''
 +
 +mit SHA512
 +
 +''doveadm pw -s SHA512-CRYPT -u thomas.rother@miteinander-esslingen.de -p XXXXXxxxxxx ''
 +
 +Vom Ergebnis-String alles ab $6$ bzw. $2y$ in die Datenbank schreiben
 +
 +**Login-Test**
 +
 +''doveadm pw -t '{SHA512-CRYPT}$hashash' -p "xxxxxxxxxxx" (verified)''
 +
 +''doveadm pw -t '{BLF-CRYPT}$2y$hashash' -p "xxxxxxxxxxx" (verified)''
 +
 +Oder bei Fehler
 +
 +''Fatal: reverse password verification check failed: Password mismatch''
 +
 +
 +Sobald BCRYPT mal tut: [[https://kaworu.ch/blog/2016/04/20/strong-crypt-scheme-with-dovecot-postfixadmin-and-roundcube/|https://kaworu.ch/blog/2016/04/20/strong-crypt-scheme-with-dovecot-postfixadmin-and-roundcube/]]
 +
 ====== Grundkonfiguration ====== ====== Grundkonfiguration ======
  
-Konfigurations-Optionen: [[https://docs.kolab.org/administrator-guide/roundcube-settings-reference.html|https://docs.kolab.org/administrator-guide/roundcube-settings-reference.html]]+Konfigurations-Optionen: 
 + 
 +[[https://docs.kolab.org/administrator-guide/roundcube-settings-reference.html|https://docs.kolab.org/administrator-guide/roundcube-settings-reference.html]] 
 + 
 +Konfigurations-Empfehlungen: [[https://thomas-leister.de/mailserver-debian-stretch/|https://thomas-leister.de/mailserver-debian-stretch/]]
  
 ===== Authentifizierung ===== ===== Authentifizierung =====
Zeile 9: Zeile 46:
 ''disable_plaintext_auth = yes '' ''disable_plaintext_auth = yes ''
  
-LOgin Mechanismen:+Login Mechanismen:
  
-'' auth_mechanisms = plain login ''+''auth_mechanisms = plain login ''
  
 Hier wird definiert, ob über lokale userdb authentifiziert wird oder über SQL: Hier wird definiert, ob über lokale userdb authentifiziert wird oder über SQL:
  
-'' !include auth-sql.conf.ext #!include auth-ldap.conf.ext ## Hier Authentifizierung über lokale userdb ## !include auth-passwdfile.conf.ext ''+''!include auth-sql.conf.ext #!include auth-ldap.conf.ext ## Hier Authentifizierung über lokale userdb ## !include auth-passwdfile.conf.ext ''
  
 **über MySQL** **über MySQL**
Zeile 25: Zeile 62:
 Verbindungsaufbau Verbindungsaufbau
  
-'' connect = host=127.0.0.1 dbname=userauth user=userauth password=XXXXX ''+''connect = host=127.0.0.1 dbname=userauth user=userauth password=XXXXX ''
  
 Welcher Hash wird benutzt? Achtung: blowfish (BLF-CRYPT) ) wäre theoretisch möglich, wird zur Zeit aber von glibc unter Ubunut nicht unterstützt. Welcher Hash wird benutzt? Achtung: blowfish (BLF-CRYPT) ) wäre theoretisch möglich, wird zur Zeit aber von glibc unter Ubunut nicht unterstützt.
  
-'' default_pass_scheme = SHA512-CRYPT ''+''default_pass_scheme = SHA512-CRYPT ''
  
 Und hier der SELECT. Pro Login werden alle Varianblen über denselben SQL Request ermittelt ("userdb prefetch"): Und hier der SELECT. Pro Login werden alle Varianblen über denselben SQL Request ermittelt ("userdb prefetch"):
  
-'' # password query including userdb info in one request (prefetch) password_query = \ SELECT userid AS user, password, \ home AS userdb_home, uid AS userdb_uid, gid AS userdb_gid \ FROM users WHERE userid = '%n' AND domain = 'netzwissen.de' '' +''# password query including userdb info in one request (prefetch) password_query = \ SELECT userid AS user, password, \ home AS userdb_home, uid AS userdb_uid, gid AS userdb_gid \ FROM users WHERE userid = '%n' AND domain = 'netzwissen.de' ''
-===== Neuer User: Passwort Hash erzeugen ===== +
- +
-01/2016: Dovecot selber könnte zwar auch Blowfish (BLF-CRYPT), allerdings nicht die glibc in Ubuntu Server 14 >> 16 und 18! Siehe auch [[https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1349252|https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1349252]] +
- +
-**Verfügbare Hashes testen** +
- +
-Liste<code> +
-doveadm pw -l +
-</code> +
- +
-blf-crypt +
- +
-<code>doveadm pw -s BLF-CRYPT -p secret +
-</code> +
- +
-**Neuen hash erzeugen (SHA512)**+
  
-''doveadm pw -s SHA512-CRYPT -u thomas.rother@miteinander-esslingen.de -p 'XXXXXxxxxxx' ''+===== Wieso Port 587 und 143 mit STARTTLS? =====
  
-Vom Ergebnis-String alles ab $6$… in die DB schreiben+(Zitat Thomas Leister)
  
-Login-Test+//Postfix verwendet Port 587 für die Verbindung zu MUAs (Mail User Agents “Mailprogramme”), weil Port 25 nur für den Transfer der E-Mails zwischen den Servern zuständig sein soll. Während auf Port 25 von jedem Sender E-Mails ohne Authentifizierung empfangen werden können, wird auf Port 587 eine vorherige Authentifizierung des Endnutzers erzwungen. Port 587 wird daher auch als “Submission”-Port bezeichnet und ist üblicherweise in Firewalls freigeschaltet (siehe auch: [[https://tools.ietf.org/html/rfc6409|RFC 6409 Submission]]). Port 25 hingegen wird beispielsweise in Unternehmensfirewalls und von manchen DSL-Routern blockiert, um das Spam-Problem einzudämmen. Aus einem solchen Netz können dann nur noch E-Mails zum zuständigen Mailserver gesendet werden - nicht mehr an jeden beliebigen Mailserver direkt. Da 587 als “universeller” Port (mit und ohne TLS-Verschlüsselung) definiert wurde, wird hier STARTTLS eingesetzt. Der ehem. “nur-TLS”-Port 465 ist nicht mehr als Standard festgelegt!//
  
-doveadm pw -t '{SHA512-CRYPT}$xxxxxxxxxxxxxxxxxxxx' -p "xxxxxxxxxxxxxxxxx" (verified)+//Für Dovecot verwende ich ebenfalls einen STARTTLS-Port. Dieser ist als Port 143 in [[https://tools.ietf.org/html/rfc3501|RFC 3501]] definiert. Prinzipiell ließe sich zwar als “TLS only” Port der weiterhin spezifizierte “imaps”-Port 993 verwenden, aber aus Gründen der Einheitlichkeit (und weil auch mit STARTTLS Verschlüsselung erzwungen werden kannhabe ich mich für 143 entschieden.//
  
 +//Kurz: Die Ports habe ich aus Abwägungen bezüglich der geltenden IANA-Standards und der Einheitlichkeit gewählt. Durch den Einsatz von STARTTLS entstehen (bei meiner Konfiguration) keine Nachteile.//
  
  • dovecot.txt
  • Zuletzt geändert: 14/05/2024 - 14:39
  • von admin