Navigation

    Kopano
    • Register
    • Login
    • Search
    • Categories
    • Get Official Kopano Support
    • Recent
    Statement regarding the closure of the Kopano community forum and the end of the community edition

    [solved] How configure 2Factor whitelist?

    Kopano WebApp
    4
    13
    5649
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • marty
      marty Kopano (Inactive) last edited by

      @boospy

      The plugin creator should check if a client is DeskApp or not.
      We have a Boolean in WebApp called: isDeskApp that can be used.
      https://stash.kopano.io/projects/KW/repos/kopano-webapp/browse/client/zarafa/Zarafa.js#73

      You can add it in (probably) the Zarafa.onReady block https://bitbucket.org/normanth/google2fa/src/225cf6542116f0f51854881431ddf486d5f06136/js/Google2FAPlugin.js#lines-47

      So it will only register the plugin for clients that are not DeskApp.

      https://documentation.kopano.io/deskapp_admin_manual
      http://documentation.kopano.io/webapp_smime_manual
      https://documentation.kopano.io/webapp_admin_manual

      1 Reply Last reply Reply Quote 0
      • boospy
        boospy last edited by

        Ah ok. That would probably have to program someone.

        1 Reply Last reply Reply Quote 0
        • marty
          marty Kopano (Inactive) last edited by

          @boospy Contact the plugin maintainer for that.

          https://documentation.kopano.io/deskapp_admin_manual
          http://documentation.kopano.io/webapp_smime_manual
          https://documentation.kopano.io/webapp_admin_manual

          1 Reply Last reply Reply Quote 0
          • boospy
            boospy last edited by

            feature-request.png

            1 Reply Last reply Reply Quote 0
            • norman
              norman last edited by norman

              Hi,

              I am the developer of Google2FA.

              The two-factor authentication runs during the login process. At this time, the JavaScript part of the WebApp is not loaded. Therefore it is not possible to use the variable isDeskApp. I was not able to detect the use of the DeskApp based on the server variables (gobal PHP variable $_SERVER - f.e. $_SERVER[HTTP_USER_AGENT]). I would be very happy about any ideas.

              Some infos in german:

              In der Tat ist es aktuell nur möglich die DeskApp mit aktivierter Zwei-Faktor Authentifizierung (Plugin Google2FA) zu nutzen, wenn man die Whitelist konfiguriert und dann aus dem konfigurierten IP-Bereich heraus auf den Server zugreift.

              Bei der privaten Nutzung hat man in der Regel keine feste IP-Adresse und der Server steht außerhalb des lokalen Netzes. Hier hat man die Möglichkeit DynDNS zu nutzen (https://de.wikipedia.org/wiki/Dynamisches_DNS). Bei der Whitelist ist zu beachten, ob IPv4 oder IPv6 verwendet wird - im Zweifel fügt man beide Varianten hinzu:

              define('PLUGIN_GOOGLE2FA_WHITELIST', gethostbyname('hier.dns.eintragen') . "," . dns_get_record('hier.dns.eintragen', DNS_AAAA)[0]["ipv6"] . "/64");
              

              Eine Verwendung der Variablen isDeskApp ist nach meinem Verständnis nicht möglich, denn während des Login-Prozesses, wenn die Prüfung der Zwei-Faktor Authentifizierung läuft, ist der Javascript-Teil der WebApp noch nicht geladen. Zudem würde eine Nicht-Registrierung des Plugins bei der Verwendung der DeskApp dafür sorgen, dass man über die DeskApp die Zwei-Faktor Authentifizierung nicht mehr konfigurieren kann.

              Anhand der Servervariablen beim Login ist es mir bisher nicht gelungen zu erkennen, ob die DeskApp als Browser verwendet wird - zum Beispiel mit Hilfe von $_SERVER[HTTP_USER_AGENT].

                  [HTTPS] => on
                  [SSL_TLS_SNI] => www.hierdieurl.de
                  [HTTP_HOST] => www.hierdieurl.de
                  [HTTP_CONNECTION] => keep-alive
                  [HTTP_CACHE_CONTROL] => max-age=0
                  [HTTP_UPGRADE_INSECURE_REQUESTS] => 1
                  [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36
                  [HTTP_SEC_FETCH_MODE] => navigate
                  [HTTP_SEC_FETCH_USER] => ?1
                  [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/ *;q=0.8,application/signed-exchange;v=b3
                  [HTTP_SEC_FETCH_SITE] => same-origin
                  [HTTP_REFERER] => https://www.hierdieurl.de/webapp/
                  [HTTP_ACCEPT_ENCODING] => gzip, deflate, br
                  [HTTP_ACCEPT_LANGUAGE] => de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
                  [HTTP_COOKIE] => encryption-store-key=b3e843dc510c49731ed437e106ac3859; KOPANO_WEBAPP=fbmb9j08r457sifi4i2e9bqth3
                  [PATH] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                  [SERVER_SIGNATURE] => <address>Apache/2.4.10 (Debian) Server at www.hierdieurl.de Port 443</address>
                  [SERVER_SOFTWARE] => Apache/2.4.10 (Debian)
                  [SERVER_NAME] => www.hierdieurl.de
                  [SERVER_ADDR] => 83.169.xxx.xxx
                  [SERVER_PORT] => 443
                  [REMOTE_ADDR] => 84.191.yyy.yyy
                  [DOCUMENT_ROOT] => /var/www/html/wordpress.hierdieurl.de
                  [REQUEST_SCHEME] => https
                  [CONTEXT_PREFIX] => /webapp
                  [CONTEXT_DOCUMENT_ROOT] => /usr/share/kopano-webapp
                  [SERVER_ADMIN] => norman@hierdieurl.de
                  [SCRIPT_FILENAME] => /usr/share/kopano-webapp/index.php
                  [REMOTE_PORT] => 56374
                  [GATEWAY_INTERFACE] => CGI/1.1
                  [SERVER_PROTOCOL] => HTTP/1.1
                  [REQUEST_METHOD] => GET
                  [QUERY_STRING] => 
                  [REQUEST_URI] => /webapp/
                  [SCRIPT_NAME] => /webapp/index.php
                  [PHP_SELF] => /webapp/index.php
                  [REQUEST_TIME_FLOAT] => 1571248933.149
                  [REQUEST_TIME] => 1571248933
              

              Vielleicht hat jemand noch eine Idee hierzu…

              Gruß, Norman

              marty 1 Reply Last reply Reply Quote 0
              • marty
                marty Kopano (Inactive) @norman last edited by

                @norman

                Does this change help? https://stash.kopano.io/projects/KD/repos/kopano-deskapp/browse/src/package.json#59

                https://documentation.kopano.io/deskapp_admin_manual
                http://documentation.kopano.io/webapp_smime_manual
                https://documentation.kopano.io/webapp_admin_manual

                1 Reply Last reply Reply Quote 0
                • norman
                  norman last edited by norman

                  Thanks marty!!! A very good hint!!! That’s exactly the change I needed…

                  With a new DeskApp version (DeskApp version newer than 2019-05-21, f.e. version 2.4.5) and a change in Google2FA plugin, the two-factor authentication can be disabled when the DeskApp client is used. A first test was successful.

                  php/plugin.google2fa.php:56ff additional code:

                  if (strpos($_SERVER[HTTP_USER_AGENT], " KopanoDeskapp/") !== false)
                     break;
                  

                  In the Google2FA configuration file I will create an option to activate this function.
                  Of course, the activation poses a risk as it offers the opportunity to bypass the two-factor authentication.

                  I will create a new Google2FA version in the next days.

                  Thanks, Norman

                  1 Reply Last reply Reply Quote 0
                  • norman
                    norman last edited by

                    The new Google2FA version is available:

                    • Port configuration for MySQL
                    • Function to use DeskApp without two-factor authentication
                    • Fix problem with using trusted proxies

                    https://www.familiethimm.de/google2fa-kopano-zarafa-2-faktor-authentifizierung-2fa-google-authenticator/download-installation/

                    1 Reply Last reply Reply Quote 1
                    • marty
                      marty Kopano (Inactive) last edited by

                      @norman If you like, you could also make a PR for DeskApp for support for your plugin support.

                      https://documentation.kopano.io/deskapp_admin_manual
                      http://documentation.kopano.io/webapp_smime_manual
                      https://documentation.kopano.io/webapp_admin_manual

                      1 Reply Last reply Reply Quote 0
                      • boospy
                        boospy last edited by

                        @norman Really, really nice! So fast, and works like a charm.

                        Good work! Thank very much.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post