Systemressourcen und APIs (Java-2-Sicherheit) für die Entwicklung von Anwendungen schützen
Java™ 2-Sicherheit ist ein weit verbreitetes Programmiermodell mit großem Einfluss auf die Anwendungsentwicklung.
Vorbereitungen
Java 2-Sicherheit ist orthogonal zu Java Platform, Enterprise Edition ( Java EE ) rollenbasierte Sicherheit; Sie können sie unabhängig von der Verwaltungssicherheit deaktivieren oder aktivieren.
Es bietet jedoch eine zusätzliche Ebene des Zugriffskontrollschutzes zusätzlich zu den Java EE rollenbasierte Autorisierung. Sie ist insbesondere auf den Schutz von Systemressourcen und Anwendungsprogrammierschnittstellen (APIs) ausgerichtet. Administratoren müssen die Vorteile und Risiken einer Deaktivierung der Java 2-Sicherheit gegeneinander abwägen.
- Stellen Sie sicher, dass die Anwendung mit dem Java 2-Sicherheitsprogrammiermodell entwickelt wird. Entwickler müssen wissen, ob die in den Anwendungen verwendeten APIs durch Java 2-Sicherheit geschützt sind. Es ist sehr wichtig, dass die erforderlichen Berechtigungen für die verwendeten APIs in der Richtliniendatei deklariert werden.was.policy oder die Anwendung kann nicht ausgeführt werden, wenn die Java 2-Sicherheit aktiviert ist. Entwickler können auf der Website nach Development Kit-APIs suchen, die durch Java 2-Sicherheit geschützt sind. Informationen zum Besuchen dieser Website finden Sie im Abschnitt "Programmiermodell und Entscheidungen" des Artikels "Sicherheit: Lernmaterial".
- Stellen Sie sicher, dass migrierte Anwendungen aus früheren Releases die erforderlichen Berechtigungen erhalten. Da Java 2-Sicherheit in früheren Versionen nicht oder nur teilweise unterstützt wurde, WebSphere® Application Server Bei vor Version 5 entwickelten Anwendungen wird höchstwahrscheinlich nicht das Java 2-Sicherheitsprogrammiermodell verwendet. Es gibt keine einfache Methode, mit der Sie herausfinden können, ob alle erforderlichen Berechtigungen für die Anwendung verfügbar sind. Sie können die folgenden Aktivitäten ausführen, um die zusätzlichen Berechtigungen zu ermitteln, die eine Anwendung erfordert:
- Codeprüfung
- Prüfung der Anwendungsdokumentation
- Sandbox-Tests migrierter Unternehmensanwendungen mit aktivierter Java 2-Sicherheit in einer Vorproduktionsumgebung. Aktivieren Sie die Ablaufverfolgung in WebSphere Java 2-Sicherheitsmanager zur Unterstützung bei der Ermittlung der fehlenden Berechtigungen in der Anwendungsrichtliniendatei. Die Trace-Spezifikation lautet:com.ibm.ws.security.core.SecurityManager=all=enabled.
- Verwenden Sie die Systemeigenschaft "com.ibm.websphere.java2secman.norethrow" für die Unterstützung des Debugging. Verwenden Sie diese Eigenschaft nicht in Produktionsumgebungen.
Der Standardberechtigungssatz für Anwendungen ist der empfohlene Berechtigungssatz, der definiert ist in J2EE 1.3 Spezifikation. Der Standardwert wird in der Stammverzeichnis_des_Anwendungsservers/profiles/profile_name/config/cells/cell_name/nodes/node_name/app.policyRichtliniendatei mit den im Development Kit definierten Berechtigungen (JAVA_HOME/jre/lib/security/java.policy)-Richtliniendatei, die jedem Berechtigungen erteilt. Anwendungen werden jedoch Berechtigungen verweigert, die in derprofiles/profile_name/config/cells/cell_name/filter.policyeportiert. Die in der Datei filter.policy deklarierten Berechtigungen werden bei der Überprüfung der Berechtigungen
für Anwendungen gefiltert.
java.policy Die Datei befindet sich im java_home Verzeichnis, abhängig von der für das Profil aktivierten Java Virtual Machine (JVM)./QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit/jre/lib/ext ).- Geben Sie QShell ein.
- Rufen Sie mit cd das Verzeichnis Profilstammverzeichnis/bin auf.
- Führen Sie den folgenden Befehl aus:
wsadmin -conntype NONE -c '$AdminTask showVariables {-scope Node=myNode -variableName JAVA_HOME}'
Definieren Sie die erforderlichen Berechtigungen für eine Anwendung in der Datei was.policy und betten Sie die Datei was.policy als IHREAPP.ear/META-INF/was.policy in die EAR-Datei (Enterprise Archive, Unternehmensarchiv) der Datei ein.
Die folgenden Schritte beschreiben, wie die Java-2-Sicherheit auf Zellebene für WebSphere Application Server Network Deployment und auf Serverebene für WebSphere Application Server Express durchgesetzt wird
Vorgehensweise
- Klicken Sicherheit > Globale Sicherheit.Die Anzeige "Globale Sicherheit" erscheint.
- Wähle aus Verwenden Sie Java 2-Sicherheit, um den Anwendungszugriff auf lokale Ressourcen einzuschränken Möglichkeit.
- Klicken OK oder Anwenden.
- Klicken Speichern, um die Änderungen zu speichern.
- Starten Sie den Server erneut, damit die Änderungen wirksam werden.
Ergebnisse
- Aktivieren Sie den Schutz für Systemressourcen, beispielsweise beim Öffnen oder Abhören einer Socket-Verbindung, beim Lesen oder Schreiben in Dateisystemen des Betriebssystems oder beim Lesen oder Schreiben von Systemeigenschaften der Java Virtual Machine.
- Verhindern Sie, dass der Anwendungscode zerstörerische APIs aufruft, z. B. die Methode
System.exit, die den Anwendungsserver beendet. - Verhindern Sie, dass Anwendungscode privilegierte Informationen (Kennwörter) abruft oder zusätzliche Berechtigungen erhält (durch Abrufen der Serverberechtigungsnachweise).
Nächste Schritte
- Klicken Sie auf Server > Anwendungsserver > Servername.
- Klicken Sie unter "Sicherheit" auf Serversicherheit.
- Wählen Sie die Option Sicherheitseinstellungen für diesen Server überschreiben Zelleneinstellungen aus.
- Wähle aus Verwenden Sie Java 2-Sicherheit, um den Anwendungszugriff auf lokale Ressourcen einzuschränken Möglichkeit.
- Klicken OK oder Anwenden.
- Klicken Sie auf Speichern, um die Änderungen zu speichern.
- Starten Sie den Server erneut, damit die Änderungen wirksam werden.
Sehen Sie sich die Leitfaden zur Bestimmung von Sicherheitsproblemen für Details.