Sicherheitsmaßnahmen

Überblick

Dieser Abschnitt enthält Tipps zum Absichern einer INUBIT-basierten Umgebung, Hinweise auf mögliche Sicherheitsrisiken und Checklisten zu effizienten Schutzmaßnahmen.

Benutzerverwaltung

Überblick

Benutzer müssen sich mit Benutzernamen und Passwort authentifizieren, um sich mit der INUBIT Workbench an einer INUBIT Process Engine anmelden zu können.

Für den Zugriff auf die Benutzerverwaltung benötigen Benutzer das Recht für die Komponente User Manager, welches standardmäßig Benutzern mit der Rolle System Administrator und Project Lead zugewiesen ist.

Weitere Optionen

Zusätzlich bietet die INUBIT-Software die folgenden Optionen:

  • Protokollieren von Login-Versuchen
    Alle erfolgreichen und fehlerhaften Login-Versuche können im Audit Log in der INUBIT Workbench nachvollzogen werden.

  • Sperren von Benutzerkonten nach mehreren fehlerhaften Anmeldungen

    Verhindert Brute-Force-Attacken. Diese Sperre betrifft alle Benutzer außer Benutzern mit der Rolle System Administrator. Damit wird sichergestellt, dass ein Login zumindest durch administrative Benutzer immer möglich ist. Gesperrte Benutzerkonten können von einem Systemadministrator entsperrt werden.

  • Löschen und Deaktivieren von Benutzerkonten

    Alle Benutzerkonten können von System- bzw. Gruppenadministratoren gelöscht bzw. deaktiviert werden. Bei Inaktivität können Benutzer automatisch nach einer konfigurierbaren Dauer deaktiviert werden.

    Siehe:

  • Passwörter mit Mindestlängen und zulässige Zeichen

    Konfigurieren von Pattern für neue Passwörter.

  • Maximale Gültigkeitsdauer von Passwörtern

    Für alle Benutzer kann von einem Benutzer mit der Rolle System Administrator eine maximale Dauer für die Gültigkeit des Passworts festgelegt werden. Nach Ablauf dieser Zeitspanne wird das Benutzerkonto gesperrt, sodass der Benutzer beim nächsten Login aufgefordert wird, ein neues Passwort einzugeben. Dieser Mechanismus gilt nicht für den Benutzer root.

Muster für Passwörter definieren - Mindestlängen, zulässige Zeichen

Verwendung

Sie können Muster für Benutzer-Passwörter definieren und damit z.B. festlegen, dass Passwörter mehr als acht Zeichen enthalten müssen sowie genau einen Großbuchstaben und eine Zahl.

Voraussetzungen

Sie haben die INUBIT Process Engine bisher noch nicht zum ersten Mal gestartet. Danach können Sie die Muster für Passwörter nur noch über die Workbench konfigurieren, siehe INUBIT-Benutzerkonten konfigurieren.

So gehen Sie vor

  1. Öffnen Sie die Datei <inubit-installdir>/server/ibis_root/conf/ibis_config.xml.

    Beachten Sie die Hinweise, siehe Konfigurieren über die Datei ibis_config.xml.

  2. Nutzen Sie folgende Propertys, um das Muster zu definieren:

    • UserPasswordLimit
      Aktiviert/deaktiviert die Prüfung eines neuen bzw. zu ändernden Passworts gegen UserPasswordLimitPattern.
      Ob das Passwort den Kriterien des Musters entsprechen muss, hängt von UserPasswordLimitNegative ab.

    • UserPasswordLimitPattern
      Zum Definieren von Mustern für neue Passwörter, wie z.B. Mindestlängen oder zulässige Zeichen.
      Die Kriterien für erlaubte Passwörter werden mithilfe eines regulären Ausdrucks festgelegt. Der reguläre Ausdruck muss dabei der Syntax der Java-Klasse Pattern (aus dem JDK) folgen.
      Siehe

    • UserPasswordLimitNegative
      Kehrt die Bedeutung von UserPasswordLimitPattern um:

      • false: Das Passwort muss dem Muster entsprechen, das in UserPasswordLimitPattern definiert ist. Alle anderen Passwörter werden abgelehnt.

      • true: Das Passwort darf nicht dem Muster entsprechen, das in UserPasswordLimitPattern definiert sind. Alle anderen Passwörter werden abgelehnt.

Rollen und Rechte

Über das Rollen-Konzept wird sichergestellt, dass Process-Engine-Benutzer nur Funktionen und Rechte verwenden können, für die sie autorisiert sind.

Eine Rolle ist eine Sammlung von Rechten, die den Zugriff auf Funktionen und Objekte regelt. Dabei kann für jede Rolle z.B. detailliert festgelegt werden, über welche Rechte sie verfügt.

