IPv6 für Google2FA - Zwei-Faktor Authentifizierung für Zarafa/Kopano WebApp | Zarafa/Kopano WebApp Plugin allows the use of Google two-factor authentication

Google2FA

Google Authenticator

Das Zarafa/Kopano WebApp Plugin Google2FA ermöglicht die Nutzung der Google Zwei-Faktor Authentifizierung mit der kostenlosen App Google Authenticator (Android, iOS, BlackBerry, Windows Phone) im Zusammenspiel mit der WebApp Anmeldung.

Die Zwei-Faktor Authentifizierung bietet eine zusätzlichen Schutz für die WebApp. Nach der Aktivierung benötigen Sie neben Ihrem Passwort einen einmaligen Code, um sich anzumelden. Diesen Code bekommen Sie von der Google Authenticator App.

Features
  • Sofort lauf- und funktionsfähig
  • Mehrsprachig (aktuell englisch, deutsch, französisch, niederländisch)
  • Qualitätsgesichert durch Kopano Entwickler
  • Anwenderorientierte Konfiguration (Konfiguration für ein Unternehmen mit zentraler Administration ist möglich)
  • Aufnahme der Konfiguration in den Authenticator per QR Code oder manuell
  • Der QR Code kann von Google erstellt (default) oder auf dem eigenen Server generiert werden
  • Whitelist mit Subnetzen für ein Login ohne 2FA (IPv4 und IPv6), Unterstützung von trusted HTTP Proxies
  • Die Daten werden in den WebApp Einstellungen (default) oder in einer MySQL-DB gespeichert
  • Sicherstellung, dass ein Code nur einmal verwendet werden kann
  • Unterstützung von zeitunabhängigen einmal zu verwendenden Notfallcodes
Feedback

Ich würde mich sehr freuen, wenn Sie mir Rückmeldung geben, ob das Plugin wie erwartet läuft, welche Verbesserungsvorschläge Sie haben, oder auch, wenn Sie Fehler bemerken.

Wenn Sie dieses Plugin mögen, freue ich mich über eine Spende.

Detaillierte Beschreibung
Zwei-Faktor Authentifizierung

Zwei-Faktor Authentifizierung bedeutet, dass man sich neben den normalen Credentials wie Benutzername und Passwort auch noch mit einem zweiten Faktor authentifiziert – einem Code, der von weiteren Gerät zur Verfügung gestellt wird, zeitlich befristet und i.d.R. nur einmal gültig ist.
Das Verfahren ist relativ simpel – auf dem weiteren Gerät (i.d.R. ein Smartphone) wird mit Hilfe eines geheimen Schlüssels und der aktuellen Zeit ein Code generiert, den der Anwender bei der Anmeldung eintippt. Der Server kennt ebenfalls den geheimen Schlüssel, generiert ebenfalls den Code und vergleicht diese beiden.

Zarafa und 2-Faktor Authentifizierung

Von der Zarafa community wird eine Zwei-Faktor Authentifizierung mit YubiKey angeboten. Dies ist ein Hardware-Schlüssel, den es kostenpflichtig zu erwerben gilt. Zudem ist ein Veränderung der Zarafa Dateien notwendig und eine LDAP-Verbindung Pflicht. In der community existiert auch eine Lösung für die Google Zwei-Faktor Authentifizierung, allerdings ebenfalls mit Veränderung der Zarafa Dateien, LDAP-Anbindung und ohne weitere Dokumentation.

Google Authenticator

Google Authenticator ist eine App von Google, die für verschiedene Endgeräte, u.a. Android, IPhone/iPad und Blackberry, zur Verfügung steht. In dieser App können verschiedene Konten angelegt werden (z.B. für verschiedene Portale, in denen man sich mit dieser Zwei-Faktor Authentifizierung ausweisen möchte, oder verschiedene Nutzernamen). Um ein Konto anzulegen, gibt man entweder einen Kontonamen und den geheimen Schlüssel ein oder scannt einen vom Server bereitgestellt QR Code (https grundsätzlich empfohlen). Großer Vorteil ist, dass keine Kosten für Hard-/Software entstehen und man eine Lösung für mehrere Konten nutzen kann – natürlich auch, um das eigene Google-Konto abzusichern.

Zarafa WebApp Plugin Google2FA

Das Zarafa WebApp Plugin Google2FA ermöglicht die Nutzung der Google Zwei-Faktor Authentifizierung mit der App Authenticator (Android, iOS, BlackBerry, Windows Phone) im Zusammenspiel mit der Zarafa WebApp Anmeldung.

Die Zwei-Faktor Authentifizierung bietet eine zusätzlichen Schutz für die Zarafa WebApp. Nach der Aktivierung benötigen Sie neben Ihrem Passwort einen einmaligen Code, um sich anzumelden. Diesen Code bekommen Sie von der Google Authenticator App.

