Filterwerte für SPNEGO-Webauthentifizierung

Die Filterwerte für die SPNEGO-Webauthentifizierung (Simple and Protected GSS-API Negotiation Mechanism) steuern verschiedene Aspekte von SPNEGO. Verwenden Sie diese Seite, um unterschiedliche Filterwerte für jeden Anwendungsserver anzugeben.

Klicken Sie zum Anzeigen dieser Seite der Administrationskonsole auf Sicherheit > Globale Sicherheit. Erweitern Sie unter "Authentifizierung" den Abschnitt "Web- und SIP-Sicherheit", und klicken Sie anschließend auf SPNEGO-Webauthentifizierung. Klicken Sie unter "SPNEGO-Filter" auf Neu, oder wählen Sie einen zu bearbeitenden Filter aus.

Hostname

Gibt den vollständig qualifizierten Hostnamen im Kerberos-Service-Principal-Namen (SPN) an, der von SPNEGO für die Einrichtung eines sicheren Kontextes verwendet wird.

Der Hostname ist die vollständig qualifizierte Form des Hostnamens, z. B. myHostname.austin.ibm.com.

Der Kerberos-SPN ist eine Zeichenfolge im Format HTTP/<vollständig qualifizierter Hostname>@KERBEROS_REALM. Der SPNEGO-Provider verwendet den vollständigen SPN und den Java Generic Security Service (JGSS), um den im Authentifizierungsprozess verwendeten Sicherheitsberechtigungsnachweis und den zugehörigen Sicherheitskontext abzurufen.

Datentyp String
Name des Kerberos-Realms

Gibt den Namen Ihres Kerberos-Realms an. In den meisten Fällen ist der Realm der Domänenname in Großbuchstaben. Eine Maschine mit dem Domänennamen test.austin.ibm.com hat beispielsweise gewöhnlich den Kerberos-Realm-Namen AUSTIN.IBM.COM.

Wenn Sie den Kerberos-Realm-Namen nicht angeben, wird der Standard-Realm verwendet, der in der Kerberos-Konfigurationsdatei definiert ist.

Filterkriterien

Die Filterbedingungen, die von der von SPNEGO verwendeten Java-Klasse verwendet wird.

Die Standardimplementierungsklasse com.ibm.ws.security.spnego.HTTPHeaderFilter definiert mit dieser Eigenschaft eine Liste von Auswahlregeln, deren Bedingungen mit den Headern von HTTP-Anforderungen abgeglichen werden, um festzustellen, ob die HTTP-Anforderung für die SPNEGO-Authentifizierung ausgewählt wurde.

Jede Bedingung wird durch ein Schlüssel-Wert-Paar angegeben. Die einzelnen Bedingungen sind jeweils durch ein Semikolon voneinander getrennt. Die Bedingungen werden in der Reihenfolge, in der sie in der angegebenen Eigenschaft erscheinen, von links nach rechts ausgewertet. Falls alle Bedingungen erfüllt sind, wird die HTTP-Anforderung für die SPNEGO-Authentifizierung ausgewählt.

Der Schlüssel und der Wert im Schlüssel-Wert-Paar sind durch einen Operator getrennt, der die zu überprüfende Bedingung definiert. Der Schlüssel bezeichnet einen HTTP-Anforderungs-Header, der aus der Anforderung zu extrahieren ist und dessen Wert gemäß der Operatorspezifikation mit dem Wert des Schlüssels im Schlüssel-Wert-Paar verglichen wird. Falls es den vom Schlüssel bezeichneten Header nicht in der HTTP-Anforderung gibt, wird die Bedingung als nicht erfüllt angesehen.

