PLANTA secure
Informationen
- PLANTA secure bildet den erhöhten Sicherheitsstandard mit der Zwei-Faktor-Authentifizierung (2FA) ab, die das Bundesamt für Sicherheit in der Informationstechnik empfiehlt.
- Bei Interesse wenden Sie sich bitte an Ihren zuständigen PLANTA-Consultant.
PLANTA secure-Komponenten
Installationsanweisungen
Informationen
- 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
Informationen
- Die Konfiguration des PLANTA-Servers muss nicht geändert werden, es sei denn eine einfache Anmeldung über Proxy-Authentifizierung ist gewünscht.
- In der Konfigurationsdatei
config/globals.conf
muss dem Authentifizierungsmethoden-Befehl der Zusatz 'proxy' beigefügt werden, um Proxy-Vorauthentifizierung zu genehmigen. Dies sorgt dafür, dass den eingehenden Verbindungen vertraut wird und die angegebene Benutzer-ID ohne weitere Prüfung angemeldet wird.- Somit besteht dasselbe Risiko wie bei der OS-Benutzer-Anmeldung, mit dem Unterschied, dass die Partei, der blind vertraut wird, der Server-Adapter und nicht der Client ist. Die Verbindung zum Server-Adapter muss daher verschlüsselt werden und die Authentifizierung bei diesem Szenario muss sicher sein!
- Im Python-Modul
ppms.proxy_auth
gibt es eine Vordefinierteproxy_auth_resolve_username(proxy_user)
-Methode, die vom Server aufgerufen wird. Es soll die PLANTA-Benutzer-ID zurückgeben, um sich im System anzumelden. Die Standardimplementierung gibt die Proxy-Benutzer-ID 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 wird in folgenden Dateien angepasst:
config/globals.conf, config/secure.conf
undconfig/ldap.conf
- Der Server-Adapter wurde um die Authentifizierung per LDAP erweitert. Hierzu ist auch ein aktueller ClientAdapter nötig.
Informationen
- Die Konfiguration des PLANTA-Servers muss nicht geändert werden, es sei denn eine einfache Anmeldung über Proxy-Authentifizierung ist gewünscht.
- In der Konfigurationsdatei
config/globals.conf
muss dem Authentifizierungsmethoden-Befehl der Zusatz 'proxy' beigefügt werden, um Proxy-Vorauthentifizierung zu genehmigen. Dies sorgt dafür, dass den eingehenden Verbindungen vertraut wird und die angegebene Benutzer-ID ohne weitere Prüfung angemeldet wird.- Somit besteht dasselbe Risiko wie bei der OS-Benutzer-Anmeldung, mit dem Unterschied, dass die Partei, der blind vertraut wird, der Server-Adapter und nicht der Client ist. Die Verbindung zum Server-Adapter muss daher verschlüsselt werden und die Authentifizierung bei diesem Szenario muss sicher sein!
- Im Python-Modul
ppms.proxy_auth
gibt es eine Vordefinierteproxy_auth_resolve_username(proxy_user)
-Methode, die vom Server aufgerufen wird. Es soll die PLANTA-Benutzer-ID zurückgeben, um sich im System anzumelden. Die Standardimplementierung gibt die Proxy-Benutzer-ID weiter.
Server-Adapter
Informationen
- Der Server-Adapter kommt als Java-Servlet, konfigurierbar in Bezug auf
- Backend: wird automatisch aus der
globals.conf
übernommen. - Andere Einstellungen sind in der
config/secure.conf
anzupassen. - Einstellungen der LDAP Schnittstelle sind in der
config/ldap.conf
zusammengefasst. - Logging: wurde in die
config/logback.xml
des Servers integriert.
- Backend: wird automatisch aus der
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 durch Ausführen folgender Schritte aktiviert werden:
- Ersetzen von
keystore.jks
undtruststore.jks
imconfig-
Verzeichnis. - Ausführen von
planta_ssl
als Backend-Protokoll und - Konfiguration des entsprechenden Passworts in
config/secure.conf
- Ersetzen von
Informationen
- Der Server-Adapter kommt als Java-Servlet, konfigurierbar in Bezug auf
- Deployment: über das Standard-WEB-INF/web.xml,
- Backend: über die selbst-dokumentierende WEB-INF/classes/config.properties
- Logging: über WEB-INF/classes/logback.xml.
Details
- Voraussetzung für sicheres Einrichten ist ein vorhandener Anwendungsserver, in dem das Servlet bereitgestellt werden kann. Die Umgebung muss die JAVA-Servlet-API-Version unterstützen, die dem Stand Ihrer-Secure-Komponente entspricht. Hierzu sehen Sie Release Notes zu der von Ihnen eingesetzten Version. Um 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. Hier wird exemplarisch dargestellt, wie Let's Encrypt-Zertifikate im Tomcat-Server hinterlegt werden.
- Die TCP-Verbindung zwischen Server-Adapter und PLANTA-Server ist standardmäßig nicht verschlüsselt. SSL kann durch Ausführen folgender Schritte aktiviert werden:
- Ersetzen von
keystore.jks
undtruststore.jks
im Web-Archiv - Ausführen von
planta_ssl
als Backend-Protokoll und - Konfiguration des entsprechenden Passworts in
config.properties
- Ersetzen von
Reverse-Proxy
Informationen
- 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" oder "read timeout" des Reverse Proxy; 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
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;
}
}
}
PY
Client-Adapter
Informationen
- 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.
Informationen
- Der Client-Adapter ist eine .NET-Clientanwendung, die über die selbst-dokumentierende Anwendungskonfiguration PLANTAClientAdapter.exe.config konfiguriert werden kann.
- 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.