Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
dovecot [11/09/2016 - 08:26] – [Grundkonfiguration] thommie | dovecot [22/05/2025 - 06:50] (aktuell) – thommie_netzwissen.de | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Grundkonfiguration ====== | ====== Grundkonfiguration ====== | ||
- | Konfigurations-Optionen: | + | [[https://thomas-leister.de/mailserver-debian-bullseye/|https:// |
- | ===== Authentifizierung ===== | + | ====== Authentifizierung |
- | / | + | / |
- | Mit diesem Wert wird der Login über unverschlüsselte Verbindungen verhindert. Ausnahme: Client und Server mit gleicher IP. | + | |
- | < | + | '' |
- | disable_plaintext_auth = yes | + | |
- | </ | + | |
- | LOgin Mechanismen: | + | Login Mechanismen: |
- | < | + | '' |
- | 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 | + | |
- | </ | + | |
**über MySQL** | **über MySQL** | ||
- | Quelle: https:// | + | Quelle: |
In dovecot-sql.conf.ext wird der SQL query definiert. | In dovecot-sql.conf.ext wird der SQL query definiert. | ||
Zeile 35: | Zeile 25: | ||
Verbindungsaufbau | Verbindungsaufbau | ||
- | < | + | '' |
- | connect = host=127.0.0.1 dbname=userauth user=userauth password=XXXXX | + | |
+ | Welcher Hash wird benutzt? | ||
+ | |||
+ | '' | ||
+ | |||
+ | Und hier der SELECT. Pro Login werden alle Varianblen über denselben SQL Request ermittelt (" | ||
+ | |||
+ | ''# | ||
+ | ===== Wieso Port 587 mit STARTTLS? ===== | ||
+ | |||
+ | (Zitat Thomas Leister) | ||
+ | |||
+ | //Postfix verwendet Port 587 für die Verbindung zu MUAs (Mail User Agents - “Mailprogramme”), | ||
+ | |||
+ | //Für Dovecot verwende ich ebenfalls einen STARTTLS-Port. Dieser ist als Port 143 in [[https:// | ||
+ | |||
+ | //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.// | ||
+ | ===== Mail-User anlegen ===== | ||
+ | |||
+ | dovecot (IMAP) und postfix (SMTP) holen ihre Authentifikations-Infos aus der Datenbank sqlmail. In der Datenbank steht nicht das Passwort selbst, sondern sein Hash-Wert. Für einen neuen User erzeugt man über doveadmin den hash Wert und trägt die Daten in die sqlmail DB in der tabelle accounts ein. | ||
+ | |||
+ | **Verfügbare Password Hashes testen** | ||
+ | < | ||
+ | |||
+ | doveadm pw -l | ||
</ | </ | ||
- | Welcher Hash wird benutzt? Achtung: blowfish (BLF-CRYPT) ) wäre theoretisch möglich, wird zur Zeit aber von glibc unter Ubunut nicht unterstützt. | + | Empfohlener hash ist Blowfish "BLF-CRYPT" (ab GLIBC 2.31 unterstützt). Beispiele zum Erzeugen eines Hashes: |
+ | |||
+ | mit blowfish (blf-crypt) | ||
< | < | ||
- | default_pass_scheme = SHA512-CRYPT | + | doveadm pw -s BLF-CRYPT |
</ | </ | ||
- | Und hier der SELECT. Pro Login werden alle Varianblen über denselben SQL Request ermittelt (" | + | mit SHA512 |
< | < | ||
- | # password query including userdb info in one request (prefetch) | + | doveadm pw -s SHA512-CRYPT -p XXXXXxxxxxx |
- | password_query = \ | + | |
- | SELECT userid AS user, password, \ | + | |
- | home AS userdb_home, | + | |
- | FROM users WHERE userid = ' | + | |
</ | </ | ||
- | ===== Passwort Hash erzeugen ===== | + | **Verifikation des Hashes** |
+ | < | ||
+ | doveadm pw -t ' | ||
- | 01/2016: Dovecot selber könnte zwar auch Blowfish (BLF-CRYPT), | + | </code> |
+ | |||
+ | Bei Fehler | ||
< | < | ||
- | doveadm pw -s SHA512-CRYPT -u thomas.rother@miteinander-esslingen.de -p ' | + | Fatal: reverse password verification check failed: Password mismatch |
</ | </ | ||
- | Vom Ergebnis-String alles ab $6$... in die DB schreiben | + | Vom Ergebnis-String |
+ | |||
+ | < | ||
+ | $2y$05$vpmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ||
+ | |||
+ | </ | ||
+ | |||
+ | Siehe auch [[https:// | ||
+ |