Die INUBIT-Software wird mit vorkonfigurierten Rollen ausgeliefert. Diese vorkonfigurierten Rollen können modifiziert, aber nicht gelöscht werden. Zusätzlich können beliebige, zusätzliche Rollen definiert und individuell anhand der tatsächlichen Anforderungen konfiguriert werden. Jedem Benutzer kann genau eine Rolle zugeordnet werden.

Benutzern, die Workflows im System erstellen, sollte die Rolle Advanced User und zusätzlich das Recht für das Monitoring zugeordnet werden. Dadurch wird sichergestellt, dass die Benutzer alle erforderlichen Rechte zum Erstellen von Workflows haben, jedoch z.B. keine eigenen Benutzer anlegen können.

Datensichtbarkeit

Die Sichtbarkeit von Daten wird über die Zuordnung von Nutzern zu Gruppen gesteuert:

  • Jeder Benutzer sieht die eigenen Daten (Module, Workflows) in der INUBIT Workbench und kann diese editieren.

  • Zusätzlich sieht jeder Benutzer die Daten seiner Gruppe und der direkt übergeordneten Gruppe. Jeder Benutzer kann Mitglied von genau einer Gruppe sein.

  • Gruppen können hierarchisch strukturiert sein, d.h. eine Gruppe kann Untergruppe genau einer anderen Gruppe sein. Die Schachtelungstiefe ist beliebig.

Für Informationen über die Ablage von Benutzerdaten siehe Benutzerspezifisches Arbeitsverzeichnis der INUBIT Workbench ändern.

Kommunikations- und Systemverbindungen

INUBIT Process Engine

Tomcat und die INUBIT Process Engine sind eine integrierte Applikation, daher gibt es keine Kommunikation über Netzwerkkomponenten.

INUBIT Process Engine/Remote Connector

Die INUBIT Process Engine kommuniziert mit dem Remote Connector über SOAP, dieses Protokoll kann durch HTTPS gesichert werden. Der Remote Connector basiert auf demselben Source Code wie die INUBIT Process Engine.

INUBIT Process Engine/INUBIT Workbench

Die Client/Server-Architektur der INUBIT-Software erfordert eine Kommunikation zwischen der INUBIT Process Engine und der INUBIT Workbench. Diese Kommunikation basiert auf dem SOAP-Protokoll und kann mit SSL gesichert werden, um die übertragenen Daten zu schützen und das Ausspähen von Passwörtern zu verhindern.

Partner und IT-Systeme

Die Anbindung von Geschäftspartnern und weiteren IT-Systemen stellt immer ein potenzielles Sicherheitsrisiko dar.

Sie müssen Ihre Systeme individuell prüfen, welche Schutzmaßnahmen möglich und notwendig sind, weil diese immer vom verwendeten Kommunikationsweg abhängen.

Alle Einstellungen für die Nachrichtenverarbeitung und Kommunikation können partnerspezifisch konfiguriert werden (z.B. IP-Adressen, öffentliche Schlüssel).

Ports

Die SSL-Ports für die HTTPS-Kommunikation der INUBIT Workbench und der SSL-basierten Protokolle für die Kommunikation mit den Geschäftspartnern können getrennt werden. Dadurch wird verhindert, dass sich ein Geschäftspartner mit der INUBIT Workbench zur INUBIT Process Engine verbinden kann. Jeder SSL-Port kann mit einem eigenen Zertifikat versehen werden.

Zentrales SSL-Key Management

Für die sichere Kommunikation mit anderen Systemen/Geschäftspartnern werden die öffentlichen Schlüssel der Gegenstelle benötigt. Diese SSL-Keys werden in den Moduleigenschaften des Systemkonnektors abgelegt. Die Moduleigenschaften sind über Chache-Datenbankentabellen verfügbar.

Die INUBIT-Software bietet mit dem Key Manager über eine zentrale Überwachungskomponente für SSL-Keys. Im Key Manager werden die Keystores aller aktiven Systemkonnektoren verwaltet. Deaktivierte Systemkonnektoren können keine Verbindungen aufbauen.

Vor Ablauf eines SSL-Keys kann automatisch eine Benachrichtigung per E-Mail an eine konfigurierte E-Mail-Adresse versendet werden. Der Key-Manager ermöglicht zudem, bereits vor Ablauf des alten Zertifikats neue Zertifikate inkl. Gültigkeitsbeginn zu hinterlegen. Ab dem Erreichen des Gültigkeitsbeginns verwendet die INUBIT-Software automatisch das neue Zertifikat.

Ausführung externer Programme und Shell-Befehle

Der Execution Connector ermöglicht das Ausführen von allen externen Programmen und Shell-Befehlen, für die der Benutzer berechtigt ist, unter dessen Kennung die INUBIT Process Engine läuft. Der Execution Connector kann damit ein Sicherheitsrisiko darstellen. Wenn der Execution Connector nicht in Prozessen benötigt wird, sollte der root-Benutzer den anderen Benutzern das Recht zur Verwendung dieses Moduls entziehen.