Als Schlüssel in den Schlüssel-Wert-Paaren können alle Standard-HTTP-Anforderungs-Header verwendet werden. In der HTTP-Spezifikation finden Sie eine Liste gültiger Header. Zusätzlich wurden zwei Schlüssel definiert, um Informationen aus der Anforderung zu extrahieren. Diese Schlüssel sind auch als ein Auswahlkriterium hilfreich, das von den Standard-HTTP-Anforderungs-Headern nicht bereitgestellt wird. Der Schlüssel "remote-address" wird als Pseudo-Header verwendet, um die ferne TCP/IP-Adresse der Clientanwendung abzurufen, die die HTTP-Anforderung gesendet hat. Der Schlüssel "request-URL" wird als ein Pseudo-Header verwendet, um den URL abzurufen, den die Clientanwendung für die Anforderung benutzt hat. Der Interceptor konstruiert mit dem Ergebnis der Operation getRequestURL in der Schnittstelle "javax.servlet.http.HttpServletRequest" die Webadresse. Falls es eine Abfragezeichenfolge gibt, wird in derselben Schnittstelle auch das Ergebnis der Operation "getQueryString" verwendet. In diesem Fall wird wie folgt der vollständige URL konstruiert:
String url = request.getRequestURL() + ‘?' + request.getQueryString();
Tabelle 1. Filterbedingungen und Operatoren .

In dieser Tabelle werden die Bedingungen und Operationen für Filterkriterien beschrieben.

Bedingung Operator Beispiel
Exakte Übereinstimmung = =

Es wird überprüft, ob die Argumente gleich sind.

host=host.my.company.com
Teilweise Übereinstimmung (ist enthalten) %=

Es wird überprüft, ob die Argumente übereinstimmen, wobei eine teilweise Übereinstimmung bereits gültig ist.

user-agent%=IE 6
Teilweise Übereinstimmung (eines von mehreren ist enthalten) ^=

Es wird überprüft, ob die Argumente übereinstimmen, wobei eine teilweise Übereinstimmung für eines von mehreren angegebenen Argumenten gültig ist.

request-url^=webApp1|webApp2|webApp3
Keine Übereinstimmung !=

Es wird überprüft, ob die Argumente ungleich sind.

request-url!=noSPNEGO
Größer als >

Es wird überprüft, ob die Argumente lexikografisch größer sind.

remote-address>192.168.255.130
Kleiner als <

Es wird überprüft, ob die Argumente lexikografisch kleiner sind.

remote-address<192.168.255.135
Anmerkung: In den früheren Versionen von WebSphere Application Server haben die SPNEGO-HTTP-Header-Filter Leerzeichen, IP-Adressen und die Bedingung "!=" nicht ordnungsgemäß verarbeitet, aber diese Probleme sind in diesem Release behoben.
Datentyp String
Filterklasse

Gibt den Namen der Java-Klasse an, die von SPNEGO verwendet wird, um die HTTP-Anforderungen auszuwählen, die der SPNEGO-Authentifizierung unterliegen. Wenn Sie diesen Parameter nicht angeben, wird die Standardfilterklasse com.ibm.ws.security.spnego.HTTPHeaderFilter verwendet.

Datentyp String
URL der Fehlerseite für 'SPNEGO nicht unterstützt'

Diese Option ist optional. Sie gibt den URL einer Ressource an, die den Inhalt enthält, den SPNEGO in die HTTP-Antwort einschließt, die von der Browserclientanwendung angezeigt wird, wenn diese keine SPNEGO-Authentifizierung unterstützt.

