Skip to main content
Skip table of contents

PLANTA secure

Information

PLANTA secure-Komponenten

Installationsanweisungen

Information

  • Der Server-Adapter ist so zu konfigurieren, wie im entsprechenden Abschnitt weiter unten beschrieben, und muss in einem Server-Container bereitgestellt werden. Es wird eine direkte TCP-Verbindung zu einem bestehenden PLANTA-Server benötigt, und für einmalige Anmeldungen über Proxy zudem Authentifizierung.

  • Nachdem die Anwendungskonfiguration so eingestellt wurde, wie im entsprechenden Abschnitt weiter unten beschrieben, kann der Client-Adapter ohne Weiteres verwendet werden. Ein vorhandener PLANTA-Client muss verfügbar sein.

  • Im Unternehmen übliche Authentifizierungsmechanismen, wie z.B. Smartcards, können über entsprechende Plugins angesprochen werden. Bei Interesse wenden Sie sich bitte an Ihren zuständigen PLANTA-Consultant.

PLANTA-Server

Information

Die Konfiguration des PLANTA-Servers erfolgt in containerisierten Installationen (z. B. Docker) über Umgebungsvariablen mit dem Präfix planta__server__, die im Manager-Container des PLANTA-Servers (z. B. in der docker-compose-Datei) gesetzt werden. Die verfügbaren Parameter sind im Topic Server-Parameter dokumentiert und nach Bereichen gruppiert, die den früheren Konfigurationsdateien (z. B. globals.conf, secure.conf, ldap.conf) entsprechen.

  • Die Konfiguration des PLANTA-Servers muss nicht geändert werden.

  • Im Python-Modul ppms.proxy_auth gibt es eine vordefinierte proxy_auth_resolve_username(proxy_user)-Methode, die vom Server aufgerufen wird. Es soll die PLANTA-Benutzer-E-Mail zurückgeben, um sich im System anzumelden. Die Standardimplementierung gibt die Proxy-Benutzer-E-Mail weiter.

Details

  • Der Server-Adapter ist nun in den Server integriert und läuft als Servlet in einem integrierten Applications-Server.

  • Dieses Feature muss über das Lizenzfile freigeschaltet werden.

  • Die Konfiguration der Server-Komponenten erfolgt über Umgebungsvariablen, die in den Bereichen Globals, Secure und Ldap unter Server-Parameter zu finden sind.

  • Der Server-Adapter wurde um die Authentifizierung per LDAP erweitert. Hierzu ist auch ein aktueller ClientAdapter nötig.

Server-Adapter

Information

Der Server-Adapter in containerisierten Installationen (z. B. Docker) wird über Umgebungsvariablen mit dem Präfix planta__server__ konfiguriert, die im Manager-Container des PLANTA-Servers (z. B. in der docker-compose-Datei) gesetzt werden. Die verfügbaren Parameter sind im Topic Server-Parameter dokumentiert und nach Bereichen gruppiert, die den früheren Konfigurationsdateien (z. B. globals.conf, secure.conf, ldap.conf) entsprechen.

  • Der Server-Adapter kommt als Java-Servlet, konfigurierbar in Bezug auf

    • Backend (Umgebungsvariablen aus dem Bereich Server)

    • Sicherheitsbezogene Einstellungen (z. B. 2FA-/Secure-Parameter) (Umgebungsvariablen aus dem Bereich Secure)

    • Einstellungen der LDAP-Schnittstelle (Umgebungsvariablen aus dem Bereich Ldap)

    • Logging des Server-Adapters wird weiterhin über die Logback.xml konfiguriert.

Details

  • Um die Sicherheitsanforderungen zu erfüllen, muss diese Anwendungsserver-Instanz so konfiguriert werden, dass nur vertrauenswürdige Anfragen vom Reverse-Proxy erlaubt sind, d. h. HTTPS mit wechselseitiger Authentifizierung.

  • Die TCP-Verbindung zwischen Server-Adapter und PLANTA-Server ist standardmäßig nicht verschlüsselt. SSL kann aktiviert werden. Die Passwort-Parameter werden über Umgebungsvariablen aus dem Bereich Secure gesetzt.

Reverse-Proxy

Information

  • Das von PLANTA für die Verbindung verwendete BOSH-Protokoll funktioniert nicht mit HTTP-Pipelining und ist im Client-Adapter deaktiviert. Somit darf das Reverse-Proxy kein HTTP-Pipelining zur Weiterleitung von Anfragen an den Server-Adapter verwenden.

  • Fortbestehende Verbindungen ab HTTP 1.1 / zur Verringerung der Latenz und verbesserten Durchlauf sollte keepalive aktiviert sein, insbesondere bei Verbindungen mit SSL-Verschlüsselung.

Details

  • Der Wert für bosh.session.max_wait in der config.properties des Servlets muss kleiner sein als das "request timeout" bzw. "read timeout" des Reverse-Proxys; andernfalls kann es bei Long-Polling-Requests zu Abbrüchen mit einem "504 gateway timeout error" kommen.

    • Dies kann auch umgekehrt erreicht werden - wenn eine geringere Maximal-Request-Zeitüberschreitung gewünscht ist, sollte max_wait knapp unter diesem Wert liegen um Schwierigkeiten bei der Abrufanforderungen zu vermeiden.

  • Wenn Proxy-Authentifizierung im Server-Adapter aktiviert ist, kann der Name eines HTTP-Kopfes, der die Benutzer-ID enthält, konfiguriert werden. Der Wert dieses Feldes wird unverändert an den PLANTA-Server weitergegeben. Die Weiterbearbeitung findet im Customizing statt. Siehe den Abschnitt "PLANTA-Server" für weitere Informationen.

Hier ist ein Auszug einer nginx-Beispielkonfiguration für eine funktionierende Reverse-Proxy-Einrichtung

PY
http {
    server {
        location /planta {
            # servlet location as defined during deployment
            proxy_pass http://servletcontainer.example.com:8080/PLANTAServerAdapter/;

            # read timeout needs to be be set >= the value of
            # bosh.session.max_wait in the servlet's config.properties, which
            # defaults to 900
            proxy_read_timeout  900s;

            # persistent connections as per http keepalive improve both latency
            # and throughput, esp. with SSL connections
            proxy_http_version  1.1;
            proxy_set_header Connection  "";

            # just push some dummy value as proxy-authenticated user
            proxy_set_header iv-user nobody;
        }
    }
}

Client-Adapter

Information

  • Der Client-Adapter ist in den PLANTA-Client integriert und kann in der planta.ini konfiguriert werden.

  • Der Client-Adapter gibt alle Befehlszeilenargumente an den Client weiter. Ein potentieller Serverparameter wird entfernt, da der Client-Adapter seinen eigenen Host und Port bereitstellt und somit effektiv die Clientverbindung zu sich selbst umleitet.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.