Durch die Beschränkung der Leserechte aller Konfigurationsdateien sind alle in diesem Kapitel genannten Dateien zusätzlich geschützt.

Code Injection

In der INUBIT-Software gibt es in bestimmten Bereichen einen standardmäßigen Schutz vor Kommandosequenzen, die als Eingabe übergeben werden. Im Anmeldedialog z.B. werden Eingaben gefiltert, um nur gültige Eingaben wie Benutzernamen und Passwörter zu verarbeiten.

Über einen Web Services Connector eingehende Daten werden nicht automatisch geprüft. Diese Prüfung muss durch den verantwortlichen Workflow durchgeführt werden!

Passwörter für Systemkonnektoren

Passwörter von Systemkonnektoren werden mit AES verschlüsselt und im Cache MODULE_PROPERTIES des jeweiligen Moduls gespeichert.

Drittkomponenten

Tomcat wird grundsätzlich in der Standardinstallation der INUBIT-Software implementiert und anschließend von bekannten Schwachstellen bzw. nicht verwendeten Komponenten befreit. Die folgenden Abschnitte beschreiben die Regeln, nach denen dabei vorgegangen wird.

Eine Liste aller verwendeten Drittkomponenten können Sie bei der Virtimo AG anfordern.

Tomcat

Tomcat führt nur Code aus, der aus der INUBIT-Software stammt.

Die folgenden Tomcat-Bestandteile werden in der INUBIT-Software nicht benötigt und wurden daher entfernt:

  • Tomcat Management Console

  • Beispielwebanwendungen

  • Loadbalancer Webapplication

Patches für Tomcat

Neue Versionen von Tomcat werden bei einem Releasewechsel der INUBIT-Software erst nach ausführlichen Tests integriert.

Die Entscheidung über die verwendeten Versionen obliegt der Virtimo AG. Aus Sicherheitsgründen wartet die Virtimo AG die Erprobung der Komponenten in der Praxis ab und wechselt nicht ohne zwingende Gründe auf die aktuelle Version.

Checkliste zur Benutzerverwaltung

Überprüfung Info

Maximal 5 fehlerhafte Login-Versuche an der INUBIT Workbench

INUBIT Workbench > Administration > Allgemeine Einstellungen > Verwaltung > Benutzer

Fehlgeschlagene Logins an der INUBIT Workbench werden im Audit Log erfasst

INUBIT Workbench > Monitoring > Audit Log

Sperren/Löschen nicht benötigter Benutzerkonten

Nur verwendete Benutzerkonten sollten existieren

Maximale Gültigkeit der Passwörter = Tage (außer User root)

<inubit-install>/server/ibis_root/conf/ibis_config.xml

Beachten Sie die Hinweise, siehe Konfigurieren über die Datei ibis_config.xml.

UserPasswordTimeout: true

UserPasswordTimeoutValue: TimeOut in Tagen

10 Zeichen langes Passwort, mindestens eine Ziffer, ein Großbuchstabe, ein Kleinbuchstabe, ein Sonderzeichen

<inubit-install>/server/ibis_root/conf/ibis_config.xml

Beachten Sie die Hinweise, siehe Konfigurieren über die Datei ibis_config.xml.

UserPasswordLimit: true UserPasswordLimitPattern: [Regular Expression]

Benutzer zum Erstellen von Workflows haben keine Admin-Rechte

Nutzerkonfiguration: Advanced User mit Monitoring

Process-Engine-Benutzer-Passwörter nicht im Klartext im Dateisystem

<inubit-install>/<server>/<Obergruppe>/<Gruppe>/<User>/user.xml

Execution Connector nötig?

Sollte nur bei Bedarf für Workflow-Benutzer freigeschaltet werden.

Checkliste zum Härten von Tomcat

Apache Tomcat ist ein Applikationsserver, auf dem die INUBIT-Software ausgeführt wird. Die Virtimo AG liefert eine bereits vorkonfigurierte Tomcat-Instanz mit der Installation der Software aus. Dieser Tomcat ist grundlegend gehärtet. Die bereitgestellten Komponenten sind auf das notwendige Minimum reduziert. Alle notwendigen Passwörter für den Zugriff auf die Komponenten werden während der Installation auf Zufallsbasis generiert.

Weitere Empfehlungen

  • Nutzen Sie den mit INUBIT ausgelieferten Tomcat ausschließlich für den Betrieb der INUBIT-Software.

  • Schränken Sie die Betriebssystem-Rechte für den Benutzer/die Benutzergruppe, in dessen Kontext Tomcat und die darin enthaltenen INUBIT-Instanz ausgeführt wird, auf das notwendige Minimum ein.

  • Ändern Sie die Tomcat-Passwörter, siehe Tomcat konfigurieren.