Webanwendungen mit einem Assembliertool sichern

Für eine Webanwendung können Sie drei Arten der Authentifizierung für die Webanmeldung konfigurieren: die Basisauthentifizierung, die formularbasierte Authentifizierung und die Authentifizierung mit Clientzertifikat. Schützen Sie die Webressourcen einer Webanwendung, indem Sie ihnen Sicherheitsrollen zuordnen.

Informationen zu diesem Vorgang

Für den Schutz von Webanwendungen sollten Sie im Voraus wissen, welche Webressourcen geschützt werden müssen und wie dieser Schutz realisiert werden soll.
Anmerkung: Diese Prozedur stimmt unter Umständen nicht mit den Schritten überein, die in Ihrem Assembliertool bzw. in der von Ihnen verwendeten Version des Assembliertools ausgeführt werden müssen. Folgen Sie den Anweisungen für das Tool und die Version, das bzw. die Sie verwenden.

Die folgenden Schritte beschreiben ausführlich, wie eine Webanwendung mit einem Assembliertool gesichert werden kann:

Vorgehensweise

  1. Importieren Sie in einem Assembliertool Ihre WAR-Datei oder eine EAR-Datei, die mindestens ein Webmodul enthält.
  2. Suchen Sie im Project-Explorer-Ordner Ihre Webanwendung.
  3. Klicken Sie mit der rechten Maustaste auf den Implementierungsdeskriptor und klicken Sie anschließend auf Öffnen mit > Editor für Implementierungsdeskriptor. Das Fenster "Implementierungsdeskriptor'" erscheint. Wenn Sie Onlineinformationen zum Editor anzeigen möchten, drücken Sie die Taste F1, und klicken Sie auf den Editornamen. Wenn Sie eine Webarchivdatei (WAR) auswählen, wird ein Editor für Webimplementierungsdeskriptoren geöffnet. Wenn Sie eine Unternehmensanwendungsdatei (EAR) auswählen, wird ein Editor für den Implementierungsdeskriptor der Anwendung geöffnet.
  4. Erstellen Sie Sicherheitsrollen auf Anwendungsebene oder auf Webmodulebene. Wenn eine Sicherheitsrolle auf Webmodulebene erstellt wird, wird die Rolle auch auf Anwendungsebene angezeigt. Wird eine Sicherheitsrolle auf Anwendungsebene erstellt, erscheint sie nicht in allen Webmodulen. Sie können eine Sicherheitsrolle auf Anwendungsebene kopieren und in Sicherheitsrollen von Webmodulen einfügen.
    • Erstellen Sie eine Rolle auf der Webmodulebene. Klicken Sie in einem Editor für Webimplementierungsdeskriptoren auf das Register Sicherheit. Klicken Sie unter Sicherheitsrollen auf Hinzufügen. Geben Sie den Namen der Sicherheitsrolle ein, beschreiben Sie die Sicherheitsrolle, und klicken Sie auf Fertigstellen.
    • Erstellen Sie eine Rolle auf der Anwendungsebene. Klicken Sie in einem Editor für den Implementierungsdeskriptor der Anwendung auf das Register Sicherheit. Klicken Sie unter der Liste der Sicherheitsrollen auf Hinzufügen. Geben Sie im Assistenten "Sicherheitsrolle hinzufügen" einen Namen und eine Beschreibung für den die Sicherheitsrolle an. Klicken Sie dann auf Fertigstellen.
  5. Erstellen Sie Sicherheitsvorgaben. Sicherheitsvorgaben sind die Zuordnung von einer oder mehreren Webressourcen zu einer Rollengruppe.
    1. Klicken Sie auf der Registerkarte Sicherheit eines Editors für Webimplementierungsdeskriptoren auf Integritätsbedingungen für die Sicherheit. Auf der Registerkarte "Integritätsbedingungen für die Sicherheit" können Sie die Aktionen Schritte ausführen:
      • Sie können Sicherheitsvorgaben für bestimmte Sicherheitsrollen hinzufügen oder entfernen.
      • Sie können Webressourcen und ihre HTTP-Methoden hinzufügen und entfernen.
      • Sie können festlegen, welche Sicherheitsrollen auf die Webressourcen zugreifen dürfen.
      • Sie können für Benutzerdaten die Vorgaben "None", "Integral" oder "Confidential" angeben.
        None
        Die Anwendung erfordert keine Transportgarantie.
        Integral
        Die Daten können während der Übertragung zwischen dem Client und dem Server nicht geändert werden.
        Confidential
        Der Dateninhalt kann während der Übertragung nicht überwacht werden.

        "Integral" und "Confidential" erfordern in der Regel die Verwendung von SSL. Wenn Sie Anwendungen implementieren, die über öffentliche Netze verfügbar sind, geben Sie als Einschränkung für Webanwendungen "Confidential" an.

    2. Klicken Sie unter "Integritätsbedingungen für die Sicherheit" auf Hinzufügen.
    3. Geben Sie unter "Integritätsbedingungsname" einen Anzeigenamen für die Sicherheitsvorgabe ein und klicken Sie anschließend auf Weiter.
    4. Geben Sie einen Namen und eine Beschreibung für die Webressourcensammlung ein.
    5. Wählen Sie HTTP-Methoden aus. Folgende HTTP-Methoden stehen zur Auswahl: GET, PUT, HEAD, TRACE, POST, DELETE und OPTIONS.
    6. Klicken Sie im Feld "Muster" auf Hinzufügen.
    7. Geben Sie ein URL-Muster an. Geben Sie beispielsweise - /*, *.jsp, /hello ein. Anweisungen für die Angabe von URL-Mustern für Servlets können Sie der Servletspezifikation 2.4 entnehmen. Die Sicherheitslaufzeitumgebung prüft als erstes, ob der ankommenden URL exakt mit einem URL-Muster übereinstimmt. Wenn es keine exakte Übereinstimmung gibt, verwendet die Sicherheitslaufzeit den URL, bei dem die meisten Zeichen mit einem URL-Muster übereinstimmen. Der Abgleich mit URL-Mustern, die Platzhalterzeichen enthalten (*.,*.jsp), wird zuletzt durchgeführt.
    8. Klicken Sie auf Fertigstellen.
    9. Wiederholen Sie diese Schritte, um mehrere Sicherheitsvorgaben zu erstellen.
  6. Ordnen Sie dem Element "role-link" die Elemente "security-role-ref" und "role-name" zu. Bei der Entwicklung einer Webanwendung können Sie das Element "security-role-ref" erstellen. Das Element "security-role-ref" enthält nur das Feld "role-name". Das Feld "role-name" enthält den Namen der Rolle, auf die das Servlet oder der JSP-Code zurückgreift, um festzustellen, ob der Aufrufende in einer bestimmten Rolle enthalten ist. Da Sicherheitsrollen in der Assemblierungsphase erstellt werden, verwendet der Entwickler im Feld role-name den Namen einer logischen Rolle und weist den Assemblierenden im Feld description an, die tatsächliche Rolle zuzuordnen. Das Element "security-role-ref" wird auf der Servletebene verwendet. Ein Servlet oder eine JSP-Datei kann null oder mehrere security-role-ref-Elemente enthalten.
    1. Rufen Sie die Registerkarte Verweise eines Editors für Webimplementierungsdeskriptoren auf. Auf der Registerkarte Verweise können Sie den Namen einer Enterprise-Bean-Referenz auf den Implementierungsdeskriptor hinzufügen oder entfernen. Sie können auf dieser Registerkarte fünf Typen von Referenzen definieren:
      • EJB-Referenz
      • Servicereferenz
      • Ressourcenreferenz
      • Nachrichtenzielreferenz
      • Sicherheitsrollenreferenz
      • Ressourcenumgebungsreferenz
    2. Klicken Sie unter der Liste mit den EJB-Referenzen (Enterprise JavaBeans) auf Hinzufügen.
    3. Geben Sie einen Namen und einen Typ für die Referenz in den Feldern Name und Verweistyp ein.
    4. Wählen Sie Enterprise Beans in the workplace oder Enterprise Beans not in the workplace aus.
    5. Optional: Wenn Sie Enterprise Beans not in the workplace auswählen, wählen Sie im Feld Typ den Enterprise-Bean-Typ aus. Sie können zwischen Entity-Beans und Session-Beans wählen.
    6. Optional: Klicken Sie auf Durchsuchen, um in den Feldern Lokale Home-Schnittstelle und Lokal Werte für die lokale Home-Schnittstelle und die lokale Schnittstelle einzugeben, bevor Sie auf Weiter klicken.
    7. Ordnen Sie mit den oben beschriebenen Schritten jeden bei der Entwicklung verwendeten role-name der Rolle zu. Jeder bei der Entwicklung verwendete Name einer Rolle wird der tatsächlichen Rolle zugeordnet.
  7. Geben Sie die RunAs-Identität für Servlets und JSP-Dateien an. Die RunAs-Identität eines Servlet wird zum Aufrufen von Enterprise-Beans aus dem Servlet-Code heraus verwendet. Wenn Enterprise-Beans aufgerufen werden, wird die RunAs-Identität an die Enterprise-Bean übergeben, um die Berechtigungen für die Enterprise-Beans zu überprüfen. Ist die RunAs-Identität nicht angegeben, wird die Clientidentität an die Enterprise-Beans weitergeleitet. Die RunAs-Identität wird auf Servletebene zugeordnet.
    1. Klicken Sie auf der Registerkarte Servlets eines Editors für Webimplementierungsdeskriptoren unter Servlets und JSP auf Hinzufügen. Daraufhin wird der Assistent "Servlet oder JSP hinzufügen" geöffnet.
    2. Geben Sie die Servlet- bzw. JSP-Einstellungen, einschließlich des Namens, der Initialisierungsparameter und der URL-Zuordnungen, an und klicken Sie auf Weiter.
    3. Geben Sie die Zieladresse für die Klassendatei an.
    4. Klicken Sie auf Weiter, um weitere Einstellungen festzulegen, oder klicken Sie auf Fertigstellen.
    5. Klicken Sie auf der Registerkarte Servlets auf Ausführen als. Wählen Sie die Sicherheitsrolle aus, und beschreiben Sie die Rolle.
    6. Geben Sie für jedes Servlet und jede JSP, das bzw. die von Ihrer Webanwendung verwendet wird, eine RunAs-Identität an.
  8. Konfigurieren Sie das Anmeldeverfahren für das Webmodul. Das konfigurierte Anmeldeverfahren gilt für alle Servlets, JSP-Dateien und HTML-Ressourcen des Webmoduls.
    1. Klicken Sie auf das Register Seiten eines Editors für Webimplementierungsdeskriptoren und klicken Sie anschließend auf Anmeldung. Wählen Sie die erforderliche Authentifizierungsmethode aus. Die gültigen Werte für die Authentifizierungsmethode sind Unspecified, Basic, Digest, Form und Client-Cert.
    2. Geben Sie einen Realmnamen an.
    3. Wenn Sie die Formularauthentifizierung ausgewählt haben, wählen Sie die Webadresse für eine Anmeldeseite und für eine Fehlerseite aus. Sie könnten beispielsweise /login.jsp und /error.jsp verwenden. Die angegebene Anmeldeseite und die Fehlerseite sind in der Datei .war enthalten.
    4. [AIX Solaris HP-UX Linux Windows][IBM i]Wenn Sie ClientCert ausgewählt haben, installieren Sie das Clientzertifikat im Browser oder Webclient, und stellen Sie es in die Trustschlüsselringdatei des Servers.
    5. [z/OS]Wenn Sie das Zertifikat "ClientCert" ausgewählt haben, installieren Sie das Clientzertifikat im Browser-Webclient, und stellen Sie es in die Trustschlüsselringdatei des Servers.Das öffentliche Zertifikat der Client-CA muss in den RACF-Schlüsselring des Servers gestellt werden. Wenn die Registry LocalOS verwendet wird, aktivieren Sie mit dem Befehl RACDCERT MAP oder einem äquivalenten SAF-Befehl das Erstellen einer MVS-ID unter Verwendung des Clientzertifikats.
  9. Schließen Sie den Editor für Implementierungsdeskriptoren, und klicken Sie nach der Systemanfrage auf Yes, um die Änderungen zu speichern.

Ergebnisse

Nach dem Sichern einer Webanwendung enthält der Implementierungsdeskriptor der resultierenden WAR-Datei die Sicherheitsinformationen. Die Sicherheitsinformationen für Webmodule werden in der Datei web.xml gespeichert. Wenn Sie mit dem Editor für Webimplementierungsdeskriptoren arbeiten, können Sie auch andere Implementierungsdeskriptoren des Webprojekts editieren, z. B. die Informationen zu Bindungen und IBM® Erweiterungen in den Dateien ibm-web-bnd.xmi und ibm-web-ext.xmi.
Unterstützte Konfigurationen Unterstützte Konfigurationen: Bei IBM Erweiterungs- und Bindungsdateien weicht der Name der XMI- oder XML-Datei ab, je nachdem, ob Sie eine Java™ EE-Anwendung bzw. ein Java EE-Modul vor oder nach Version 5 verwenden. Eine IBM Erweiterungs- bzw. Bindungsdatei heißt "ibm-*-ext.xmi" bzw. "ibm-*-bnd.xmi". Das Platzhalterzeichen "*" steht für den Typ der Erweiterungs- oder Bindungsdatei, z. B. "app", "application", "ejb-jar" oder "web". Es gelten die folgenden Bedingungen:
  • Für eine Anwendung oder ein Modul, die bzw. das Java EE vor Version 5 verwendet, muss die Dateierweiterung ".xmi" sein.
  • Für eine Anwendung oder ein Modul, die bzw. das Java EE ab Version 5 verwendet, muss die Dateierweiterung ".xml" sein. Wenn Dateien mit der Erweiterung ".xmi" in der Anwendung oder im Modul enthalten sind, werden diese vom Produkt ignoriert.

Ein Modul von Java EE Version 5 oder einer höheren Version kann jedoch in einer Anwendung, die Dateien einer älteren Java EE-Version als Version 5 enthält, koexistieren.

Die Dateien ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi und ibm-portlet-ext.xmi können die Dateierweiterung ".xmi" weiterhin verwenden.

sptcfg

Nächste Schritte

Nachdem Sie die Webanwendung in einem Assembliertool geschützt haben, können Sie sie in der Administrationskonsole installieren. Führen Sie während der Installation der Webanwendung die Schritte im Artikel Sichere Anwendungen implementieren aus, um den Schutz der Webanwendung zu vervollständigen.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_secweb_atk
Dateiname:tsec_secweb_atk.html