SSO-Funktionalität mit SPNEGO TAI - Prüfliste (veraltet)
WebSphere Application Server stellt einen Trust Association Interceptor (TAI) bereit, der für das sichere Aushandeln und Authentifizieren von HTTP-Anforderungen nach geschützten Ressourcen in WebSphere Application Server den Mechanismus SPNEGO (Simple and Protected GSS-API Negotiation) verwendet. Für die Implementierung und die Verwendung des SPNEGO TAI müssen Sie Ihre Installation untersuchen und entscheiden, wie der SPNEGO TAI am besten zu konfigurieren ist.

In WebSphere Application Server Version 6.1 wurde ein TAI eingeführt, der SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) nutzt, um HTTP-Anforderungen für geschützte Ressourcen sicher auszuhandeln und zu authentifizieren. Diese Funktion wird in WebSphere Application Server 7.0 nicht weiter unterstützt. Die SPNEGO-Webauthentifizierung wird jetzt genutzt, um SPNEGO-Filter dynamisch neu zu laden und den Rückgriff auf die Methode der Anwendungsanmeldung zu ermöglichen.
depfeat- Welches Kriterium soll für das Abfangen von HTTP-Anforderungen gelten?
Sie müssen entscheiden, ob die SPNEGO-TAI-Implementierung standardmäßig die Klasse HTTPHeaderFilter verwenden soll. Wenn diese Klasse verwendet wird, müssen Sie die genauen Filtereigenschaften für die Klasse angeben. Standardmäßig verwendet der SPNEGO TAI die Klasse com.ibm.ws.security.spnego.HTTPHeaderFilter, um alle Anforderungen abzufangen.
Falls Sie nicht die Beispielklasse com.ibm.ws.spnego.HTTPHeaderFilter verwenden, müssen Sie eine neue Klasse definieren, die die Schnittstelle "com.ibm.wsspi.security.spnego.SpnegoTAIFilter" implementiert.
Bei Bedarf können Sie mit dem Service Provider Programming Interface (SPI) steuern, welche HTTP-Anforderungen abgefangen werden sollen. Lesen Sie dazu die Informationen im Artikel HTTP-Anforderungen für den SPNEGO TAI filtern (nicht mehr unterstützt).
Im Artikel Angepasste JVM-Konfigurationseigenschaften für SPNEGO TAI (veraltet) finden Sie eine Beschreibung der folgenden Klassen:- com.ibm.ws.security.spnego.SPN<id>.filterClass
- com.ibm.ws.security.spnego.SPN<id>.filter
- Soll die Zuordnung von Benutzer-IDs angewendet werden? Falls nicht, begründen Sie Ihre Entscheidung.
Mit WebSphere Application Server können Sie ein angepasstes Anmeldemodul für die Zuordnung von Benutzer-IDs definieren oder entwickeln. Weitere Einzelheiten zu dieser Zuordnung enthält der Artikel Principalnamen des Kerberos-Clients einer WebSphere-Benutzerregistry-ID für SPNEGO-TAI zuordnen (veraltet).
Vor der Implementierung des TAI müssen Sie entscheiden, ob dieses angepasste Anmeldemodul für die Identitätszuordnung des SPNEGO TAI verwendet werden soll.
- Mit welchem Verschlüsselungstyp sollen die SPNEGO-Token verarbeitet werden? Microsoft Windows Active Directory unterstützt die beiden Kerberos-Verschlüsselungstypen RC4-HMAC und DES-CBC-MD5. Die IBM® JGSS-Bibliothek (Java™ Generic Security Service) und die SPNEGO-Bibliothek bieten Unterstützung für diese Verschlüsselungstypen.Einschränkung: Die Verschlüsselung RC4-HMAC wird nur unterstützt, wenn Sie Windows 2003 Server als KDC verwenden.
- Wie soll die Delegierung von Berechtigungsnachweisen gehandhabt werden?
Kerberos unterstützt die Delegierung von Berechtigungsnachweisen. Ein Server, der von einem Client Kerberos-Berechtigungsnachweise empfängt, kann anderen Servern gegenüber mit den übertragenen Berechtigungsnachweisen die Identität dieses Clients vortäuschen. Da Kerberos-Berechtigungsnachweise in SPNEGO-TAI-Token eingebettet sind, kann ein Server, der Kerberos-Berechtigungsnachweise in einem SPNEGO-Token empfängt, den ursprünglichen Benutzer mit diesen Nachweisen vortäuschen. Ein solcher Server kann mit SPNEGO über HTTP als SPNEGO-Client mit anderen SPNEGO-Servern interagieren, indem er einen entsprechenden HTTP-Berechtigungs-Header erstellt.
- Erfolgt die Implementierung des SPNEGO TAI in einer Einzel- oder Mehrdomänenumgebung?
Unter Windows ausgeführte Web-Browser reagieren sensibel auf DNS-Domänen. Sie senden nur dann ein SPNEGO-Token, wenn der Name des Zielhosts in der DNS-Domäne der Clientmaschine definiert ist. Mit der HTTP-Umadressierung können Sie in jeder DNS-Domäne einen Pseudo-Kerberos-SPN erstellen, um diese Konfiguration zu unterstützen. Die geheimen Schlüssel für alle von WebSphere Application Server unterstützten SPNs müssen in Kerberos-Chiffrierschlüsseldateien verfügbar sein. Um das Single Sign-On für mehrere DNS-Domänen zu ermöglichen, wird für jeden SPN pro Domäne eine separate Kerberos-Chiffrierschlüsseldatei generiert. Diese einzelnen Kerberos-Chiffrierschlüsseldateien müssen zusammengeführt werden, damit sie von WebSphere Application Server verwendet werden können.
- Wie oft laden die Anwendungsserver die SPNEGO-TAI-Eigenschaften erneut?
Der SPNEGO TAI hat ein optionales Feature für das Neuladen der TAI-Eigenschaften ohne erneutes Starten der Java Virtual Machine (JVM). Dieses Feature wird von den Systemeigenschaften com.ibm.ws.security.spnego.propertyReloadFile und com.ibm.ws.security.spnego.propertyReloadTimeout gesteuert. Beide Eigenschaften zusammen ermöglichen nach einem bestimmten Zeitraum das Neuladen der internen Eigenschaften des SPNEGO TAI aus einer Datei im Dateisystem. Falls das Attribut "com.ibm.ws.security.spnego.propertyReloadTimeout" auf einen gültigen ganzzahligen Wert gesetzt ist und das Attribut "com.ibm.ws.security.spnego.propertyReloadFile" auf eine Datei im Dateisystem zeigt, lädt jede JVM nach Ablauf des Zeitlimits die Eigenschaften des SPNEGO TAI neu. Die Eigenschaften des SPNEGO TAI werden jedoch nur neu geladen, wenn sich das Datum der Datei geändert hat. Sind diese Eigenschaften für das Neuladen nicht gesetzt, werden die Eigenschaften des SPNEGO TAI nur einmal geladen. Die in den Konfigurationsdaten von WebSphere Application Server definierten Eigenschaften des SPNEGO TAI werden in diesem Fall bei der Initialisierung der JVM geladen. Weiter Informationen zu diesen Eigenschaften für erneutes Laden finden Sie im Artikel Angepasste JVM-Konfigurationseigenschaften für SPNEGO TAI.
Der Administrator für Windows Active Directory (Webadministrator), der Administrator für WebSphere Application Server und das Anwendungsteam gehen diese Fragen gemeinsam durch und versuchen, die bestmöglichen Implementierungs- und Konfigurationseinstellungen für den SPNEGO TAI zu finden.