Es gibt mehrere Roundcube-Plugins, die eine Zwei-Faktor-Authentifizierung ermöglichen. Das Problem, das ich jetzt sehe, ist jedoch, dass ich mich immer noch einfach über IMAP/SMTP anmelden kann, ohne 2-FA (offensichtlich). 2-FA ist hier (tatsächlich) nutzlos.
Ich dachte, ich könnte dieses Problem lösen, indem ich anwendungsspezifische Passwörter einführe und etwas Ähnliches mache, wie Google es mit seiner 2-FA und Anwendungen macht, die es nicht unterstützen.
Jetzt dachte ich, ich könnte für jeden Benutzer automatisch ein app-spezifisches Passwort für Roundcube generieren, das sich von dem unterscheidet, das für die Anmeldung an der Roundcube-Weboberfläche verwendet wird. Das Ergebnis wäre, dass der Benutzer für die Anmeldung bei Roundcube immer noch sein eigenes Passwort + 2-FA haben kann, aber dasselbe Passwort nicht direkt für IMAP/SMTP verwendet werden kann. Ich finde jedoch keine Möglichkeit, Roundcube so zu konfigurieren, dass ein anderes IMAP-Passwort verwendet wird als das, das für die Anmeldung an der Weboberfläche verwendet wird.
Sowohl Roundcube als auch Dovecot laufen auf derselben Maschine.
Übersehe ich hier etwas? Ist das, was ich mache, sinnvoll? Dies scheint ein Problem zu sein, das auf elegantere Weise gelöst werden könnte, als ich es versuche. Übersehe ich da also etwas? Alles, was ich wirklich möchte, ist 2-FA-Authentifizierung, wo immer möglich, und anwendungsspezifische Passwörter überall sonst.
Danke schön!
Antwort1
Nach einigem Herumprobieren habe ich zumindest für diesen einfachen Fall zwei sinnvolle Lösungen/Workarounds gefunden.
Option 1: Verwenden von allow_nets. Dovecot ermöglicht die Rückgabe verschiedener zusätzlicher Felder durch die PassDB, einschließlich „allow_nets“ (http://wiki2.dovecot.org/PasswordDatabase/ExtraFields/AllowNets). Wenn Sie allow_nets für das von Roundcube zu verwendende Passwort auf 127.0.0.1 setzen, schlagen alle Anmeldeversuche von anderen Quellen fehl. Wenn Roundcube auf einem anderen Rechner läuft, muss die IP natürlich angepasst werden. Probleme bei diesem Ansatz sind nicht statische IP-Adressen und wenn Benutzer andere Anmeldemethoden als 2-FA haben, z. B. über einen Proxy, der auf demselben Rechner wie Roundcube läuft.
Option 2: Verwenden Sie CheckPassword, um ein benutzerdefiniertes Authentifizierungsskript zu schreiben.Mithilfe des checkpassword-Treibers (http://wiki2.dovecot.org/AuthDatabase/CheckPassword) für die Passdb ermöglicht das Schreiben eines benutzerdefinierten Authentifizierungsskripts. Sie können dort die Client-IP überprüfen oder etwas ganz anderes tun. Mögliche Probleme sind hier die Leistung und Sie benötigen möglicherweise eine zusätzliche Konfiguration für Benutzersuchen, da checkpassword keine Benutzersuchen unterstützt. Außerdem bleibt das Problem der Überprüfung, wie der Benutzer tatsächlich versucht, sich anzumelden, bestehen.