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
dovecot [03/03/2019 - 07:39] thommie3dovecot [05/03/2024 - 10:52] (aktuell) – Externe Bearbeitung 127.0.0.1
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.1551598763.txt.gz
  • Zuletzt geändert: 05/03/2024 - 10:52
  • (Externe Bearbeitung)