Aktivieren eines Java-Sicherheitsmanagers

Standardmäßig gelten in Java-Anwendungen keine Sicherheitseinschränkungen für Aktivitäten, die von der Java-API angefordert werden. Um die Java-Sicherheit für den Schutz einer Java-Anwendung vor der Ausführung potenziell unsicherer Aktionen zu verwenden, können Sie einen Sicherheitsmanager für die JVM aktivieren, in der die Anwendung ausgeführt wird.

Informationen zu diesem Vorgang

Der Sicherheitsmanager setzt eine Sicherheitsrichtlinie um. Eine Sicherheitsrichtlinie enthält die Berechtigungen (Systemzugriffsberechtigungen), die den Codequellen zugewiesen wurden. Die Java-Plattform enthält bereits eine Standardrichtliniendatei. Damit jedoch Java-Anwendungen erfolgreich in CICS ausgeführt werden können, während die Java-Sicherheit aktiv ist, müssen Sie eine zusätzliche Richtliniendatei angeben, die CICS die Berechtigungen gibt, die für die Ausführung der Anwendung erforderlich sind.

Diese zusätzliche Richtliniendatei müssen Sie für jede JVM mit aktiviertem Sicherheitsmanager angeben. CICS stellt einige Beispiele bereit, die Sie verwenden können, um eigene Richtlinien zu erstellen.

Hinweise:
  • Anhand dieses OSGi-Sicherheitsagentbeispiels wird das OSGi-Middleware-Bundle com.ibm.cics.server.examples.security in Ihrem Projekt, das ein Sicherheitsprofil enthält, erstellt. Dieses Profil wird auf alle OSGi-Bundles in dem Framework, in dem es installiert wurde, angewendet.
  • Die Datei example.permissions enthält Berechtigungen, die speziell für die Ausführung von Anwendungen in einem JVM-Server gelten. Dazu gehört auch eine Prüfung, mit der sichergestellt wird, dass die Anwendungen die Methode System.exit() nicht verwenden.
  • CICS muss Lese- und Ausführungszugriff für das Verzeichnis in zFS besitzen, wo Sie das OSGi-Bundle implementieren.

Für Anwendungen, die im OSGi-Framework eines JVM-Servers ausgeführt werden:

Vorgehensweise

  1. Erstellen Sie in CICS Explorer SDK ein Plug-in-Projekt und wählen Sie das bereitgestellte Beispiel für den OSGi-Sicherheitsagenten aus.
  2. Wählen Sie im Projekt die Datei example.permissions aus, um die Berechtigungen für Ihre Sicherheitsrichtlinie zu bearbeiten.
  3. Implementieren Sie das OSGi-Bundle in einem geeigneten Verzeichnis in zFS.
  4. Bearbeiten Sie das JVM-Profil für den JVM-Server und fügen Sie das OSGi-Bundle vor allen anderen Bundles zur Option OSGI_BUNDLES hinzu:
    • OSGI_BUNDLES=/u/bundles/com.ibm.cics.server.examples.security_1.0.0.jar,/usr/lpp/cicsts42/lib/com.ibm.cics.db2.jcc.jar
  5. Fügen Sie die folgende Java-Umgebungsvariable zum JVM-Profil hinzu, um die Sicherheit im OSGi-Framework zu aktivieren:
    • org.osgi.framework.security=osgi
  6. Speichern Sie die Änderungen und ermöglichen Sie der JVMSERVER-Ressource die Installation des Middleware-Bundles im JVM-Server.

Ergebnisse

Wenn die Java-Anwendung aufgerufen wird, ermittelt die JVM die Codequelle für die Klasse und überprüft die Sicherheitsrichtlinie, bevor der Klasse die entsprechenden Berechtigungen erteilt werden.