Diese Eigenschaft kann eine Webressource (http://) oder eine Dateiressource (file://) angeben.

Falls diese Eigenschaft nicht angegeben ist oder der Interceptor die angegebene Ressource nicht finden kann, wird folgender Inhalt verwendet:
<html><head><title>SPNEGO authentication is not supported</title></head>
<body>SPNEGO authentication is not supported on this client</body></html>;
Datentyp String
URL der Fehlerseite 'NTLM-Token empfangen'

Diese Eigenschaft ist optional. Sie gibt den URL einer Ressource an, die den Inhalt enthält, den SPNEGO in die HTTP-Antwort einfügt, die in der Browserclientanwendung angezeigt wird.

Die Browserclientanwendung zeigt diese HTTP-Antwort an, wenn der Browserclient während des Handshakes mit Anforderung/Antwortaustausch ein NTLM-Token (NT LAN Manager) anstelle des erwarteten SPNEGO-Token sendet.

Falls diese Eigenschaft nicht angegeben ist oder der Interceptor die angegebene Ressource nicht finden kann, wird folgender Inhalt verwendet:
<html><head><title>An NTLM Token was received.</title></head>
<body>Your browser configuration is correct, but you have not logged into a supported
Microsoft(R) Windows(R) Domain.
<p>Please login to the application using the normal login page.</html>

Diese Eigenschaft kann eine Webressource (http://) oder eine Dateiressource (file://) angeben.

Datentyp String
Übertragung der Kerberos-Berechtigungsnachweise aktivieren

Gibt an, ob die übertragenen Kerberos-Berechtigungsnachweise von SPNEGO gespeichert werden sollen. Diese Option ermöglicht einer Anwendung auch, die gespeicherten Berechtigungsnachweise abzurufen und sie für weitere SPNEGO-Authentifizierungen an andere nachgeordnete Anwendungen weiterzugeben.

Diese Option erfordert die Verwendung des erweiterten Features für die Übertragung von Kerberos-Übertragungen und die Entwicklung angepasster Logik durch den Anwendungsentwickler. Der Entwickler muss direkt mit dem Kerberos-KDC interagieren, um einen Kerberos-TGT (Ticket Granting Service) zu erhalten. Er verwendet dabei die delegierten Kerberos-Berechtigungsnachweise im Namen des Benutzers, von dem die Anforderung stammt. Der Entwickler muss außerdem das entsprechende Kerberos-SPNEGO-Token erzeugen und in die HTTP-Anforderung aufnehmen, damit der nachgeordnete SPNEGO-Authentifizierungsprozess sowie ggf. die Bearbeitung des zusätzlichen Austausches von SPNEGO-Anforderungen und -Antworten fortgesetzt werden kann.

Anmerkung: Wenn diese Option aktiviert ist (Standardeinstellung), ist der GSSCredential-Berechtigungsnachweis nicht serialisierbar und kann nicht an den nachgeschalteten (Downstream-)Server weitergegeben werden. Der Berechtigungsnachweis für die Kerberos-Clientdelegierung wird extrahiert, und die KRBAuthnToken-Basis wird erstellt. Das KRBAuthnToken enthält die Kerberos-Clientdelegierung und kann an einen nachgeschalteten (Downstream-)Server weitergegeben.

Wenn Sie das KRBAuthnToken an einen nachgeschalteten (Downstream-)Server weitergeben möchten, muss das Client-TGT (Ticket Granting Ticket) weiterleitbare Optionen ohne Adresse enthalten. Wenn ein Client-TGT adressiert ist, hat der nachgeschaltete (Downstream-) nach der Weitergabe keinen Berechtigungsnachweis für die GSS-Clientdelegierung.

Sie können den GSSCredential-Berechtigungsnachweis für Clientdelegierung mit der Methode "KRBAuthnToken.getGSSCredential()" aus dem KRBAuthnToken extrahieren.

Standardeinstellung Inaktiviert
Kerberos-Realm vom Namen des Principals abtrennen

Diese Option ist optional. Sie gibt an, ob SPNEGO das Suffix des Principal-Benutzernamens (ab @) entfernt, das dem Kerberos-Realm-Namen vorangestellt ist. Ist dieses Attribut auf true gesetzt, wird das Suffix des Principal-Benutzernamens entfernt. Das Suffix des Principal-Namens bleibt erhalten, wenn dieses Attribut auf false gesetzt ist. Der verwendete Standardwert ist true.

Anmerkung: Sie müssen das Feld auf true setzen, wenn Sie die Registry des lokalen Betriebssystems unter z/OS und das integrierte Zuordnungsmodul verwenden, um SAF-Identitäten Kerberos-Principals zuzuordnen.
Standardeinstellung Inaktiviert



Mit (online) gekennzeichnete Links setzen einen Internet-Zugang voraus.

Zugehörige Verweise
Aktivierung der SPNEGO-Webauthentifizierung
Kerberos-Authentifizierung


Dateiname: usec_kerb_SPNEGO_edit.html