Nach der Installation ist das Plugin automatisch für Zarafa Anwender aktiv. Wenn sich nun ein Anwender mit Benutzername und Passwort anmeldet, kann er in den WebApp-Einstellungen die Konfiguration vornehmen und die Zwei-Faktor Authentifizierung aktivieren. Bei einer erneuten Anmeldung erscheint nach Eingabe der Credentials ein weiteres Fenster zur Eingabe des Codes aus der App Authenticator.

Das Plugin ist ebenfalls dafür vorbereitet, die Möglichkeiten des Anwenders einzuschränken und eine zentrale Administration vorzunehmen (z.B. für Unternehmen).

20 Gedanken zu „Google2FA“

  1. HI,

    I think your plugin is awsome. However i got a question. I changend the background image on the themplate in kopano and this works. If i enable you plugin then after login i see the old background for some seconds. (this is only on accounts that have the google2fa enabled).

    How can ichange this behaviour?

    1. After some mail exchange, the situation is as follows:
      The token page always uses the standard theme with the standard background image (not the theme defined in the WebApp config.php). If the user has choose another theme in the settings, this theme will be used after login. If this theme uses another background image, this image appears for a few seconds. This behaviour is ok.

  2. Does this also work with the Kopano Deskapp?

    Also, can it be enabled on a per user basis?

    I’m using the community version of Kopano – any issues there?

    1. >> Does this also work with the Kopano Deskapp?
      You have to use whitelist (see download section).

      >> Also, can it be enabled on a per user basis?
      Yes (see configuration section).

      >> I’m using the community version of Kopano – any issues there?
      Unknown to me (see tested versions in download section).

  3. Hallo Norman,
    vielen Dank für dein Plugin, das funktioniert super.
    Eine Frage habe ich dennoch:
    Ist es möglich mit
    define(‘PLUGIN_GOOGLE2FA_WHITELIST’, gethostbyname (‘xxx.yyy.de’);
    Einen Dyndns Eintrag auf die Whitelist zu setzen? Also immer wenn jemand von xxx.yyy.de kommt, das er dann nicht durch die 2 FA muss? Denn sonst funktioniert die Desktapp leider nicht mehr.
    Wenn ja, würdest du mir zwei Beispiele schicken für IPv4 und V6? Meine Versuche sind leider gescheitert 🙁
    Viele Grüße
    Andreas

    1. Hallo Andreas,

      sorry für die späte Antwort – irgendwie habe ich den Kommentar übersehen.

      So wie es in den Beispielen in der config.php beschrieben ist sollte es mit V4 und V6 funktionieren.
      Ich verwende es seit Jahren erfolgreich. Nimm doch einfach mal beide Versionen (V4/V6) mit auf.

      define('PLUGIN_GOOGLE2FA_WHITELIST', gethostbyname('xxx.yyy.de') . "," . dns_get_record('xxx.yyy.de', DNS_AAAA)[0]["ipv6"] . "/64");

      Gruß, Norman

  4. Hello,

    I have a issue with PLUGIN_GOOGLE2FA_WHITELIST. I enter my subnet however afte i do this it never skaes me for a code again? not from inside my subnet and also not from external. i am using latest build of kopano. any ideas?

    1. Thanks for the hint. After a mail communication an error could be found, which prevents the query of the code when specifying a proxy. This will be fixed in the upcoming version.

  5. Hi,

    Can we also set for example ip addres 192.168.2.20 – 192.168.2.254 in whitelist? Amd what should be the format?

    1. Hi! The IP addresses must be listed comma separated. Alternatively, you can create such a string via PHP.

  6. Hello,
    very nice plugin, Thank! But i do not undertand how i can disable 2factor for the deskapp? Should i set there some path or binary in whitelist?

  7. Hi All,

    With the latest f2a plugin the whitelist is not working anymore. all is asked for f2a code even trusted ip adresses.

  8. Hallo,

    Super Plugin!!
    Nur zur Info falls jemand anderes das Problem hat!
    Habe von php5 auf php7 umgestellt.
    Danach wurde der QR code nicht mehr angezeigt.
    Das kann man lösen durch Nachinstallation von php7.x-gd.
    (7.x entsprechend der php version. z.Bsp in Debian mit php7.0:
    apt-get install php7.0-gd)

  9. Hi,
    For the first time I tried to install the plugin on Ubuntu 20.04.
    It did not work anymore. A blank screen after login.
    The solution above (apt-get install php7.4-gd) did not help.

  10. Hallo Norman,
    vielen Dank für das Klasse Plugin. Es funktioniert bei mir sogar mit der Version 4 von WebApp. Das einzige ist der QR Code, der wurde mir nicht angezeigt. Aber mit dem String darunter konnte ich meine App (ich nutze TOTP für Android) einrichten und mich mit dem Code der App anmelden. Super Sache.
    Viele Grüße.
    Marcel

  11. Hi

    I’m moving Kopano server to a new instalation. Is it possibile to transfer existing 2fa settings also, so existing users would not have to rescan/reenable the plugin.
    Thanx in advance.

Kommentare sind geschlossen.