Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
erstellt am 08092014
letzte Aumlnderung 18092014
Version 10
DOAG Vortrag uumlber
Interoperabilitaumlt zwischen Oracle WSM
11g und Microsoft WCFNET 40
Copyright SIVAG 2014 - Alle Rechte vorbehalten
Die SIVAG uumlbernimmt fuumlr die Fehlerfreiheit der beschriebenen Programmteile keine Haftung Auszligerdem wird keine
Gewaumlhr dafuumlr uumlbernommen dass die beschriebenen Verfahren Programme usw frei von Schutzrechten Dritter sind
Alle Rechte auch die der Uumlbersetzung sind vorbehalten Die Bedienungsanleitung (auch auszugsweise) darf ohne
schriftliche Genehmigung der SIVAG in keiner Form (Fotokopie Mikrofilm oder ein Verfahren wie Kopieren auf
Disketten oder Magnetbaumlnder) auch nicht fuumlr Zwecke der Unterrichtsgestaltung reproduziert oder unter Verwendung
elektronischer Systeme verarbeitet vervielfaumlltigt oder verbreitet werden
Da stetig an der Weiterentwicklung der Programme gearbeitet wird stimmen einzelne Meldungen nur sinngemaumlszlig mit
denen der Produktbeschreibung uumlberein Die vorliegende Produktbeschreibung erhebt keinen Anspruch auf
Vollstaumlndigkeit und kann durch SIVAG jederzeit ohne vorherige Ankuumlndigung ergaumlnzt und geaumlndert werden
ORACLEreg ist ein eingetragenes Warenzeichen der ORACLE Corporation Kalifornien USA
UNIXreg ist ein eingetragenes Warenzeichen der SCO Santa Cruz Operation
WINDOWSreg WINDOWS NTreg sind eingetragene Warenzeichen der Microsoft Corporation
ProFibreg ist ein eingetragenes Warenzeichen der Szymaniak Software GmbH
VARIALreg ist ein eingetragenes Warenzeichen der ISB GmbH
LOHN XLXXLreg ist ein eingetragenes Warenzeichen der SOFT-RESEARCH GmbH
Alle weiteren verwendeten Produktnamen koumlnnen eingetragene Warenzeichen der jeweiligen Eigentuumlmer sein
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Inhalt
SIVAG 2014 I
Inhalt
1 EINLEITUNG 2
11 Ausgangssituation 2
12 Zielsetzung 2
13 Loumlsungsbeschreibung 2
14 Was ist Kerberos 2
15 Beteiligte Systeme 3
2 UMSETZUNG 3
21 Voraussetzungen 3
211 Zeitabgleich 3
212 Sicherung anlegen 4
213 Windows WCF Net Applikation (kVASy Outlook Add In) 4
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service Bus (OSB) 8
22 Anlegen des Active Directory Host Account User 8
221 Anlegen des Host Account Users 8
222 Generieren der keytab-Datei 9
223 Uumlberpruumlfen des SPN 9
224 Weitere SPN hinzufuumlgen 10
23 Kerberos-Konfiguration auf dem Linux-Server 10
231 Update der JDK Security Policy Files 11
232 Kopieren der keytab-Datei auf dem Linux-Server 11
233 Editieren der krb5conf-Datei auf dem Linux-Server 11
234 Testen des SPN und der keytab-Datei (notwendig) 12
235 Erstellen der krb5Loginconf 12
236 Editieren der setDomainEnvsh 13
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional) 13
238 Wenn etwas schief geht 15
239 OWSM konfigurieren 15
2310 OSB Web Service mit Policy sichern 19
24 Abschlieszligender Test des WCF Client 20
3 GLOSSARABKUumlRZUNGSVERZEICHNIS 20
4 QUELLEN 20
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Einleitung
SIVAG 2014 2
1 Einleitung
11 Ausgangssituation
Ein vorhandener Proxy Service im OSB (Oracle Service Bus) soll von einem Windows Client genutzt
werden Dabei soll zwischen dem Client und dem Service eine sichere Authentifizierung stattfinden
Hierfuumlr soll die Anmeldung am Windows-Rechner genutzt werden (SSO ndash Single Sign On)
Dieses Tutorial basiert auf einem Projekt der SIVAG Die SIVAG hat fuumlr Ihre Kunden ein Outlook
Add In entwickelt dass sich nahtlos in Outlook einbettet Wird auf eine E-Mail geklickt deren
Absender in kVASy bekannt ist dann werden zu diesem Absender Kundendaten angezeigt Der
Sachbearbeiter kann sich damit einen schnellen Uumlberblick uumlber den Kunden und seine letzten
Aktivitaumlten machen
kVASy ist das Hauptprodukt der SIVAG und wird bei ca 300 Kunden in der Energie- und
Wasserwirtschaft eingesetzt Siehe auch httpwwwsivde fuumlr weitere Informationen zur SIVAG und
ihren Produkten und Dienstleistungen
Das kVASy Outlook Add In wird in diesem Tutorial nicht weiter behandelt Stattdessen wird der
Windows Client an Hand eines WCF Net C-Konsolenprogramms erklaumlrt
12 Zielsetzung
Das Windows-Konsolen-Programm soll die Windows-Anmeldung des Benutzers nutzen Diese sollen
dem Webservice in einer sicheren Art und Weise uumlbertragen werden Der Webservice soll den
Benutzer uumlberpruumlfen und im Fall einer unberechtigten Nutzung ablehnen
13 Loumlsungsbeschreibung
Das Windows-Konsolen-Programm ist eine NET Applikation (NET Framework 45) die in der
Programmiersprache C erstellt wurde Das NET Framework bietet die Moumlglichkeit auf die
Windows-Anmeldung uumlber das Kerberosprotokoll zugreifen zu koumlnnen Die Anmeldedaten werden
dabei in Form eines Kerberos-Tickets zur Verfuumlgung gestellt Dieses Ticket kann dem Webservice
uumlbergeben werden Der Oracle Service Bus (OSB) ist unter Verwendung von Oracle Web Service
Manager (OWSM) Kerberos Policies in der Lage diese Tickets zu verarbeiten und die
Authentifizierung des Benutzers durchzufuumlhren
14 Was ist Kerberos
Fuumlr eine kurze Einfuumlhrung siehe [12] Eine genauere Beschreibung wie Kerberos in Windows
implementiert ist findet sich in [7] Eine sehr verstaumlndliche Beschreibung findet sich in [13] Und zum
Schluss mein Favorit Ein 10minuumltiges Video auf Youtube [15]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 3
15 Beteiligte Systeme
Abbildung 1
Abbildung 1 zeigt die beteiligten System
1 Windows Rechner mit installierten Net Client der auf einen Webservice auf dem Linux
Applikationen-Server zugreifen will
2 Linux-Applikation-Server mit installiertem Oracle OSB- SOA-Server kVASy5-Datenbank
und kVASy5-Geschaumlftsanwendung
3 Active Directory Server
Alle Systeme befinden sich in einem Netzwerk Der Windows-Rechner und der ADS befinden sich in
einer Windows-Domaumlne Der Windows Rechner ist in der Windows Domaumlne registriert Der Benutzer
der Windows Net Anwendung meldet sich an der Windows Domaumlne an und ist als User im Active
Directory registriert
2 Umsetzung
21 Voraussetzungen
211 Zeitabgleich
Die Uhren vom ADS MS-Windows-Client und Linux-Server muumlssen synchronisiert sein
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 4
212 Sicherung anlegen
Es wird empfohlen vor den Aumlnderungen eine Sicherung der Systeme anzulegen
Waumlhrend der Arbeiten wird empfohlen immer eine Sicherung der betroffenen config-Dateien zu
machen
u01apporacleMiddlewareuser_projectsdomainsprodconfigconfigxml
u01apporacleMiddlewareuser_projectsdomainsprodconfigfmwconfigjps-config-jsexml
u01apporacleMiddlewareuser_projectsdomainsprodconfigfmwconfigjps-configxml
213 Windows WCF Net Applikation (kVASy Outlook Add In)
In einer Net Entwicklungsumgebung wird ein simples WCF C Konsolenprogramm erzeugt Die fuumlr
uns wichtigen Bestandteile sind die Datei Programcs und Appconfig Programcs enthaumllt den
auszufuumlhrenden Programm-Code
using System
using SystemCollectionsGeneric
using SystemLinq
using SystemText
using SystemThreadingTasks
namespace KerberosConsoleClient
class Program
static void Main(string[] args)
try
CustomerTaskServiceV1Client client = new CustomerTaskServiceV1Client()
var titles = clientGetAssignmentTitle(new GetAssignmentTitle())
ConsoleWriteLine(Result)
titlesToList()ForEach(x =gt ConsoleWriteLine(x))
catch (Exception ex)
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 5
ConsoleWriteLine(0 1rn2 exGetType()Name exMessage exStackTrace)
ConsoleWriteLine(press ltENTERgt to exit)
ConsoleReadLine()
Erklaumlrung des Programmablaufs
Es wird ein Webservice Client initialisiert Der ruft die Webservice Operation GetAssignmentTitle auf
Die Titel werden dann in einer Liste ausgegeben
Die Datei Appconfig enthaumllt die Konfiguration des Programms
ltxml version=10 encoding=utf-8 gt
ltconfigurationgt
ltstartupgt
ltsupportedRuntime version=v40 sku=NETFrameworkVersion=v45 gt
ltstartupgt
ltsystemserviceModelgt
ltbindingsgt
ltbasicHttpBindinggt
ltbinding name=CustomerTaskServiceV1SOAPtest gt
ltbasicHttpBindinggt
ltcustomBindinggt
ltbinding name=CustomerTaskServiceV1SOAPgt
lt--Added by User Begin--gt
ltsecurity defaultAlgorithmSuite=Basic128
authenticationMode=Kerberos
requireDerivedKeys=false securityHeaderLayout=Lax
includeTimestamp=true
keyEntropyMode=CombinedEntropy
messageProtectionOrder=SignBeforeEncrypt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 6
messageSecurityVersion=WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary20
05WSSecurityPolicy11BasicSecurityProfile10
requireSignatureConfirmation=falsegt
ltlocalClientSettings cacheCookies=true detectReplays=true
replayCacheSize=900000 maxClockSkew=000500
maxCookieCachingTime=Infinite
replayWindow=000500
sessionKeyRenewalInterval=100000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
timestampValidityDuration=000500
cookieRenewalThresholdPercentage=60 gt
ltlocalServiceSettings detectReplays=true
issuedCookieLifetime=100000
maxStatefulNegotiations=128 replayCacheSize=900000
maxClockSkew=000500
negotiationTimeout=000100 replayWindow=000500
inactivityTimeout=000200
sessionKeyRenewalInterval=150000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
maxPendingSessions=128
maxCachedCookies=1000
timestampValidityDuration=000500 gt
ltsecureConversationBootstrap gt
ltsecuritygt
lt--Added by User End--gt
lttextMessageEncoding maxReadPoolSize=64
maxWritePoolSize=16
messageVersion=Soap11 writeEncoding=utf-8gt
ltreaderQuotas maxDepth=32 maxStringContentLength=8192
maxArrayLength=16384
maxBytesPerRead=4096 maxNameTableCharCount=16384
gt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 7
lttextMessageEncodinggt
lt--Added by User Begin--gt
lthttpTransport manualAddressing=false
maxBufferPoolSize=524288
maxReceivedMessageSize=65536 allowCookies=false
authenticationScheme=Anonymous
bypassProxyOnLocal=false
hostNameComparisonMode=StrongWildcard
keepAliveEnabled=true maxBufferSize=65536
proxyAuthenticationScheme=Anonymous
realm= transferMode=Buffered
unsafeConnectionNtlmAuthentication=false
useDefaultWebProxy=true gt
lt--Added by User End--gt
ltbindinggt
ltcustomBindinggt
ltbindingsgt
ltclientgt
ltendpoint address=http[host name]sivde8011[path]customerTaskServiceV1
binding=customBinding bindingConfiguration=CustomerTaskServiceV1SOAP
contract=CustomerTaskServiceV1 name=CustomerTaskServiceV1SOAPQSPort gt
ltidentitygt
ltservicePrincipalName value =HTTP[host name]sivdeSIVDEgt
ltidentitygt
ltendpointgt
ltclientgt
ltsystemserviceModelgt
ltconfigurationgt
Die Konfiguration eines Net Clients (Kerberos mit Message Protection) wird von Oracle in [6]
ausfuumlhrlich beschrieben Die roten Zeilen in der Appconfig zeigen wo wir Anpassungen fuumlr unsere
Umgebung vorgenommen haben
Als Betriebssystem wird Windows 7 Professional Service Pack 1 64 Bit verwendet
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 8
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service
Bus (OSB)
Oracle Linux Server release 6
OSB Server 11117
SOA Suite 11117
Java-Version der Weblogic-Server
java version 170_17
Active Directory Authentication provider
Dieser muss in der Oracle WebLogic Server Administration Console konfiguriert sein
1 Console aufrufen
Beispiel-URL http[host]7001console
2 Zur Seite Authentication Providers navigieren
- Auf der linken Seite in der Box Domain Structure den Menuumlpunkt Security Realms waumlhlen
- unter myrealm auswaumlhlen
- den Tab Providers waumlhlen
Der Provider muss an erster Stelle in der Liste stehen und das Control Flag des Providers muss auf
SUFFICIENT stehen
22 Anlegen des Active Directory Host Account User
Fuumlr die Kerberos-Konfiguration auf dem Linux-Server muss im AD ein Host Account User angelegt
konfiguriert und eine keytab-Datei erstellt werden Folgende Schritte sind dazu notwendig
221 Anlegen des Host Account Users
Siehe auch [1]
1 Der Name des Users kann frei gewaumlhlt werden
2 Uumlberpruumlfen ob fuumlr diesen Account schon ein SPN existiert
setspn ndashL ltaccountgt
Wenn ein SPN existiert diesen loumlschen
setspn ndashD ltSPNgt ltaccountgt
3 Wenn AES Encryption benutzt wird zB wenn Encryption Typ auf All gesetzt wird
Eigenschaften des Accounts aufrufen und im Account Reiter folgende Checkboxen markieren
- The account supports Kerberos AES 128 bit encryption
- The account supports Kerberos AES 256 bit encryption
Die ldquoDo not require Kerberos preauthentication boxrdquo nicht markieren
Den OK Button betaumltigen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 9
222 Generieren der keytab-Datei
Im Folgenden werden die Befehle mit Beispieldaten aufgelistet Siehe auch [1]
1 keytab-Datei generieren
Der Befehl muss auf dem AD Server ausgefuumlhrt werden
Befehl
ktpass -princ HTTPlthost namedomaingtltAD domaingt -pass ltpasswordgt -mapuser ltaccount
namegt -out ltkeytab namegt -ptype KRB5_NT_PRINCIPAL -kvno 0 -crypto ltALL or RC4-HMAC-NTgt
Hier ist sehr wichtig dass die AD domain immer groszlig geschrieben wird
Beispiel (mit Konsolenausgabe)
cgtktpass -princ HTTP[host]sivdeSIVDE -pass welcome -mapuser [user]SIVDE -out
testkeytab -ptype KRB5_NT_PRINCIPAL -crypto ALL
Targeting domain controller ADS01sivde
Successfully mapped HTTP[host]sivde to soatestuser
Password succesfully set
Key created
Key created
Key created
Key created
Key created
Output keytab to testkeytab
Keytab version 0x502
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-
CBC-CRC) keylength 8 (0xfbcd0ba2f7867068)
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-
CBC-MD5) keylength 8 (0xfbcd0ba2f7867068)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-
HMAC) keylength 16 (0x42ef711ec1d99ef24107549b5893b9af)
keysize 88 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12
(AES256-SHA1) keylength 32
(0x440fe6feef24f3eaa565e7b9adf667e9b6cedcfe42d2898c4c1d4956b9d0a94a)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11
(AES128-SHA1) keylength 16 (0x816fbefc76bcd97ef3ec7dc2971b09f5)
223 Uumlberpruumlfen des SPN
Befehl
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 10
setspn -L ltaccountgt
Beispiel mit Ausgabe
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivde
224 Weitere SPN hinzufuumlgen
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Befehl
setspn ndasha ltSPNgt ltaccountgt
Beispiele mit Ausgaben
cgtsetspn -a HTTP[host]sivdeSIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]sivdeSIVDE
Aktualisiertes Objekt
cgtsetspn -L [uer]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivdeSIVDE
HTTP[host]sivde
cgtsetspn -a HTTP[host]SIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]SIVDE
Aktualisiertes Objekt
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]SIVDE
HTTP[host]sivdeSIVDE
HTTP[host]sivde
23 Kerberos-Konfiguration auf dem Linux-Server
Verwendete Dokumente fuumlr dieses Kapitel [1]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Copyright SIVAG 2014 - Alle Rechte vorbehalten
Die SIVAG uumlbernimmt fuumlr die Fehlerfreiheit der beschriebenen Programmteile keine Haftung Auszligerdem wird keine
Gewaumlhr dafuumlr uumlbernommen dass die beschriebenen Verfahren Programme usw frei von Schutzrechten Dritter sind
Alle Rechte auch die der Uumlbersetzung sind vorbehalten Die Bedienungsanleitung (auch auszugsweise) darf ohne
schriftliche Genehmigung der SIVAG in keiner Form (Fotokopie Mikrofilm oder ein Verfahren wie Kopieren auf
Disketten oder Magnetbaumlnder) auch nicht fuumlr Zwecke der Unterrichtsgestaltung reproduziert oder unter Verwendung
elektronischer Systeme verarbeitet vervielfaumlltigt oder verbreitet werden
Da stetig an der Weiterentwicklung der Programme gearbeitet wird stimmen einzelne Meldungen nur sinngemaumlszlig mit
denen der Produktbeschreibung uumlberein Die vorliegende Produktbeschreibung erhebt keinen Anspruch auf
Vollstaumlndigkeit und kann durch SIVAG jederzeit ohne vorherige Ankuumlndigung ergaumlnzt und geaumlndert werden
ORACLEreg ist ein eingetragenes Warenzeichen der ORACLE Corporation Kalifornien USA
UNIXreg ist ein eingetragenes Warenzeichen der SCO Santa Cruz Operation
WINDOWSreg WINDOWS NTreg sind eingetragene Warenzeichen der Microsoft Corporation
ProFibreg ist ein eingetragenes Warenzeichen der Szymaniak Software GmbH
VARIALreg ist ein eingetragenes Warenzeichen der ISB GmbH
LOHN XLXXLreg ist ein eingetragenes Warenzeichen der SOFT-RESEARCH GmbH
Alle weiteren verwendeten Produktnamen koumlnnen eingetragene Warenzeichen der jeweiligen Eigentuumlmer sein
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Inhalt
SIVAG 2014 I
Inhalt
1 EINLEITUNG 2
11 Ausgangssituation 2
12 Zielsetzung 2
13 Loumlsungsbeschreibung 2
14 Was ist Kerberos 2
15 Beteiligte Systeme 3
2 UMSETZUNG 3
21 Voraussetzungen 3
211 Zeitabgleich 3
212 Sicherung anlegen 4
213 Windows WCF Net Applikation (kVASy Outlook Add In) 4
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service Bus (OSB) 8
22 Anlegen des Active Directory Host Account User 8
221 Anlegen des Host Account Users 8
222 Generieren der keytab-Datei 9
223 Uumlberpruumlfen des SPN 9
224 Weitere SPN hinzufuumlgen 10
23 Kerberos-Konfiguration auf dem Linux-Server 10
231 Update der JDK Security Policy Files 11
232 Kopieren der keytab-Datei auf dem Linux-Server 11
233 Editieren der krb5conf-Datei auf dem Linux-Server 11
234 Testen des SPN und der keytab-Datei (notwendig) 12
235 Erstellen der krb5Loginconf 12
236 Editieren der setDomainEnvsh 13
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional) 13
238 Wenn etwas schief geht 15
239 OWSM konfigurieren 15
2310 OSB Web Service mit Policy sichern 19
24 Abschlieszligender Test des WCF Client 20
3 GLOSSARABKUumlRZUNGSVERZEICHNIS 20
4 QUELLEN 20
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Einleitung
SIVAG 2014 2
1 Einleitung
11 Ausgangssituation
Ein vorhandener Proxy Service im OSB (Oracle Service Bus) soll von einem Windows Client genutzt
werden Dabei soll zwischen dem Client und dem Service eine sichere Authentifizierung stattfinden
Hierfuumlr soll die Anmeldung am Windows-Rechner genutzt werden (SSO ndash Single Sign On)
Dieses Tutorial basiert auf einem Projekt der SIVAG Die SIVAG hat fuumlr Ihre Kunden ein Outlook
Add In entwickelt dass sich nahtlos in Outlook einbettet Wird auf eine E-Mail geklickt deren
Absender in kVASy bekannt ist dann werden zu diesem Absender Kundendaten angezeigt Der
Sachbearbeiter kann sich damit einen schnellen Uumlberblick uumlber den Kunden und seine letzten
Aktivitaumlten machen
kVASy ist das Hauptprodukt der SIVAG und wird bei ca 300 Kunden in der Energie- und
Wasserwirtschaft eingesetzt Siehe auch httpwwwsivde fuumlr weitere Informationen zur SIVAG und
ihren Produkten und Dienstleistungen
Das kVASy Outlook Add In wird in diesem Tutorial nicht weiter behandelt Stattdessen wird der
Windows Client an Hand eines WCF Net C-Konsolenprogramms erklaumlrt
12 Zielsetzung
Das Windows-Konsolen-Programm soll die Windows-Anmeldung des Benutzers nutzen Diese sollen
dem Webservice in einer sicheren Art und Weise uumlbertragen werden Der Webservice soll den
Benutzer uumlberpruumlfen und im Fall einer unberechtigten Nutzung ablehnen
13 Loumlsungsbeschreibung
Das Windows-Konsolen-Programm ist eine NET Applikation (NET Framework 45) die in der
Programmiersprache C erstellt wurde Das NET Framework bietet die Moumlglichkeit auf die
Windows-Anmeldung uumlber das Kerberosprotokoll zugreifen zu koumlnnen Die Anmeldedaten werden
dabei in Form eines Kerberos-Tickets zur Verfuumlgung gestellt Dieses Ticket kann dem Webservice
uumlbergeben werden Der Oracle Service Bus (OSB) ist unter Verwendung von Oracle Web Service
Manager (OWSM) Kerberos Policies in der Lage diese Tickets zu verarbeiten und die
Authentifizierung des Benutzers durchzufuumlhren
14 Was ist Kerberos
Fuumlr eine kurze Einfuumlhrung siehe [12] Eine genauere Beschreibung wie Kerberos in Windows
implementiert ist findet sich in [7] Eine sehr verstaumlndliche Beschreibung findet sich in [13] Und zum
Schluss mein Favorit Ein 10minuumltiges Video auf Youtube [15]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 3
15 Beteiligte Systeme
Abbildung 1
Abbildung 1 zeigt die beteiligten System
1 Windows Rechner mit installierten Net Client der auf einen Webservice auf dem Linux
Applikationen-Server zugreifen will
2 Linux-Applikation-Server mit installiertem Oracle OSB- SOA-Server kVASy5-Datenbank
und kVASy5-Geschaumlftsanwendung
3 Active Directory Server
Alle Systeme befinden sich in einem Netzwerk Der Windows-Rechner und der ADS befinden sich in
einer Windows-Domaumlne Der Windows Rechner ist in der Windows Domaumlne registriert Der Benutzer
der Windows Net Anwendung meldet sich an der Windows Domaumlne an und ist als User im Active
Directory registriert
2 Umsetzung
21 Voraussetzungen
211 Zeitabgleich
Die Uhren vom ADS MS-Windows-Client und Linux-Server muumlssen synchronisiert sein
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 4
212 Sicherung anlegen
Es wird empfohlen vor den Aumlnderungen eine Sicherung der Systeme anzulegen
Waumlhrend der Arbeiten wird empfohlen immer eine Sicherung der betroffenen config-Dateien zu
machen
u01apporacleMiddlewareuser_projectsdomainsprodconfigconfigxml
u01apporacleMiddlewareuser_projectsdomainsprodconfigfmwconfigjps-config-jsexml
u01apporacleMiddlewareuser_projectsdomainsprodconfigfmwconfigjps-configxml
213 Windows WCF Net Applikation (kVASy Outlook Add In)
In einer Net Entwicklungsumgebung wird ein simples WCF C Konsolenprogramm erzeugt Die fuumlr
uns wichtigen Bestandteile sind die Datei Programcs und Appconfig Programcs enthaumllt den
auszufuumlhrenden Programm-Code
using System
using SystemCollectionsGeneric
using SystemLinq
using SystemText
using SystemThreadingTasks
namespace KerberosConsoleClient
class Program
static void Main(string[] args)
try
CustomerTaskServiceV1Client client = new CustomerTaskServiceV1Client()
var titles = clientGetAssignmentTitle(new GetAssignmentTitle())
ConsoleWriteLine(Result)
titlesToList()ForEach(x =gt ConsoleWriteLine(x))
catch (Exception ex)
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 5
ConsoleWriteLine(0 1rn2 exGetType()Name exMessage exStackTrace)
ConsoleWriteLine(press ltENTERgt to exit)
ConsoleReadLine()
Erklaumlrung des Programmablaufs
Es wird ein Webservice Client initialisiert Der ruft die Webservice Operation GetAssignmentTitle auf
Die Titel werden dann in einer Liste ausgegeben
Die Datei Appconfig enthaumllt die Konfiguration des Programms
ltxml version=10 encoding=utf-8 gt
ltconfigurationgt
ltstartupgt
ltsupportedRuntime version=v40 sku=NETFrameworkVersion=v45 gt
ltstartupgt
ltsystemserviceModelgt
ltbindingsgt
ltbasicHttpBindinggt
ltbinding name=CustomerTaskServiceV1SOAPtest gt
ltbasicHttpBindinggt
ltcustomBindinggt
ltbinding name=CustomerTaskServiceV1SOAPgt
lt--Added by User Begin--gt
ltsecurity defaultAlgorithmSuite=Basic128
authenticationMode=Kerberos
requireDerivedKeys=false securityHeaderLayout=Lax
includeTimestamp=true
keyEntropyMode=CombinedEntropy
messageProtectionOrder=SignBeforeEncrypt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 6
messageSecurityVersion=WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary20
05WSSecurityPolicy11BasicSecurityProfile10
requireSignatureConfirmation=falsegt
ltlocalClientSettings cacheCookies=true detectReplays=true
replayCacheSize=900000 maxClockSkew=000500
maxCookieCachingTime=Infinite
replayWindow=000500
sessionKeyRenewalInterval=100000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
timestampValidityDuration=000500
cookieRenewalThresholdPercentage=60 gt
ltlocalServiceSettings detectReplays=true
issuedCookieLifetime=100000
maxStatefulNegotiations=128 replayCacheSize=900000
maxClockSkew=000500
negotiationTimeout=000100 replayWindow=000500
inactivityTimeout=000200
sessionKeyRenewalInterval=150000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
maxPendingSessions=128
maxCachedCookies=1000
timestampValidityDuration=000500 gt
ltsecureConversationBootstrap gt
ltsecuritygt
lt--Added by User End--gt
lttextMessageEncoding maxReadPoolSize=64
maxWritePoolSize=16
messageVersion=Soap11 writeEncoding=utf-8gt
ltreaderQuotas maxDepth=32 maxStringContentLength=8192
maxArrayLength=16384
maxBytesPerRead=4096 maxNameTableCharCount=16384
gt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 7
lttextMessageEncodinggt
lt--Added by User Begin--gt
lthttpTransport manualAddressing=false
maxBufferPoolSize=524288
maxReceivedMessageSize=65536 allowCookies=false
authenticationScheme=Anonymous
bypassProxyOnLocal=false
hostNameComparisonMode=StrongWildcard
keepAliveEnabled=true maxBufferSize=65536
proxyAuthenticationScheme=Anonymous
realm= transferMode=Buffered
unsafeConnectionNtlmAuthentication=false
useDefaultWebProxy=true gt
lt--Added by User End--gt
ltbindinggt
ltcustomBindinggt
ltbindingsgt
ltclientgt
ltendpoint address=http[host name]sivde8011[path]customerTaskServiceV1
binding=customBinding bindingConfiguration=CustomerTaskServiceV1SOAP
contract=CustomerTaskServiceV1 name=CustomerTaskServiceV1SOAPQSPort gt
ltidentitygt
ltservicePrincipalName value =HTTP[host name]sivdeSIVDEgt
ltidentitygt
ltendpointgt
ltclientgt
ltsystemserviceModelgt
ltconfigurationgt
Die Konfiguration eines Net Clients (Kerberos mit Message Protection) wird von Oracle in [6]
ausfuumlhrlich beschrieben Die roten Zeilen in der Appconfig zeigen wo wir Anpassungen fuumlr unsere
Umgebung vorgenommen haben
Als Betriebssystem wird Windows 7 Professional Service Pack 1 64 Bit verwendet
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 8
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service
Bus (OSB)
Oracle Linux Server release 6
OSB Server 11117
SOA Suite 11117
Java-Version der Weblogic-Server
java version 170_17
Active Directory Authentication provider
Dieser muss in der Oracle WebLogic Server Administration Console konfiguriert sein
1 Console aufrufen
Beispiel-URL http[host]7001console
2 Zur Seite Authentication Providers navigieren
- Auf der linken Seite in der Box Domain Structure den Menuumlpunkt Security Realms waumlhlen
- unter myrealm auswaumlhlen
- den Tab Providers waumlhlen
Der Provider muss an erster Stelle in der Liste stehen und das Control Flag des Providers muss auf
SUFFICIENT stehen
22 Anlegen des Active Directory Host Account User
Fuumlr die Kerberos-Konfiguration auf dem Linux-Server muss im AD ein Host Account User angelegt
konfiguriert und eine keytab-Datei erstellt werden Folgende Schritte sind dazu notwendig
221 Anlegen des Host Account Users
Siehe auch [1]
1 Der Name des Users kann frei gewaumlhlt werden
2 Uumlberpruumlfen ob fuumlr diesen Account schon ein SPN existiert
setspn ndashL ltaccountgt
Wenn ein SPN existiert diesen loumlschen
setspn ndashD ltSPNgt ltaccountgt
3 Wenn AES Encryption benutzt wird zB wenn Encryption Typ auf All gesetzt wird
Eigenschaften des Accounts aufrufen und im Account Reiter folgende Checkboxen markieren
- The account supports Kerberos AES 128 bit encryption
- The account supports Kerberos AES 256 bit encryption
Die ldquoDo not require Kerberos preauthentication boxrdquo nicht markieren
Den OK Button betaumltigen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 9
222 Generieren der keytab-Datei
Im Folgenden werden die Befehle mit Beispieldaten aufgelistet Siehe auch [1]
1 keytab-Datei generieren
Der Befehl muss auf dem AD Server ausgefuumlhrt werden
Befehl
ktpass -princ HTTPlthost namedomaingtltAD domaingt -pass ltpasswordgt -mapuser ltaccount
namegt -out ltkeytab namegt -ptype KRB5_NT_PRINCIPAL -kvno 0 -crypto ltALL or RC4-HMAC-NTgt
Hier ist sehr wichtig dass die AD domain immer groszlig geschrieben wird
Beispiel (mit Konsolenausgabe)
cgtktpass -princ HTTP[host]sivdeSIVDE -pass welcome -mapuser [user]SIVDE -out
testkeytab -ptype KRB5_NT_PRINCIPAL -crypto ALL
Targeting domain controller ADS01sivde
Successfully mapped HTTP[host]sivde to soatestuser
Password succesfully set
Key created
Key created
Key created
Key created
Key created
Output keytab to testkeytab
Keytab version 0x502
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-
CBC-CRC) keylength 8 (0xfbcd0ba2f7867068)
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-
CBC-MD5) keylength 8 (0xfbcd0ba2f7867068)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-
HMAC) keylength 16 (0x42ef711ec1d99ef24107549b5893b9af)
keysize 88 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12
(AES256-SHA1) keylength 32
(0x440fe6feef24f3eaa565e7b9adf667e9b6cedcfe42d2898c4c1d4956b9d0a94a)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11
(AES128-SHA1) keylength 16 (0x816fbefc76bcd97ef3ec7dc2971b09f5)
223 Uumlberpruumlfen des SPN
Befehl
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 10
setspn -L ltaccountgt
Beispiel mit Ausgabe
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivde
224 Weitere SPN hinzufuumlgen
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Befehl
setspn ndasha ltSPNgt ltaccountgt
Beispiele mit Ausgaben
cgtsetspn -a HTTP[host]sivdeSIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]sivdeSIVDE
Aktualisiertes Objekt
cgtsetspn -L [uer]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivdeSIVDE
HTTP[host]sivde
cgtsetspn -a HTTP[host]SIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]SIVDE
Aktualisiertes Objekt
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]SIVDE
HTTP[host]sivdeSIVDE
HTTP[host]sivde
23 Kerberos-Konfiguration auf dem Linux-Server
Verwendete Dokumente fuumlr dieses Kapitel [1]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Inhalt
SIVAG 2014 I
Inhalt
1 EINLEITUNG 2
11 Ausgangssituation 2
12 Zielsetzung 2
13 Loumlsungsbeschreibung 2
14 Was ist Kerberos 2
15 Beteiligte Systeme 3
2 UMSETZUNG 3
21 Voraussetzungen 3
211 Zeitabgleich 3
212 Sicherung anlegen 4
213 Windows WCF Net Applikation (kVASy Outlook Add In) 4
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service Bus (OSB) 8
22 Anlegen des Active Directory Host Account User 8
221 Anlegen des Host Account Users 8
222 Generieren der keytab-Datei 9
223 Uumlberpruumlfen des SPN 9
224 Weitere SPN hinzufuumlgen 10
23 Kerberos-Konfiguration auf dem Linux-Server 10
231 Update der JDK Security Policy Files 11
232 Kopieren der keytab-Datei auf dem Linux-Server 11
233 Editieren der krb5conf-Datei auf dem Linux-Server 11
234 Testen des SPN und der keytab-Datei (notwendig) 12
235 Erstellen der krb5Loginconf 12
236 Editieren der setDomainEnvsh 13
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional) 13
238 Wenn etwas schief geht 15
239 OWSM konfigurieren 15
2310 OSB Web Service mit Policy sichern 19
24 Abschlieszligender Test des WCF Client 20
3 GLOSSARABKUumlRZUNGSVERZEICHNIS 20
4 QUELLEN 20
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Einleitung
SIVAG 2014 2
1 Einleitung
11 Ausgangssituation
Ein vorhandener Proxy Service im OSB (Oracle Service Bus) soll von einem Windows Client genutzt
werden Dabei soll zwischen dem Client und dem Service eine sichere Authentifizierung stattfinden
Hierfuumlr soll die Anmeldung am Windows-Rechner genutzt werden (SSO ndash Single Sign On)
Dieses Tutorial basiert auf einem Projekt der SIVAG Die SIVAG hat fuumlr Ihre Kunden ein Outlook
Add In entwickelt dass sich nahtlos in Outlook einbettet Wird auf eine E-Mail geklickt deren
Absender in kVASy bekannt ist dann werden zu diesem Absender Kundendaten angezeigt Der
Sachbearbeiter kann sich damit einen schnellen Uumlberblick uumlber den Kunden und seine letzten
Aktivitaumlten machen
kVASy ist das Hauptprodukt der SIVAG und wird bei ca 300 Kunden in der Energie- und
Wasserwirtschaft eingesetzt Siehe auch httpwwwsivde fuumlr weitere Informationen zur SIVAG und
ihren Produkten und Dienstleistungen
Das kVASy Outlook Add In wird in diesem Tutorial nicht weiter behandelt Stattdessen wird der
Windows Client an Hand eines WCF Net C-Konsolenprogramms erklaumlrt
12 Zielsetzung
Das Windows-Konsolen-Programm soll die Windows-Anmeldung des Benutzers nutzen Diese sollen
dem Webservice in einer sicheren Art und Weise uumlbertragen werden Der Webservice soll den
Benutzer uumlberpruumlfen und im Fall einer unberechtigten Nutzung ablehnen
13 Loumlsungsbeschreibung
Das Windows-Konsolen-Programm ist eine NET Applikation (NET Framework 45) die in der
Programmiersprache C erstellt wurde Das NET Framework bietet die Moumlglichkeit auf die
Windows-Anmeldung uumlber das Kerberosprotokoll zugreifen zu koumlnnen Die Anmeldedaten werden
dabei in Form eines Kerberos-Tickets zur Verfuumlgung gestellt Dieses Ticket kann dem Webservice
uumlbergeben werden Der Oracle Service Bus (OSB) ist unter Verwendung von Oracle Web Service
Manager (OWSM) Kerberos Policies in der Lage diese Tickets zu verarbeiten und die
Authentifizierung des Benutzers durchzufuumlhren
14 Was ist Kerberos
Fuumlr eine kurze Einfuumlhrung siehe [12] Eine genauere Beschreibung wie Kerberos in Windows
implementiert ist findet sich in [7] Eine sehr verstaumlndliche Beschreibung findet sich in [13] Und zum
Schluss mein Favorit Ein 10minuumltiges Video auf Youtube [15]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 3
15 Beteiligte Systeme
Abbildung 1
Abbildung 1 zeigt die beteiligten System
1 Windows Rechner mit installierten Net Client der auf einen Webservice auf dem Linux
Applikationen-Server zugreifen will
2 Linux-Applikation-Server mit installiertem Oracle OSB- SOA-Server kVASy5-Datenbank
und kVASy5-Geschaumlftsanwendung
3 Active Directory Server
Alle Systeme befinden sich in einem Netzwerk Der Windows-Rechner und der ADS befinden sich in
einer Windows-Domaumlne Der Windows Rechner ist in der Windows Domaumlne registriert Der Benutzer
der Windows Net Anwendung meldet sich an der Windows Domaumlne an und ist als User im Active
Directory registriert
2 Umsetzung
21 Voraussetzungen
211 Zeitabgleich
Die Uhren vom ADS MS-Windows-Client und Linux-Server muumlssen synchronisiert sein
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 4
212 Sicherung anlegen
Es wird empfohlen vor den Aumlnderungen eine Sicherung der Systeme anzulegen
Waumlhrend der Arbeiten wird empfohlen immer eine Sicherung der betroffenen config-Dateien zu
machen
u01apporacleMiddlewareuser_projectsdomainsprodconfigconfigxml
u01apporacleMiddlewareuser_projectsdomainsprodconfigfmwconfigjps-config-jsexml
u01apporacleMiddlewareuser_projectsdomainsprodconfigfmwconfigjps-configxml
213 Windows WCF Net Applikation (kVASy Outlook Add In)
In einer Net Entwicklungsumgebung wird ein simples WCF C Konsolenprogramm erzeugt Die fuumlr
uns wichtigen Bestandteile sind die Datei Programcs und Appconfig Programcs enthaumllt den
auszufuumlhrenden Programm-Code
using System
using SystemCollectionsGeneric
using SystemLinq
using SystemText
using SystemThreadingTasks
namespace KerberosConsoleClient
class Program
static void Main(string[] args)
try
CustomerTaskServiceV1Client client = new CustomerTaskServiceV1Client()
var titles = clientGetAssignmentTitle(new GetAssignmentTitle())
ConsoleWriteLine(Result)
titlesToList()ForEach(x =gt ConsoleWriteLine(x))
catch (Exception ex)
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 5
ConsoleWriteLine(0 1rn2 exGetType()Name exMessage exStackTrace)
ConsoleWriteLine(press ltENTERgt to exit)
ConsoleReadLine()
Erklaumlrung des Programmablaufs
Es wird ein Webservice Client initialisiert Der ruft die Webservice Operation GetAssignmentTitle auf
Die Titel werden dann in einer Liste ausgegeben
Die Datei Appconfig enthaumllt die Konfiguration des Programms
ltxml version=10 encoding=utf-8 gt
ltconfigurationgt
ltstartupgt
ltsupportedRuntime version=v40 sku=NETFrameworkVersion=v45 gt
ltstartupgt
ltsystemserviceModelgt
ltbindingsgt
ltbasicHttpBindinggt
ltbinding name=CustomerTaskServiceV1SOAPtest gt
ltbasicHttpBindinggt
ltcustomBindinggt
ltbinding name=CustomerTaskServiceV1SOAPgt
lt--Added by User Begin--gt
ltsecurity defaultAlgorithmSuite=Basic128
authenticationMode=Kerberos
requireDerivedKeys=false securityHeaderLayout=Lax
includeTimestamp=true
keyEntropyMode=CombinedEntropy
messageProtectionOrder=SignBeforeEncrypt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 6
messageSecurityVersion=WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary20
05WSSecurityPolicy11BasicSecurityProfile10
requireSignatureConfirmation=falsegt
ltlocalClientSettings cacheCookies=true detectReplays=true
replayCacheSize=900000 maxClockSkew=000500
maxCookieCachingTime=Infinite
replayWindow=000500
sessionKeyRenewalInterval=100000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
timestampValidityDuration=000500
cookieRenewalThresholdPercentage=60 gt
ltlocalServiceSettings detectReplays=true
issuedCookieLifetime=100000
maxStatefulNegotiations=128 replayCacheSize=900000
maxClockSkew=000500
negotiationTimeout=000100 replayWindow=000500
inactivityTimeout=000200
sessionKeyRenewalInterval=150000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
maxPendingSessions=128
maxCachedCookies=1000
timestampValidityDuration=000500 gt
ltsecureConversationBootstrap gt
ltsecuritygt
lt--Added by User End--gt
lttextMessageEncoding maxReadPoolSize=64
maxWritePoolSize=16
messageVersion=Soap11 writeEncoding=utf-8gt
ltreaderQuotas maxDepth=32 maxStringContentLength=8192
maxArrayLength=16384
maxBytesPerRead=4096 maxNameTableCharCount=16384
gt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 7
lttextMessageEncodinggt
lt--Added by User Begin--gt
lthttpTransport manualAddressing=false
maxBufferPoolSize=524288
maxReceivedMessageSize=65536 allowCookies=false
authenticationScheme=Anonymous
bypassProxyOnLocal=false
hostNameComparisonMode=StrongWildcard
keepAliveEnabled=true maxBufferSize=65536
proxyAuthenticationScheme=Anonymous
realm= transferMode=Buffered
unsafeConnectionNtlmAuthentication=false
useDefaultWebProxy=true gt
lt--Added by User End--gt
ltbindinggt
ltcustomBindinggt
ltbindingsgt
ltclientgt
ltendpoint address=http[host name]sivde8011[path]customerTaskServiceV1
binding=customBinding bindingConfiguration=CustomerTaskServiceV1SOAP
contract=CustomerTaskServiceV1 name=CustomerTaskServiceV1SOAPQSPort gt
ltidentitygt
ltservicePrincipalName value =HTTP[host name]sivdeSIVDEgt
ltidentitygt
ltendpointgt
ltclientgt
ltsystemserviceModelgt
ltconfigurationgt
Die Konfiguration eines Net Clients (Kerberos mit Message Protection) wird von Oracle in [6]
ausfuumlhrlich beschrieben Die roten Zeilen in der Appconfig zeigen wo wir Anpassungen fuumlr unsere
Umgebung vorgenommen haben
Als Betriebssystem wird Windows 7 Professional Service Pack 1 64 Bit verwendet
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 8
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service
Bus (OSB)
Oracle Linux Server release 6
OSB Server 11117
SOA Suite 11117
Java-Version der Weblogic-Server
java version 170_17
Active Directory Authentication provider
Dieser muss in der Oracle WebLogic Server Administration Console konfiguriert sein
1 Console aufrufen
Beispiel-URL http[host]7001console
2 Zur Seite Authentication Providers navigieren
- Auf der linken Seite in der Box Domain Structure den Menuumlpunkt Security Realms waumlhlen
- unter myrealm auswaumlhlen
- den Tab Providers waumlhlen
Der Provider muss an erster Stelle in der Liste stehen und das Control Flag des Providers muss auf
SUFFICIENT stehen
22 Anlegen des Active Directory Host Account User
Fuumlr die Kerberos-Konfiguration auf dem Linux-Server muss im AD ein Host Account User angelegt
konfiguriert und eine keytab-Datei erstellt werden Folgende Schritte sind dazu notwendig
221 Anlegen des Host Account Users
Siehe auch [1]
1 Der Name des Users kann frei gewaumlhlt werden
2 Uumlberpruumlfen ob fuumlr diesen Account schon ein SPN existiert
setspn ndashL ltaccountgt
Wenn ein SPN existiert diesen loumlschen
setspn ndashD ltSPNgt ltaccountgt
3 Wenn AES Encryption benutzt wird zB wenn Encryption Typ auf All gesetzt wird
Eigenschaften des Accounts aufrufen und im Account Reiter folgende Checkboxen markieren
- The account supports Kerberos AES 128 bit encryption
- The account supports Kerberos AES 256 bit encryption
Die ldquoDo not require Kerberos preauthentication boxrdquo nicht markieren
Den OK Button betaumltigen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 9
222 Generieren der keytab-Datei
Im Folgenden werden die Befehle mit Beispieldaten aufgelistet Siehe auch [1]
1 keytab-Datei generieren
Der Befehl muss auf dem AD Server ausgefuumlhrt werden
Befehl
ktpass -princ HTTPlthost namedomaingtltAD domaingt -pass ltpasswordgt -mapuser ltaccount
namegt -out ltkeytab namegt -ptype KRB5_NT_PRINCIPAL -kvno 0 -crypto ltALL or RC4-HMAC-NTgt
Hier ist sehr wichtig dass die AD domain immer groszlig geschrieben wird
Beispiel (mit Konsolenausgabe)
cgtktpass -princ HTTP[host]sivdeSIVDE -pass welcome -mapuser [user]SIVDE -out
testkeytab -ptype KRB5_NT_PRINCIPAL -crypto ALL
Targeting domain controller ADS01sivde
Successfully mapped HTTP[host]sivde to soatestuser
Password succesfully set
Key created
Key created
Key created
Key created
Key created
Output keytab to testkeytab
Keytab version 0x502
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-
CBC-CRC) keylength 8 (0xfbcd0ba2f7867068)
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-
CBC-MD5) keylength 8 (0xfbcd0ba2f7867068)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-
HMAC) keylength 16 (0x42ef711ec1d99ef24107549b5893b9af)
keysize 88 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12
(AES256-SHA1) keylength 32
(0x440fe6feef24f3eaa565e7b9adf667e9b6cedcfe42d2898c4c1d4956b9d0a94a)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11
(AES128-SHA1) keylength 16 (0x816fbefc76bcd97ef3ec7dc2971b09f5)
223 Uumlberpruumlfen des SPN
Befehl
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 10
setspn -L ltaccountgt
Beispiel mit Ausgabe
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivde
224 Weitere SPN hinzufuumlgen
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Befehl
setspn ndasha ltSPNgt ltaccountgt
Beispiele mit Ausgaben
cgtsetspn -a HTTP[host]sivdeSIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]sivdeSIVDE
Aktualisiertes Objekt
cgtsetspn -L [uer]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivdeSIVDE
HTTP[host]sivde
cgtsetspn -a HTTP[host]SIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]SIVDE
Aktualisiertes Objekt
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]SIVDE
HTTP[host]sivdeSIVDE
HTTP[host]sivde
23 Kerberos-Konfiguration auf dem Linux-Server
Verwendete Dokumente fuumlr dieses Kapitel [1]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Einleitung
SIVAG 2014 2
1 Einleitung
11 Ausgangssituation
Ein vorhandener Proxy Service im OSB (Oracle Service Bus) soll von einem Windows Client genutzt
werden Dabei soll zwischen dem Client und dem Service eine sichere Authentifizierung stattfinden
Hierfuumlr soll die Anmeldung am Windows-Rechner genutzt werden (SSO ndash Single Sign On)
Dieses Tutorial basiert auf einem Projekt der SIVAG Die SIVAG hat fuumlr Ihre Kunden ein Outlook
Add In entwickelt dass sich nahtlos in Outlook einbettet Wird auf eine E-Mail geklickt deren
Absender in kVASy bekannt ist dann werden zu diesem Absender Kundendaten angezeigt Der
Sachbearbeiter kann sich damit einen schnellen Uumlberblick uumlber den Kunden und seine letzten
Aktivitaumlten machen
kVASy ist das Hauptprodukt der SIVAG und wird bei ca 300 Kunden in der Energie- und
Wasserwirtschaft eingesetzt Siehe auch httpwwwsivde fuumlr weitere Informationen zur SIVAG und
ihren Produkten und Dienstleistungen
Das kVASy Outlook Add In wird in diesem Tutorial nicht weiter behandelt Stattdessen wird der
Windows Client an Hand eines WCF Net C-Konsolenprogramms erklaumlrt
12 Zielsetzung
Das Windows-Konsolen-Programm soll die Windows-Anmeldung des Benutzers nutzen Diese sollen
dem Webservice in einer sicheren Art und Weise uumlbertragen werden Der Webservice soll den
Benutzer uumlberpruumlfen und im Fall einer unberechtigten Nutzung ablehnen
13 Loumlsungsbeschreibung
Das Windows-Konsolen-Programm ist eine NET Applikation (NET Framework 45) die in der
Programmiersprache C erstellt wurde Das NET Framework bietet die Moumlglichkeit auf die
Windows-Anmeldung uumlber das Kerberosprotokoll zugreifen zu koumlnnen Die Anmeldedaten werden
dabei in Form eines Kerberos-Tickets zur Verfuumlgung gestellt Dieses Ticket kann dem Webservice
uumlbergeben werden Der Oracle Service Bus (OSB) ist unter Verwendung von Oracle Web Service
Manager (OWSM) Kerberos Policies in der Lage diese Tickets zu verarbeiten und die
Authentifizierung des Benutzers durchzufuumlhren
14 Was ist Kerberos
Fuumlr eine kurze Einfuumlhrung siehe [12] Eine genauere Beschreibung wie Kerberos in Windows
implementiert ist findet sich in [7] Eine sehr verstaumlndliche Beschreibung findet sich in [13] Und zum
Schluss mein Favorit Ein 10minuumltiges Video auf Youtube [15]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 3
15 Beteiligte Systeme
Abbildung 1
Abbildung 1 zeigt die beteiligten System
1 Windows Rechner mit installierten Net Client der auf einen Webservice auf dem Linux
Applikationen-Server zugreifen will
2 Linux-Applikation-Server mit installiertem Oracle OSB- SOA-Server kVASy5-Datenbank
und kVASy5-Geschaumlftsanwendung
3 Active Directory Server
Alle Systeme befinden sich in einem Netzwerk Der Windows-Rechner und der ADS befinden sich in
einer Windows-Domaumlne Der Windows Rechner ist in der Windows Domaumlne registriert Der Benutzer
der Windows Net Anwendung meldet sich an der Windows Domaumlne an und ist als User im Active
Directory registriert
2 Umsetzung
21 Voraussetzungen
211 Zeitabgleich
Die Uhren vom ADS MS-Windows-Client und Linux-Server muumlssen synchronisiert sein
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 4
212 Sicherung anlegen
Es wird empfohlen vor den Aumlnderungen eine Sicherung der Systeme anzulegen
Waumlhrend der Arbeiten wird empfohlen immer eine Sicherung der betroffenen config-Dateien zu
machen
u01apporacleMiddlewareuser_projectsdomainsprodconfigconfigxml
u01apporacleMiddlewareuser_projectsdomainsprodconfigfmwconfigjps-config-jsexml
u01apporacleMiddlewareuser_projectsdomainsprodconfigfmwconfigjps-configxml
213 Windows WCF Net Applikation (kVASy Outlook Add In)
In einer Net Entwicklungsumgebung wird ein simples WCF C Konsolenprogramm erzeugt Die fuumlr
uns wichtigen Bestandteile sind die Datei Programcs und Appconfig Programcs enthaumllt den
auszufuumlhrenden Programm-Code
using System
using SystemCollectionsGeneric
using SystemLinq
using SystemText
using SystemThreadingTasks
namespace KerberosConsoleClient
class Program
static void Main(string[] args)
try
CustomerTaskServiceV1Client client = new CustomerTaskServiceV1Client()
var titles = clientGetAssignmentTitle(new GetAssignmentTitle())
ConsoleWriteLine(Result)
titlesToList()ForEach(x =gt ConsoleWriteLine(x))
catch (Exception ex)
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 5
ConsoleWriteLine(0 1rn2 exGetType()Name exMessage exStackTrace)
ConsoleWriteLine(press ltENTERgt to exit)
ConsoleReadLine()
Erklaumlrung des Programmablaufs
Es wird ein Webservice Client initialisiert Der ruft die Webservice Operation GetAssignmentTitle auf
Die Titel werden dann in einer Liste ausgegeben
Die Datei Appconfig enthaumllt die Konfiguration des Programms
ltxml version=10 encoding=utf-8 gt
ltconfigurationgt
ltstartupgt
ltsupportedRuntime version=v40 sku=NETFrameworkVersion=v45 gt
ltstartupgt
ltsystemserviceModelgt
ltbindingsgt
ltbasicHttpBindinggt
ltbinding name=CustomerTaskServiceV1SOAPtest gt
ltbasicHttpBindinggt
ltcustomBindinggt
ltbinding name=CustomerTaskServiceV1SOAPgt
lt--Added by User Begin--gt
ltsecurity defaultAlgorithmSuite=Basic128
authenticationMode=Kerberos
requireDerivedKeys=false securityHeaderLayout=Lax
includeTimestamp=true
keyEntropyMode=CombinedEntropy
messageProtectionOrder=SignBeforeEncrypt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 6
messageSecurityVersion=WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary20
05WSSecurityPolicy11BasicSecurityProfile10
requireSignatureConfirmation=falsegt
ltlocalClientSettings cacheCookies=true detectReplays=true
replayCacheSize=900000 maxClockSkew=000500
maxCookieCachingTime=Infinite
replayWindow=000500
sessionKeyRenewalInterval=100000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
timestampValidityDuration=000500
cookieRenewalThresholdPercentage=60 gt
ltlocalServiceSettings detectReplays=true
issuedCookieLifetime=100000
maxStatefulNegotiations=128 replayCacheSize=900000
maxClockSkew=000500
negotiationTimeout=000100 replayWindow=000500
inactivityTimeout=000200
sessionKeyRenewalInterval=150000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
maxPendingSessions=128
maxCachedCookies=1000
timestampValidityDuration=000500 gt
ltsecureConversationBootstrap gt
ltsecuritygt
lt--Added by User End--gt
lttextMessageEncoding maxReadPoolSize=64
maxWritePoolSize=16
messageVersion=Soap11 writeEncoding=utf-8gt
ltreaderQuotas maxDepth=32 maxStringContentLength=8192
maxArrayLength=16384
maxBytesPerRead=4096 maxNameTableCharCount=16384
gt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 7
lttextMessageEncodinggt
lt--Added by User Begin--gt
lthttpTransport manualAddressing=false
maxBufferPoolSize=524288
maxReceivedMessageSize=65536 allowCookies=false
authenticationScheme=Anonymous
bypassProxyOnLocal=false
hostNameComparisonMode=StrongWildcard
keepAliveEnabled=true maxBufferSize=65536
proxyAuthenticationScheme=Anonymous
realm= transferMode=Buffered
unsafeConnectionNtlmAuthentication=false
useDefaultWebProxy=true gt
lt--Added by User End--gt
ltbindinggt
ltcustomBindinggt
ltbindingsgt
ltclientgt
ltendpoint address=http[host name]sivde8011[path]customerTaskServiceV1
binding=customBinding bindingConfiguration=CustomerTaskServiceV1SOAP
contract=CustomerTaskServiceV1 name=CustomerTaskServiceV1SOAPQSPort gt
ltidentitygt
ltservicePrincipalName value =HTTP[host name]sivdeSIVDEgt
ltidentitygt
ltendpointgt
ltclientgt
ltsystemserviceModelgt
ltconfigurationgt
Die Konfiguration eines Net Clients (Kerberos mit Message Protection) wird von Oracle in [6]
ausfuumlhrlich beschrieben Die roten Zeilen in der Appconfig zeigen wo wir Anpassungen fuumlr unsere
Umgebung vorgenommen haben
Als Betriebssystem wird Windows 7 Professional Service Pack 1 64 Bit verwendet
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 8
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service
Bus (OSB)
Oracle Linux Server release 6
OSB Server 11117
SOA Suite 11117
Java-Version der Weblogic-Server
java version 170_17
Active Directory Authentication provider
Dieser muss in der Oracle WebLogic Server Administration Console konfiguriert sein
1 Console aufrufen
Beispiel-URL http[host]7001console
2 Zur Seite Authentication Providers navigieren
- Auf der linken Seite in der Box Domain Structure den Menuumlpunkt Security Realms waumlhlen
- unter myrealm auswaumlhlen
- den Tab Providers waumlhlen
Der Provider muss an erster Stelle in der Liste stehen und das Control Flag des Providers muss auf
SUFFICIENT stehen
22 Anlegen des Active Directory Host Account User
Fuumlr die Kerberos-Konfiguration auf dem Linux-Server muss im AD ein Host Account User angelegt
konfiguriert und eine keytab-Datei erstellt werden Folgende Schritte sind dazu notwendig
221 Anlegen des Host Account Users
Siehe auch [1]
1 Der Name des Users kann frei gewaumlhlt werden
2 Uumlberpruumlfen ob fuumlr diesen Account schon ein SPN existiert
setspn ndashL ltaccountgt
Wenn ein SPN existiert diesen loumlschen
setspn ndashD ltSPNgt ltaccountgt
3 Wenn AES Encryption benutzt wird zB wenn Encryption Typ auf All gesetzt wird
Eigenschaften des Accounts aufrufen und im Account Reiter folgende Checkboxen markieren
- The account supports Kerberos AES 128 bit encryption
- The account supports Kerberos AES 256 bit encryption
Die ldquoDo not require Kerberos preauthentication boxrdquo nicht markieren
Den OK Button betaumltigen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 9
222 Generieren der keytab-Datei
Im Folgenden werden die Befehle mit Beispieldaten aufgelistet Siehe auch [1]
1 keytab-Datei generieren
Der Befehl muss auf dem AD Server ausgefuumlhrt werden
Befehl
ktpass -princ HTTPlthost namedomaingtltAD domaingt -pass ltpasswordgt -mapuser ltaccount
namegt -out ltkeytab namegt -ptype KRB5_NT_PRINCIPAL -kvno 0 -crypto ltALL or RC4-HMAC-NTgt
Hier ist sehr wichtig dass die AD domain immer groszlig geschrieben wird
Beispiel (mit Konsolenausgabe)
cgtktpass -princ HTTP[host]sivdeSIVDE -pass welcome -mapuser [user]SIVDE -out
testkeytab -ptype KRB5_NT_PRINCIPAL -crypto ALL
Targeting domain controller ADS01sivde
Successfully mapped HTTP[host]sivde to soatestuser
Password succesfully set
Key created
Key created
Key created
Key created
Key created
Output keytab to testkeytab
Keytab version 0x502
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-
CBC-CRC) keylength 8 (0xfbcd0ba2f7867068)
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-
CBC-MD5) keylength 8 (0xfbcd0ba2f7867068)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-
HMAC) keylength 16 (0x42ef711ec1d99ef24107549b5893b9af)
keysize 88 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12
(AES256-SHA1) keylength 32
(0x440fe6feef24f3eaa565e7b9adf667e9b6cedcfe42d2898c4c1d4956b9d0a94a)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11
(AES128-SHA1) keylength 16 (0x816fbefc76bcd97ef3ec7dc2971b09f5)
223 Uumlberpruumlfen des SPN
Befehl
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 10
setspn -L ltaccountgt
Beispiel mit Ausgabe
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivde
224 Weitere SPN hinzufuumlgen
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Befehl
setspn ndasha ltSPNgt ltaccountgt
Beispiele mit Ausgaben
cgtsetspn -a HTTP[host]sivdeSIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]sivdeSIVDE
Aktualisiertes Objekt
cgtsetspn -L [uer]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivdeSIVDE
HTTP[host]sivde
cgtsetspn -a HTTP[host]SIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]SIVDE
Aktualisiertes Objekt
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]SIVDE
HTTP[host]sivdeSIVDE
HTTP[host]sivde
23 Kerberos-Konfiguration auf dem Linux-Server
Verwendete Dokumente fuumlr dieses Kapitel [1]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 3
15 Beteiligte Systeme
Abbildung 1
Abbildung 1 zeigt die beteiligten System
1 Windows Rechner mit installierten Net Client der auf einen Webservice auf dem Linux
Applikationen-Server zugreifen will
2 Linux-Applikation-Server mit installiertem Oracle OSB- SOA-Server kVASy5-Datenbank
und kVASy5-Geschaumlftsanwendung
3 Active Directory Server
Alle Systeme befinden sich in einem Netzwerk Der Windows-Rechner und der ADS befinden sich in
einer Windows-Domaumlne Der Windows Rechner ist in der Windows Domaumlne registriert Der Benutzer
der Windows Net Anwendung meldet sich an der Windows Domaumlne an und ist als User im Active
Directory registriert
2 Umsetzung
21 Voraussetzungen
211 Zeitabgleich
Die Uhren vom ADS MS-Windows-Client und Linux-Server muumlssen synchronisiert sein
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 4
212 Sicherung anlegen
Es wird empfohlen vor den Aumlnderungen eine Sicherung der Systeme anzulegen
Waumlhrend der Arbeiten wird empfohlen immer eine Sicherung der betroffenen config-Dateien zu
machen
u01apporacleMiddlewareuser_projectsdomainsprodconfigconfigxml
u01apporacleMiddlewareuser_projectsdomainsprodconfigfmwconfigjps-config-jsexml
u01apporacleMiddlewareuser_projectsdomainsprodconfigfmwconfigjps-configxml
213 Windows WCF Net Applikation (kVASy Outlook Add In)
In einer Net Entwicklungsumgebung wird ein simples WCF C Konsolenprogramm erzeugt Die fuumlr
uns wichtigen Bestandteile sind die Datei Programcs und Appconfig Programcs enthaumllt den
auszufuumlhrenden Programm-Code
using System
using SystemCollectionsGeneric
using SystemLinq
using SystemText
using SystemThreadingTasks
namespace KerberosConsoleClient
class Program
static void Main(string[] args)
try
CustomerTaskServiceV1Client client = new CustomerTaskServiceV1Client()
var titles = clientGetAssignmentTitle(new GetAssignmentTitle())
ConsoleWriteLine(Result)
titlesToList()ForEach(x =gt ConsoleWriteLine(x))
catch (Exception ex)
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 5
ConsoleWriteLine(0 1rn2 exGetType()Name exMessage exStackTrace)
ConsoleWriteLine(press ltENTERgt to exit)
ConsoleReadLine()
Erklaumlrung des Programmablaufs
Es wird ein Webservice Client initialisiert Der ruft die Webservice Operation GetAssignmentTitle auf
Die Titel werden dann in einer Liste ausgegeben
Die Datei Appconfig enthaumllt die Konfiguration des Programms
ltxml version=10 encoding=utf-8 gt
ltconfigurationgt
ltstartupgt
ltsupportedRuntime version=v40 sku=NETFrameworkVersion=v45 gt
ltstartupgt
ltsystemserviceModelgt
ltbindingsgt
ltbasicHttpBindinggt
ltbinding name=CustomerTaskServiceV1SOAPtest gt
ltbasicHttpBindinggt
ltcustomBindinggt
ltbinding name=CustomerTaskServiceV1SOAPgt
lt--Added by User Begin--gt
ltsecurity defaultAlgorithmSuite=Basic128
authenticationMode=Kerberos
requireDerivedKeys=false securityHeaderLayout=Lax
includeTimestamp=true
keyEntropyMode=CombinedEntropy
messageProtectionOrder=SignBeforeEncrypt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 6
messageSecurityVersion=WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary20
05WSSecurityPolicy11BasicSecurityProfile10
requireSignatureConfirmation=falsegt
ltlocalClientSettings cacheCookies=true detectReplays=true
replayCacheSize=900000 maxClockSkew=000500
maxCookieCachingTime=Infinite
replayWindow=000500
sessionKeyRenewalInterval=100000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
timestampValidityDuration=000500
cookieRenewalThresholdPercentage=60 gt
ltlocalServiceSettings detectReplays=true
issuedCookieLifetime=100000
maxStatefulNegotiations=128 replayCacheSize=900000
maxClockSkew=000500
negotiationTimeout=000100 replayWindow=000500
inactivityTimeout=000200
sessionKeyRenewalInterval=150000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
maxPendingSessions=128
maxCachedCookies=1000
timestampValidityDuration=000500 gt
ltsecureConversationBootstrap gt
ltsecuritygt
lt--Added by User End--gt
lttextMessageEncoding maxReadPoolSize=64
maxWritePoolSize=16
messageVersion=Soap11 writeEncoding=utf-8gt
ltreaderQuotas maxDepth=32 maxStringContentLength=8192
maxArrayLength=16384
maxBytesPerRead=4096 maxNameTableCharCount=16384
gt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 7
lttextMessageEncodinggt
lt--Added by User Begin--gt
lthttpTransport manualAddressing=false
maxBufferPoolSize=524288
maxReceivedMessageSize=65536 allowCookies=false
authenticationScheme=Anonymous
bypassProxyOnLocal=false
hostNameComparisonMode=StrongWildcard
keepAliveEnabled=true maxBufferSize=65536
proxyAuthenticationScheme=Anonymous
realm= transferMode=Buffered
unsafeConnectionNtlmAuthentication=false
useDefaultWebProxy=true gt
lt--Added by User End--gt
ltbindinggt
ltcustomBindinggt
ltbindingsgt
ltclientgt
ltendpoint address=http[host name]sivde8011[path]customerTaskServiceV1
binding=customBinding bindingConfiguration=CustomerTaskServiceV1SOAP
contract=CustomerTaskServiceV1 name=CustomerTaskServiceV1SOAPQSPort gt
ltidentitygt
ltservicePrincipalName value =HTTP[host name]sivdeSIVDEgt
ltidentitygt
ltendpointgt
ltclientgt
ltsystemserviceModelgt
ltconfigurationgt
Die Konfiguration eines Net Clients (Kerberos mit Message Protection) wird von Oracle in [6]
ausfuumlhrlich beschrieben Die roten Zeilen in der Appconfig zeigen wo wir Anpassungen fuumlr unsere
Umgebung vorgenommen haben
Als Betriebssystem wird Windows 7 Professional Service Pack 1 64 Bit verwendet
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 8
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service
Bus (OSB)
Oracle Linux Server release 6
OSB Server 11117
SOA Suite 11117
Java-Version der Weblogic-Server
java version 170_17
Active Directory Authentication provider
Dieser muss in der Oracle WebLogic Server Administration Console konfiguriert sein
1 Console aufrufen
Beispiel-URL http[host]7001console
2 Zur Seite Authentication Providers navigieren
- Auf der linken Seite in der Box Domain Structure den Menuumlpunkt Security Realms waumlhlen
- unter myrealm auswaumlhlen
- den Tab Providers waumlhlen
Der Provider muss an erster Stelle in der Liste stehen und das Control Flag des Providers muss auf
SUFFICIENT stehen
22 Anlegen des Active Directory Host Account User
Fuumlr die Kerberos-Konfiguration auf dem Linux-Server muss im AD ein Host Account User angelegt
konfiguriert und eine keytab-Datei erstellt werden Folgende Schritte sind dazu notwendig
221 Anlegen des Host Account Users
Siehe auch [1]
1 Der Name des Users kann frei gewaumlhlt werden
2 Uumlberpruumlfen ob fuumlr diesen Account schon ein SPN existiert
setspn ndashL ltaccountgt
Wenn ein SPN existiert diesen loumlschen
setspn ndashD ltSPNgt ltaccountgt
3 Wenn AES Encryption benutzt wird zB wenn Encryption Typ auf All gesetzt wird
Eigenschaften des Accounts aufrufen und im Account Reiter folgende Checkboxen markieren
- The account supports Kerberos AES 128 bit encryption
- The account supports Kerberos AES 256 bit encryption
Die ldquoDo not require Kerberos preauthentication boxrdquo nicht markieren
Den OK Button betaumltigen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 9
222 Generieren der keytab-Datei
Im Folgenden werden die Befehle mit Beispieldaten aufgelistet Siehe auch [1]
1 keytab-Datei generieren
Der Befehl muss auf dem AD Server ausgefuumlhrt werden
Befehl
ktpass -princ HTTPlthost namedomaingtltAD domaingt -pass ltpasswordgt -mapuser ltaccount
namegt -out ltkeytab namegt -ptype KRB5_NT_PRINCIPAL -kvno 0 -crypto ltALL or RC4-HMAC-NTgt
Hier ist sehr wichtig dass die AD domain immer groszlig geschrieben wird
Beispiel (mit Konsolenausgabe)
cgtktpass -princ HTTP[host]sivdeSIVDE -pass welcome -mapuser [user]SIVDE -out
testkeytab -ptype KRB5_NT_PRINCIPAL -crypto ALL
Targeting domain controller ADS01sivde
Successfully mapped HTTP[host]sivde to soatestuser
Password succesfully set
Key created
Key created
Key created
Key created
Key created
Output keytab to testkeytab
Keytab version 0x502
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-
CBC-CRC) keylength 8 (0xfbcd0ba2f7867068)
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-
CBC-MD5) keylength 8 (0xfbcd0ba2f7867068)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-
HMAC) keylength 16 (0x42ef711ec1d99ef24107549b5893b9af)
keysize 88 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12
(AES256-SHA1) keylength 32
(0x440fe6feef24f3eaa565e7b9adf667e9b6cedcfe42d2898c4c1d4956b9d0a94a)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11
(AES128-SHA1) keylength 16 (0x816fbefc76bcd97ef3ec7dc2971b09f5)
223 Uumlberpruumlfen des SPN
Befehl
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 10
setspn -L ltaccountgt
Beispiel mit Ausgabe
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivde
224 Weitere SPN hinzufuumlgen
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Befehl
setspn ndasha ltSPNgt ltaccountgt
Beispiele mit Ausgaben
cgtsetspn -a HTTP[host]sivdeSIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]sivdeSIVDE
Aktualisiertes Objekt
cgtsetspn -L [uer]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivdeSIVDE
HTTP[host]sivde
cgtsetspn -a HTTP[host]SIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]SIVDE
Aktualisiertes Objekt
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]SIVDE
HTTP[host]sivdeSIVDE
HTTP[host]sivde
23 Kerberos-Konfiguration auf dem Linux-Server
Verwendete Dokumente fuumlr dieses Kapitel [1]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 4
212 Sicherung anlegen
Es wird empfohlen vor den Aumlnderungen eine Sicherung der Systeme anzulegen
Waumlhrend der Arbeiten wird empfohlen immer eine Sicherung der betroffenen config-Dateien zu
machen
u01apporacleMiddlewareuser_projectsdomainsprodconfigconfigxml
u01apporacleMiddlewareuser_projectsdomainsprodconfigfmwconfigjps-config-jsexml
u01apporacleMiddlewareuser_projectsdomainsprodconfigfmwconfigjps-configxml
213 Windows WCF Net Applikation (kVASy Outlook Add In)
In einer Net Entwicklungsumgebung wird ein simples WCF C Konsolenprogramm erzeugt Die fuumlr
uns wichtigen Bestandteile sind die Datei Programcs und Appconfig Programcs enthaumllt den
auszufuumlhrenden Programm-Code
using System
using SystemCollectionsGeneric
using SystemLinq
using SystemText
using SystemThreadingTasks
namespace KerberosConsoleClient
class Program
static void Main(string[] args)
try
CustomerTaskServiceV1Client client = new CustomerTaskServiceV1Client()
var titles = clientGetAssignmentTitle(new GetAssignmentTitle())
ConsoleWriteLine(Result)
titlesToList()ForEach(x =gt ConsoleWriteLine(x))
catch (Exception ex)
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 5
ConsoleWriteLine(0 1rn2 exGetType()Name exMessage exStackTrace)
ConsoleWriteLine(press ltENTERgt to exit)
ConsoleReadLine()
Erklaumlrung des Programmablaufs
Es wird ein Webservice Client initialisiert Der ruft die Webservice Operation GetAssignmentTitle auf
Die Titel werden dann in einer Liste ausgegeben
Die Datei Appconfig enthaumllt die Konfiguration des Programms
ltxml version=10 encoding=utf-8 gt
ltconfigurationgt
ltstartupgt
ltsupportedRuntime version=v40 sku=NETFrameworkVersion=v45 gt
ltstartupgt
ltsystemserviceModelgt
ltbindingsgt
ltbasicHttpBindinggt
ltbinding name=CustomerTaskServiceV1SOAPtest gt
ltbasicHttpBindinggt
ltcustomBindinggt
ltbinding name=CustomerTaskServiceV1SOAPgt
lt--Added by User Begin--gt
ltsecurity defaultAlgorithmSuite=Basic128
authenticationMode=Kerberos
requireDerivedKeys=false securityHeaderLayout=Lax
includeTimestamp=true
keyEntropyMode=CombinedEntropy
messageProtectionOrder=SignBeforeEncrypt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 6
messageSecurityVersion=WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary20
05WSSecurityPolicy11BasicSecurityProfile10
requireSignatureConfirmation=falsegt
ltlocalClientSettings cacheCookies=true detectReplays=true
replayCacheSize=900000 maxClockSkew=000500
maxCookieCachingTime=Infinite
replayWindow=000500
sessionKeyRenewalInterval=100000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
timestampValidityDuration=000500
cookieRenewalThresholdPercentage=60 gt
ltlocalServiceSettings detectReplays=true
issuedCookieLifetime=100000
maxStatefulNegotiations=128 replayCacheSize=900000
maxClockSkew=000500
negotiationTimeout=000100 replayWindow=000500
inactivityTimeout=000200
sessionKeyRenewalInterval=150000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
maxPendingSessions=128
maxCachedCookies=1000
timestampValidityDuration=000500 gt
ltsecureConversationBootstrap gt
ltsecuritygt
lt--Added by User End--gt
lttextMessageEncoding maxReadPoolSize=64
maxWritePoolSize=16
messageVersion=Soap11 writeEncoding=utf-8gt
ltreaderQuotas maxDepth=32 maxStringContentLength=8192
maxArrayLength=16384
maxBytesPerRead=4096 maxNameTableCharCount=16384
gt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 7
lttextMessageEncodinggt
lt--Added by User Begin--gt
lthttpTransport manualAddressing=false
maxBufferPoolSize=524288
maxReceivedMessageSize=65536 allowCookies=false
authenticationScheme=Anonymous
bypassProxyOnLocal=false
hostNameComparisonMode=StrongWildcard
keepAliveEnabled=true maxBufferSize=65536
proxyAuthenticationScheme=Anonymous
realm= transferMode=Buffered
unsafeConnectionNtlmAuthentication=false
useDefaultWebProxy=true gt
lt--Added by User End--gt
ltbindinggt
ltcustomBindinggt
ltbindingsgt
ltclientgt
ltendpoint address=http[host name]sivde8011[path]customerTaskServiceV1
binding=customBinding bindingConfiguration=CustomerTaskServiceV1SOAP
contract=CustomerTaskServiceV1 name=CustomerTaskServiceV1SOAPQSPort gt
ltidentitygt
ltservicePrincipalName value =HTTP[host name]sivdeSIVDEgt
ltidentitygt
ltendpointgt
ltclientgt
ltsystemserviceModelgt
ltconfigurationgt
Die Konfiguration eines Net Clients (Kerberos mit Message Protection) wird von Oracle in [6]
ausfuumlhrlich beschrieben Die roten Zeilen in der Appconfig zeigen wo wir Anpassungen fuumlr unsere
Umgebung vorgenommen haben
Als Betriebssystem wird Windows 7 Professional Service Pack 1 64 Bit verwendet
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 8
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service
Bus (OSB)
Oracle Linux Server release 6
OSB Server 11117
SOA Suite 11117
Java-Version der Weblogic-Server
java version 170_17
Active Directory Authentication provider
Dieser muss in der Oracle WebLogic Server Administration Console konfiguriert sein
1 Console aufrufen
Beispiel-URL http[host]7001console
2 Zur Seite Authentication Providers navigieren
- Auf der linken Seite in der Box Domain Structure den Menuumlpunkt Security Realms waumlhlen
- unter myrealm auswaumlhlen
- den Tab Providers waumlhlen
Der Provider muss an erster Stelle in der Liste stehen und das Control Flag des Providers muss auf
SUFFICIENT stehen
22 Anlegen des Active Directory Host Account User
Fuumlr die Kerberos-Konfiguration auf dem Linux-Server muss im AD ein Host Account User angelegt
konfiguriert und eine keytab-Datei erstellt werden Folgende Schritte sind dazu notwendig
221 Anlegen des Host Account Users
Siehe auch [1]
1 Der Name des Users kann frei gewaumlhlt werden
2 Uumlberpruumlfen ob fuumlr diesen Account schon ein SPN existiert
setspn ndashL ltaccountgt
Wenn ein SPN existiert diesen loumlschen
setspn ndashD ltSPNgt ltaccountgt
3 Wenn AES Encryption benutzt wird zB wenn Encryption Typ auf All gesetzt wird
Eigenschaften des Accounts aufrufen und im Account Reiter folgende Checkboxen markieren
- The account supports Kerberos AES 128 bit encryption
- The account supports Kerberos AES 256 bit encryption
Die ldquoDo not require Kerberos preauthentication boxrdquo nicht markieren
Den OK Button betaumltigen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 9
222 Generieren der keytab-Datei
Im Folgenden werden die Befehle mit Beispieldaten aufgelistet Siehe auch [1]
1 keytab-Datei generieren
Der Befehl muss auf dem AD Server ausgefuumlhrt werden
Befehl
ktpass -princ HTTPlthost namedomaingtltAD domaingt -pass ltpasswordgt -mapuser ltaccount
namegt -out ltkeytab namegt -ptype KRB5_NT_PRINCIPAL -kvno 0 -crypto ltALL or RC4-HMAC-NTgt
Hier ist sehr wichtig dass die AD domain immer groszlig geschrieben wird
Beispiel (mit Konsolenausgabe)
cgtktpass -princ HTTP[host]sivdeSIVDE -pass welcome -mapuser [user]SIVDE -out
testkeytab -ptype KRB5_NT_PRINCIPAL -crypto ALL
Targeting domain controller ADS01sivde
Successfully mapped HTTP[host]sivde to soatestuser
Password succesfully set
Key created
Key created
Key created
Key created
Key created
Output keytab to testkeytab
Keytab version 0x502
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-
CBC-CRC) keylength 8 (0xfbcd0ba2f7867068)
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-
CBC-MD5) keylength 8 (0xfbcd0ba2f7867068)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-
HMAC) keylength 16 (0x42ef711ec1d99ef24107549b5893b9af)
keysize 88 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12
(AES256-SHA1) keylength 32
(0x440fe6feef24f3eaa565e7b9adf667e9b6cedcfe42d2898c4c1d4956b9d0a94a)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11
(AES128-SHA1) keylength 16 (0x816fbefc76bcd97ef3ec7dc2971b09f5)
223 Uumlberpruumlfen des SPN
Befehl
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 10
setspn -L ltaccountgt
Beispiel mit Ausgabe
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivde
224 Weitere SPN hinzufuumlgen
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Befehl
setspn ndasha ltSPNgt ltaccountgt
Beispiele mit Ausgaben
cgtsetspn -a HTTP[host]sivdeSIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]sivdeSIVDE
Aktualisiertes Objekt
cgtsetspn -L [uer]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivdeSIVDE
HTTP[host]sivde
cgtsetspn -a HTTP[host]SIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]SIVDE
Aktualisiertes Objekt
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]SIVDE
HTTP[host]sivdeSIVDE
HTTP[host]sivde
23 Kerberos-Konfiguration auf dem Linux-Server
Verwendete Dokumente fuumlr dieses Kapitel [1]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 5
ConsoleWriteLine(0 1rn2 exGetType()Name exMessage exStackTrace)
ConsoleWriteLine(press ltENTERgt to exit)
ConsoleReadLine()
Erklaumlrung des Programmablaufs
Es wird ein Webservice Client initialisiert Der ruft die Webservice Operation GetAssignmentTitle auf
Die Titel werden dann in einer Liste ausgegeben
Die Datei Appconfig enthaumllt die Konfiguration des Programms
ltxml version=10 encoding=utf-8 gt
ltconfigurationgt
ltstartupgt
ltsupportedRuntime version=v40 sku=NETFrameworkVersion=v45 gt
ltstartupgt
ltsystemserviceModelgt
ltbindingsgt
ltbasicHttpBindinggt
ltbinding name=CustomerTaskServiceV1SOAPtest gt
ltbasicHttpBindinggt
ltcustomBindinggt
ltbinding name=CustomerTaskServiceV1SOAPgt
lt--Added by User Begin--gt
ltsecurity defaultAlgorithmSuite=Basic128
authenticationMode=Kerberos
requireDerivedKeys=false securityHeaderLayout=Lax
includeTimestamp=true
keyEntropyMode=CombinedEntropy
messageProtectionOrder=SignBeforeEncrypt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 6
messageSecurityVersion=WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary20
05WSSecurityPolicy11BasicSecurityProfile10
requireSignatureConfirmation=falsegt
ltlocalClientSettings cacheCookies=true detectReplays=true
replayCacheSize=900000 maxClockSkew=000500
maxCookieCachingTime=Infinite
replayWindow=000500
sessionKeyRenewalInterval=100000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
timestampValidityDuration=000500
cookieRenewalThresholdPercentage=60 gt
ltlocalServiceSettings detectReplays=true
issuedCookieLifetime=100000
maxStatefulNegotiations=128 replayCacheSize=900000
maxClockSkew=000500
negotiationTimeout=000100 replayWindow=000500
inactivityTimeout=000200
sessionKeyRenewalInterval=150000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
maxPendingSessions=128
maxCachedCookies=1000
timestampValidityDuration=000500 gt
ltsecureConversationBootstrap gt
ltsecuritygt
lt--Added by User End--gt
lttextMessageEncoding maxReadPoolSize=64
maxWritePoolSize=16
messageVersion=Soap11 writeEncoding=utf-8gt
ltreaderQuotas maxDepth=32 maxStringContentLength=8192
maxArrayLength=16384
maxBytesPerRead=4096 maxNameTableCharCount=16384
gt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 7
lttextMessageEncodinggt
lt--Added by User Begin--gt
lthttpTransport manualAddressing=false
maxBufferPoolSize=524288
maxReceivedMessageSize=65536 allowCookies=false
authenticationScheme=Anonymous
bypassProxyOnLocal=false
hostNameComparisonMode=StrongWildcard
keepAliveEnabled=true maxBufferSize=65536
proxyAuthenticationScheme=Anonymous
realm= transferMode=Buffered
unsafeConnectionNtlmAuthentication=false
useDefaultWebProxy=true gt
lt--Added by User End--gt
ltbindinggt
ltcustomBindinggt
ltbindingsgt
ltclientgt
ltendpoint address=http[host name]sivde8011[path]customerTaskServiceV1
binding=customBinding bindingConfiguration=CustomerTaskServiceV1SOAP
contract=CustomerTaskServiceV1 name=CustomerTaskServiceV1SOAPQSPort gt
ltidentitygt
ltservicePrincipalName value =HTTP[host name]sivdeSIVDEgt
ltidentitygt
ltendpointgt
ltclientgt
ltsystemserviceModelgt
ltconfigurationgt
Die Konfiguration eines Net Clients (Kerberos mit Message Protection) wird von Oracle in [6]
ausfuumlhrlich beschrieben Die roten Zeilen in der Appconfig zeigen wo wir Anpassungen fuumlr unsere
Umgebung vorgenommen haben
Als Betriebssystem wird Windows 7 Professional Service Pack 1 64 Bit verwendet
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 8
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service
Bus (OSB)
Oracle Linux Server release 6
OSB Server 11117
SOA Suite 11117
Java-Version der Weblogic-Server
java version 170_17
Active Directory Authentication provider
Dieser muss in der Oracle WebLogic Server Administration Console konfiguriert sein
1 Console aufrufen
Beispiel-URL http[host]7001console
2 Zur Seite Authentication Providers navigieren
- Auf der linken Seite in der Box Domain Structure den Menuumlpunkt Security Realms waumlhlen
- unter myrealm auswaumlhlen
- den Tab Providers waumlhlen
Der Provider muss an erster Stelle in der Liste stehen und das Control Flag des Providers muss auf
SUFFICIENT stehen
22 Anlegen des Active Directory Host Account User
Fuumlr die Kerberos-Konfiguration auf dem Linux-Server muss im AD ein Host Account User angelegt
konfiguriert und eine keytab-Datei erstellt werden Folgende Schritte sind dazu notwendig
221 Anlegen des Host Account Users
Siehe auch [1]
1 Der Name des Users kann frei gewaumlhlt werden
2 Uumlberpruumlfen ob fuumlr diesen Account schon ein SPN existiert
setspn ndashL ltaccountgt
Wenn ein SPN existiert diesen loumlschen
setspn ndashD ltSPNgt ltaccountgt
3 Wenn AES Encryption benutzt wird zB wenn Encryption Typ auf All gesetzt wird
Eigenschaften des Accounts aufrufen und im Account Reiter folgende Checkboxen markieren
- The account supports Kerberos AES 128 bit encryption
- The account supports Kerberos AES 256 bit encryption
Die ldquoDo not require Kerberos preauthentication boxrdquo nicht markieren
Den OK Button betaumltigen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 9
222 Generieren der keytab-Datei
Im Folgenden werden die Befehle mit Beispieldaten aufgelistet Siehe auch [1]
1 keytab-Datei generieren
Der Befehl muss auf dem AD Server ausgefuumlhrt werden
Befehl
ktpass -princ HTTPlthost namedomaingtltAD domaingt -pass ltpasswordgt -mapuser ltaccount
namegt -out ltkeytab namegt -ptype KRB5_NT_PRINCIPAL -kvno 0 -crypto ltALL or RC4-HMAC-NTgt
Hier ist sehr wichtig dass die AD domain immer groszlig geschrieben wird
Beispiel (mit Konsolenausgabe)
cgtktpass -princ HTTP[host]sivdeSIVDE -pass welcome -mapuser [user]SIVDE -out
testkeytab -ptype KRB5_NT_PRINCIPAL -crypto ALL
Targeting domain controller ADS01sivde
Successfully mapped HTTP[host]sivde to soatestuser
Password succesfully set
Key created
Key created
Key created
Key created
Key created
Output keytab to testkeytab
Keytab version 0x502
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-
CBC-CRC) keylength 8 (0xfbcd0ba2f7867068)
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-
CBC-MD5) keylength 8 (0xfbcd0ba2f7867068)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-
HMAC) keylength 16 (0x42ef711ec1d99ef24107549b5893b9af)
keysize 88 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12
(AES256-SHA1) keylength 32
(0x440fe6feef24f3eaa565e7b9adf667e9b6cedcfe42d2898c4c1d4956b9d0a94a)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11
(AES128-SHA1) keylength 16 (0x816fbefc76bcd97ef3ec7dc2971b09f5)
223 Uumlberpruumlfen des SPN
Befehl
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 10
setspn -L ltaccountgt
Beispiel mit Ausgabe
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivde
224 Weitere SPN hinzufuumlgen
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Befehl
setspn ndasha ltSPNgt ltaccountgt
Beispiele mit Ausgaben
cgtsetspn -a HTTP[host]sivdeSIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]sivdeSIVDE
Aktualisiertes Objekt
cgtsetspn -L [uer]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivdeSIVDE
HTTP[host]sivde
cgtsetspn -a HTTP[host]SIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]SIVDE
Aktualisiertes Objekt
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]SIVDE
HTTP[host]sivdeSIVDE
HTTP[host]sivde
23 Kerberos-Konfiguration auf dem Linux-Server
Verwendete Dokumente fuumlr dieses Kapitel [1]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 6
messageSecurityVersion=WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary20
05WSSecurityPolicy11BasicSecurityProfile10
requireSignatureConfirmation=falsegt
ltlocalClientSettings cacheCookies=true detectReplays=true
replayCacheSize=900000 maxClockSkew=000500
maxCookieCachingTime=Infinite
replayWindow=000500
sessionKeyRenewalInterval=100000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
timestampValidityDuration=000500
cookieRenewalThresholdPercentage=60 gt
ltlocalServiceSettings detectReplays=true
issuedCookieLifetime=100000
maxStatefulNegotiations=128 replayCacheSize=900000
maxClockSkew=000500
negotiationTimeout=000100 replayWindow=000500
inactivityTimeout=000200
sessionKeyRenewalInterval=150000
sessionKeyRolloverInterval=000500
reconnectTransportOnFailure=true
maxPendingSessions=128
maxCachedCookies=1000
timestampValidityDuration=000500 gt
ltsecureConversationBootstrap gt
ltsecuritygt
lt--Added by User End--gt
lttextMessageEncoding maxReadPoolSize=64
maxWritePoolSize=16
messageVersion=Soap11 writeEncoding=utf-8gt
ltreaderQuotas maxDepth=32 maxStringContentLength=8192
maxArrayLength=16384
maxBytesPerRead=4096 maxNameTableCharCount=16384
gt
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 7
lttextMessageEncodinggt
lt--Added by User Begin--gt
lthttpTransport manualAddressing=false
maxBufferPoolSize=524288
maxReceivedMessageSize=65536 allowCookies=false
authenticationScheme=Anonymous
bypassProxyOnLocal=false
hostNameComparisonMode=StrongWildcard
keepAliveEnabled=true maxBufferSize=65536
proxyAuthenticationScheme=Anonymous
realm= transferMode=Buffered
unsafeConnectionNtlmAuthentication=false
useDefaultWebProxy=true gt
lt--Added by User End--gt
ltbindinggt
ltcustomBindinggt
ltbindingsgt
ltclientgt
ltendpoint address=http[host name]sivde8011[path]customerTaskServiceV1
binding=customBinding bindingConfiguration=CustomerTaskServiceV1SOAP
contract=CustomerTaskServiceV1 name=CustomerTaskServiceV1SOAPQSPort gt
ltidentitygt
ltservicePrincipalName value =HTTP[host name]sivdeSIVDEgt
ltidentitygt
ltendpointgt
ltclientgt
ltsystemserviceModelgt
ltconfigurationgt
Die Konfiguration eines Net Clients (Kerberos mit Message Protection) wird von Oracle in [6]
ausfuumlhrlich beschrieben Die roten Zeilen in der Appconfig zeigen wo wir Anpassungen fuumlr unsere
Umgebung vorgenommen haben
Als Betriebssystem wird Windows 7 Professional Service Pack 1 64 Bit verwendet
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 8
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service
Bus (OSB)
Oracle Linux Server release 6
OSB Server 11117
SOA Suite 11117
Java-Version der Weblogic-Server
java version 170_17
Active Directory Authentication provider
Dieser muss in der Oracle WebLogic Server Administration Console konfiguriert sein
1 Console aufrufen
Beispiel-URL http[host]7001console
2 Zur Seite Authentication Providers navigieren
- Auf der linken Seite in der Box Domain Structure den Menuumlpunkt Security Realms waumlhlen
- unter myrealm auswaumlhlen
- den Tab Providers waumlhlen
Der Provider muss an erster Stelle in der Liste stehen und das Control Flag des Providers muss auf
SUFFICIENT stehen
22 Anlegen des Active Directory Host Account User
Fuumlr die Kerberos-Konfiguration auf dem Linux-Server muss im AD ein Host Account User angelegt
konfiguriert und eine keytab-Datei erstellt werden Folgende Schritte sind dazu notwendig
221 Anlegen des Host Account Users
Siehe auch [1]
1 Der Name des Users kann frei gewaumlhlt werden
2 Uumlberpruumlfen ob fuumlr diesen Account schon ein SPN existiert
setspn ndashL ltaccountgt
Wenn ein SPN existiert diesen loumlschen
setspn ndashD ltSPNgt ltaccountgt
3 Wenn AES Encryption benutzt wird zB wenn Encryption Typ auf All gesetzt wird
Eigenschaften des Accounts aufrufen und im Account Reiter folgende Checkboxen markieren
- The account supports Kerberos AES 128 bit encryption
- The account supports Kerberos AES 256 bit encryption
Die ldquoDo not require Kerberos preauthentication boxrdquo nicht markieren
Den OK Button betaumltigen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 9
222 Generieren der keytab-Datei
Im Folgenden werden die Befehle mit Beispieldaten aufgelistet Siehe auch [1]
1 keytab-Datei generieren
Der Befehl muss auf dem AD Server ausgefuumlhrt werden
Befehl
ktpass -princ HTTPlthost namedomaingtltAD domaingt -pass ltpasswordgt -mapuser ltaccount
namegt -out ltkeytab namegt -ptype KRB5_NT_PRINCIPAL -kvno 0 -crypto ltALL or RC4-HMAC-NTgt
Hier ist sehr wichtig dass die AD domain immer groszlig geschrieben wird
Beispiel (mit Konsolenausgabe)
cgtktpass -princ HTTP[host]sivdeSIVDE -pass welcome -mapuser [user]SIVDE -out
testkeytab -ptype KRB5_NT_PRINCIPAL -crypto ALL
Targeting domain controller ADS01sivde
Successfully mapped HTTP[host]sivde to soatestuser
Password succesfully set
Key created
Key created
Key created
Key created
Key created
Output keytab to testkeytab
Keytab version 0x502
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-
CBC-CRC) keylength 8 (0xfbcd0ba2f7867068)
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-
CBC-MD5) keylength 8 (0xfbcd0ba2f7867068)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-
HMAC) keylength 16 (0x42ef711ec1d99ef24107549b5893b9af)
keysize 88 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12
(AES256-SHA1) keylength 32
(0x440fe6feef24f3eaa565e7b9adf667e9b6cedcfe42d2898c4c1d4956b9d0a94a)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11
(AES128-SHA1) keylength 16 (0x816fbefc76bcd97ef3ec7dc2971b09f5)
223 Uumlberpruumlfen des SPN
Befehl
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 10
setspn -L ltaccountgt
Beispiel mit Ausgabe
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivde
224 Weitere SPN hinzufuumlgen
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Befehl
setspn ndasha ltSPNgt ltaccountgt
Beispiele mit Ausgaben
cgtsetspn -a HTTP[host]sivdeSIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]sivdeSIVDE
Aktualisiertes Objekt
cgtsetspn -L [uer]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivdeSIVDE
HTTP[host]sivde
cgtsetspn -a HTTP[host]SIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]SIVDE
Aktualisiertes Objekt
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]SIVDE
HTTP[host]sivdeSIVDE
HTTP[host]sivde
23 Kerberos-Konfiguration auf dem Linux-Server
Verwendete Dokumente fuumlr dieses Kapitel [1]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 7
lttextMessageEncodinggt
lt--Added by User Begin--gt
lthttpTransport manualAddressing=false
maxBufferPoolSize=524288
maxReceivedMessageSize=65536 allowCookies=false
authenticationScheme=Anonymous
bypassProxyOnLocal=false
hostNameComparisonMode=StrongWildcard
keepAliveEnabled=true maxBufferSize=65536
proxyAuthenticationScheme=Anonymous
realm= transferMode=Buffered
unsafeConnectionNtlmAuthentication=false
useDefaultWebProxy=true gt
lt--Added by User End--gt
ltbindinggt
ltcustomBindinggt
ltbindingsgt
ltclientgt
ltendpoint address=http[host name]sivde8011[path]customerTaskServiceV1
binding=customBinding bindingConfiguration=CustomerTaskServiceV1SOAP
contract=CustomerTaskServiceV1 name=CustomerTaskServiceV1SOAPQSPort gt
ltidentitygt
ltservicePrincipalName value =HTTP[host name]sivdeSIVDEgt
ltidentitygt
ltendpointgt
ltclientgt
ltsystemserviceModelgt
ltconfigurationgt
Die Konfiguration eines Net Clients (Kerberos mit Message Protection) wird von Oracle in [6]
ausfuumlhrlich beschrieben Die roten Zeilen in der Appconfig zeigen wo wir Anpassungen fuumlr unsere
Umgebung vorgenommen haben
Als Betriebssystem wird Windows 7 Professional Service Pack 1 64 Bit verwendet
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 8
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service
Bus (OSB)
Oracle Linux Server release 6
OSB Server 11117
SOA Suite 11117
Java-Version der Weblogic-Server
java version 170_17
Active Directory Authentication provider
Dieser muss in der Oracle WebLogic Server Administration Console konfiguriert sein
1 Console aufrufen
Beispiel-URL http[host]7001console
2 Zur Seite Authentication Providers navigieren
- Auf der linken Seite in der Box Domain Structure den Menuumlpunkt Security Realms waumlhlen
- unter myrealm auswaumlhlen
- den Tab Providers waumlhlen
Der Provider muss an erster Stelle in der Liste stehen und das Control Flag des Providers muss auf
SUFFICIENT stehen
22 Anlegen des Active Directory Host Account User
Fuumlr die Kerberos-Konfiguration auf dem Linux-Server muss im AD ein Host Account User angelegt
konfiguriert und eine keytab-Datei erstellt werden Folgende Schritte sind dazu notwendig
221 Anlegen des Host Account Users
Siehe auch [1]
1 Der Name des Users kann frei gewaumlhlt werden
2 Uumlberpruumlfen ob fuumlr diesen Account schon ein SPN existiert
setspn ndashL ltaccountgt
Wenn ein SPN existiert diesen loumlschen
setspn ndashD ltSPNgt ltaccountgt
3 Wenn AES Encryption benutzt wird zB wenn Encryption Typ auf All gesetzt wird
Eigenschaften des Accounts aufrufen und im Account Reiter folgende Checkboxen markieren
- The account supports Kerberos AES 128 bit encryption
- The account supports Kerberos AES 256 bit encryption
Die ldquoDo not require Kerberos preauthentication boxrdquo nicht markieren
Den OK Button betaumltigen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 9
222 Generieren der keytab-Datei
Im Folgenden werden die Befehle mit Beispieldaten aufgelistet Siehe auch [1]
1 keytab-Datei generieren
Der Befehl muss auf dem AD Server ausgefuumlhrt werden
Befehl
ktpass -princ HTTPlthost namedomaingtltAD domaingt -pass ltpasswordgt -mapuser ltaccount
namegt -out ltkeytab namegt -ptype KRB5_NT_PRINCIPAL -kvno 0 -crypto ltALL or RC4-HMAC-NTgt
Hier ist sehr wichtig dass die AD domain immer groszlig geschrieben wird
Beispiel (mit Konsolenausgabe)
cgtktpass -princ HTTP[host]sivdeSIVDE -pass welcome -mapuser [user]SIVDE -out
testkeytab -ptype KRB5_NT_PRINCIPAL -crypto ALL
Targeting domain controller ADS01sivde
Successfully mapped HTTP[host]sivde to soatestuser
Password succesfully set
Key created
Key created
Key created
Key created
Key created
Output keytab to testkeytab
Keytab version 0x502
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-
CBC-CRC) keylength 8 (0xfbcd0ba2f7867068)
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-
CBC-MD5) keylength 8 (0xfbcd0ba2f7867068)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-
HMAC) keylength 16 (0x42ef711ec1d99ef24107549b5893b9af)
keysize 88 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12
(AES256-SHA1) keylength 32
(0x440fe6feef24f3eaa565e7b9adf667e9b6cedcfe42d2898c4c1d4956b9d0a94a)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11
(AES128-SHA1) keylength 16 (0x816fbefc76bcd97ef3ec7dc2971b09f5)
223 Uumlberpruumlfen des SPN
Befehl
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 10
setspn -L ltaccountgt
Beispiel mit Ausgabe
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivde
224 Weitere SPN hinzufuumlgen
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Befehl
setspn ndasha ltSPNgt ltaccountgt
Beispiele mit Ausgaben
cgtsetspn -a HTTP[host]sivdeSIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]sivdeSIVDE
Aktualisiertes Objekt
cgtsetspn -L [uer]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivdeSIVDE
HTTP[host]sivde
cgtsetspn -a HTTP[host]SIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]SIVDE
Aktualisiertes Objekt
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]SIVDE
HTTP[host]sivdeSIVDE
HTTP[host]sivde
23 Kerberos-Konfiguration auf dem Linux-Server
Verwendete Dokumente fuumlr dieses Kapitel [1]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 8
214 Oracle Fusion Middleware (FMW) SOA Suite und Oracle Service
Bus (OSB)
Oracle Linux Server release 6
OSB Server 11117
SOA Suite 11117
Java-Version der Weblogic-Server
java version 170_17
Active Directory Authentication provider
Dieser muss in der Oracle WebLogic Server Administration Console konfiguriert sein
1 Console aufrufen
Beispiel-URL http[host]7001console
2 Zur Seite Authentication Providers navigieren
- Auf der linken Seite in der Box Domain Structure den Menuumlpunkt Security Realms waumlhlen
- unter myrealm auswaumlhlen
- den Tab Providers waumlhlen
Der Provider muss an erster Stelle in der Liste stehen und das Control Flag des Providers muss auf
SUFFICIENT stehen
22 Anlegen des Active Directory Host Account User
Fuumlr die Kerberos-Konfiguration auf dem Linux-Server muss im AD ein Host Account User angelegt
konfiguriert und eine keytab-Datei erstellt werden Folgende Schritte sind dazu notwendig
221 Anlegen des Host Account Users
Siehe auch [1]
1 Der Name des Users kann frei gewaumlhlt werden
2 Uumlberpruumlfen ob fuumlr diesen Account schon ein SPN existiert
setspn ndashL ltaccountgt
Wenn ein SPN existiert diesen loumlschen
setspn ndashD ltSPNgt ltaccountgt
3 Wenn AES Encryption benutzt wird zB wenn Encryption Typ auf All gesetzt wird
Eigenschaften des Accounts aufrufen und im Account Reiter folgende Checkboxen markieren
- The account supports Kerberos AES 128 bit encryption
- The account supports Kerberos AES 256 bit encryption
Die ldquoDo not require Kerberos preauthentication boxrdquo nicht markieren
Den OK Button betaumltigen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 9
222 Generieren der keytab-Datei
Im Folgenden werden die Befehle mit Beispieldaten aufgelistet Siehe auch [1]
1 keytab-Datei generieren
Der Befehl muss auf dem AD Server ausgefuumlhrt werden
Befehl
ktpass -princ HTTPlthost namedomaingtltAD domaingt -pass ltpasswordgt -mapuser ltaccount
namegt -out ltkeytab namegt -ptype KRB5_NT_PRINCIPAL -kvno 0 -crypto ltALL or RC4-HMAC-NTgt
Hier ist sehr wichtig dass die AD domain immer groszlig geschrieben wird
Beispiel (mit Konsolenausgabe)
cgtktpass -princ HTTP[host]sivdeSIVDE -pass welcome -mapuser [user]SIVDE -out
testkeytab -ptype KRB5_NT_PRINCIPAL -crypto ALL
Targeting domain controller ADS01sivde
Successfully mapped HTTP[host]sivde to soatestuser
Password succesfully set
Key created
Key created
Key created
Key created
Key created
Output keytab to testkeytab
Keytab version 0x502
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-
CBC-CRC) keylength 8 (0xfbcd0ba2f7867068)
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-
CBC-MD5) keylength 8 (0xfbcd0ba2f7867068)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-
HMAC) keylength 16 (0x42ef711ec1d99ef24107549b5893b9af)
keysize 88 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12
(AES256-SHA1) keylength 32
(0x440fe6feef24f3eaa565e7b9adf667e9b6cedcfe42d2898c4c1d4956b9d0a94a)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11
(AES128-SHA1) keylength 16 (0x816fbefc76bcd97ef3ec7dc2971b09f5)
223 Uumlberpruumlfen des SPN
Befehl
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 10
setspn -L ltaccountgt
Beispiel mit Ausgabe
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivde
224 Weitere SPN hinzufuumlgen
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Befehl
setspn ndasha ltSPNgt ltaccountgt
Beispiele mit Ausgaben
cgtsetspn -a HTTP[host]sivdeSIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]sivdeSIVDE
Aktualisiertes Objekt
cgtsetspn -L [uer]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivdeSIVDE
HTTP[host]sivde
cgtsetspn -a HTTP[host]SIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]SIVDE
Aktualisiertes Objekt
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]SIVDE
HTTP[host]sivdeSIVDE
HTTP[host]sivde
23 Kerberos-Konfiguration auf dem Linux-Server
Verwendete Dokumente fuumlr dieses Kapitel [1]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 9
222 Generieren der keytab-Datei
Im Folgenden werden die Befehle mit Beispieldaten aufgelistet Siehe auch [1]
1 keytab-Datei generieren
Der Befehl muss auf dem AD Server ausgefuumlhrt werden
Befehl
ktpass -princ HTTPlthost namedomaingtltAD domaingt -pass ltpasswordgt -mapuser ltaccount
namegt -out ltkeytab namegt -ptype KRB5_NT_PRINCIPAL -kvno 0 -crypto ltALL or RC4-HMAC-NTgt
Hier ist sehr wichtig dass die AD domain immer groszlig geschrieben wird
Beispiel (mit Konsolenausgabe)
cgtktpass -princ HTTP[host]sivdeSIVDE -pass welcome -mapuser [user]SIVDE -out
testkeytab -ptype KRB5_NT_PRINCIPAL -crypto ALL
Targeting domain controller ADS01sivde
Successfully mapped HTTP[host]sivde to soatestuser
Password succesfully set
Key created
Key created
Key created
Key created
Key created
Output keytab to testkeytab
Keytab version 0x502
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-
CBC-CRC) keylength 8 (0xfbcd0ba2f7867068)
keysize 64 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-
CBC-MD5) keylength 8 (0xfbcd0ba2f7867068)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-
HMAC) keylength 16 (0x42ef711ec1d99ef24107549b5893b9af)
keysize 88 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12
(AES256-SHA1) keylength 32
(0x440fe6feef24f3eaa565e7b9adf667e9b6cedcfe42d2898c4c1d4956b9d0a94a)
keysize 72 HTTP[host]sivdeSIVDE ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11
(AES128-SHA1) keylength 16 (0x816fbefc76bcd97ef3ec7dc2971b09f5)
223 Uumlberpruumlfen des SPN
Befehl
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 10
setspn -L ltaccountgt
Beispiel mit Ausgabe
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivde
224 Weitere SPN hinzufuumlgen
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Befehl
setspn ndasha ltSPNgt ltaccountgt
Beispiele mit Ausgaben
cgtsetspn -a HTTP[host]sivdeSIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]sivdeSIVDE
Aktualisiertes Objekt
cgtsetspn -L [uer]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivdeSIVDE
HTTP[host]sivde
cgtsetspn -a HTTP[host]SIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]SIVDE
Aktualisiertes Objekt
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]SIVDE
HTTP[host]sivdeSIVDE
HTTP[host]sivde
23 Kerberos-Konfiguration auf dem Linux-Server
Verwendete Dokumente fuumlr dieses Kapitel [1]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 10
setspn -L ltaccountgt
Beispiel mit Ausgabe
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivde
224 Weitere SPN hinzufuumlgen
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Befehl
setspn ndasha ltSPNgt ltaccountgt
Beispiele mit Ausgaben
cgtsetspn -a HTTP[host]sivdeSIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]sivdeSIVDE
Aktualisiertes Objekt
cgtsetspn -L [uer]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]sivdeSIVDE
HTTP[host]sivde
cgtsetspn -a HTTP[host]SIVDE soatestuser
Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de werden registriert
HTTP[host]SIVDE
Aktualisiertes Objekt
cgtsetspn -L [user]
Registrierte Dienstprinzipalnamen (SPN) fuumlr CN=[user]CN=UsersDC=sivDC=de
HTTP[host]SIVDE
HTTP[host]sivdeSIVDE
HTTP[host]sivde
23 Kerberos-Konfiguration auf dem Linux-Server
Verwendete Dokumente fuumlr dieses Kapitel [1]
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 11
231 Update der JDK Security Policy Files
Wenn AES-256 Encryption verwendet werden soll werden die Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files benoumltigt
Diese koumlnnen von [9] herunter geladen werden
Die Jurisdiction Policy Files entpacken
Entsprechend der Anleitung in der READMEtxt installieren Darauf achten dass das richtige
JDKJRE verwendet wird
232 Kopieren der keytab-Datei auf dem Linux-Server
Kopieren der keytab-Datei nach ltDomain-Homegt
Beispiel
[domain home path]testkeytab
233 Editieren der krb5conf-Datei auf dem Linux-Server
Bitte bei allen Konfigurationen immer auf die genaue Schreibweise achten Kleine Fehler fuumlhren hier
dazu dass die Kerberos-Konfiguration nicht funktioniert Es ist besonders auch auf die Groszlig- und
Kleinschreibung zu achten Die Beispiele zeigen wie es richtig gemacht werden muss
Die Datei befindet sich unter etckrb5conf und sollte folgenden Inhalt haben
[logging]
default = FILEvarlogkrb5libslog
kdc = FILEvarlogkrb5kdclog
admin_server = FILEvarlogkadmindlog
[libdefaults]
default_realm = SIVDE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 600
forwardable = true
[realms]
SIVDE =
kdc = adssivde
admin_server = adssivde
default_domain = SIVDE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 12
[domain_realm]
sivde = SIVDE
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Wichtig ist hier auf die Groszligschreibung von SIVDE an den entsprechenden Stellen zu achten
234 Testen des SPN und der keytab-Datei (notwendig)
In das Domain-Home wechseln
Folgendes Kommando ausfuumlhren binsetDomainEnvsh
Unbedingt den Punkt vor dem bin setzen
Mit diesem Befehl wird das Domain-Environment konfiguriert
In das Domain-Home wechseln
Befehl ausfuumlhren
kinit -V -k -t ltkeytab filegt HTTPlthost namedomaingtltdomaingt
Beispiel
kinit -V -k -t [domain home path]testkeytab HTTP[host]sivdeSIVDE
Ausgabe bei Erfolg
Using default cache tmpkrb5cc_54321
Using principal HTTP[host]sivdeSIVDE
Using keytab [domain home path]testkeytab
Authenticated to Kerberos v5
Nur wenn der rot markierte Text erscheint waren wir erfolgreich und koumlnnen weiter gehen Wenn
nicht zuruumlck zum Start und das Problem findenHiermit hat sich der Linux-Server gegenuumlber dem
KDC (ADS) authentisiert
235 Erstellen der krb5Loginconf
Die Datei im Domain-Verzeichnis erstellen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 13
Beispiel
[domain home path]krb5Loginconf
Inhalt
comsunsecurityjgsskrb5initiate
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
comsunsecurityjgsskrb5accept
comsunsecurityauthmoduleKrb5LoginModule required
principal=HTTP[host]sivdeSIVDE useKeyTab=true
keyTab=testkeytab storeKey=true
Nicht den kompletten Pfad zur keytab-Datei angeben
236 Editieren der setDomainEnvsh
Aufruf der setDomainEnvsh mit einem Editor
Beispiel
vi [domain home path]binsetDomainEnvsh
Folgende Zeilen an oberster Stelle eintragen wo die ldquoEXTRA_JAVA_PROPERTESrdquo gesetzt werden
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
Djavasecurityauthloginconfig=[domain home path]krb5Loginconf
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DjavaxsecurityauthuseSubjectCredsOnly=false
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -
DweblogicsecurityenableNegotiate=true
237 Testen der Kerberos-Konfiguration mit Browser SSO (optional)
Dieser Test zeigt auf ob die Kerberos-Konfiguration auszligerhalb der Nutzung des OWSM funktioniert
Sie beweist nicht ob der OWSM richtig konfiguriert ist (bis an dieser Stelle in dieser Dokumentation
ist der OWSM auch noch nicht konfiguriert worden)
Es wird empfohlen diesen Test auszufuumlhren um sicherzustellen dass die grundsaumltzliche Kerberos-
Konfiguration richtig ist
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 14
Es wird empfohlen folgende Dateien vor den Aumlnderungen zu sichern
[domain home path]configfmwconfigjps-configxml
[domain home path]configconfigxml
Einrichtung des Identity Asserter in der Domain
In der WLS Administration Console die Seite aufrufen wo die Authentication Providers aufgelistet
werden Pfad Home gtSummary of Security Realms gtmyrealm gtProviders
Links oben auf bdquoLock amp Editldquo klicken
bdquoNewldquo klicken
Namen eintragen (zB SPNEGO_NIA)
bdquoNegotiateIdentityAsserterldquo auswaumlhlen
Laut [1] soll der Asserter an erste Stelle der Provider gesetzt werden In dem Test-Environment war
dies nicht notwendig Wenn doch dann noch folgenden Schritt ausfuumlhren
Mit bdquoReorderldquo Identity Asserter an erste Stelle der Provider setzen
bdquoOKldquo klicken
bdquoActivate Changesldquo links oben klicken
Gruumlne Nachricht erscheint bei Erfolg bdquoAll changes have been activated However 4 items must be
restarted for the changes to take effectrdquo
Es kann sein dass man sich nach dem Neustart nicht mehr normal in die WLS Console einloggen
kann Dies ist ein Bug von Oracle Workaround Sich uumlber die OSB Console in die WLS Console
einloggen (oberes Menuuml) Sollte das auch nicht mehr gehen dann hilft nur noch die jps-configxml
und die configxml zuruumlckzuspielen die hoffentlich vor den Aumlnderungen gesichert wurden
Browser SSO testen
Vorraussetzung Arbeitsplatzrechner ist in der Windows-Domain und User ist im AD
Test in der WLS Console
Pfad Home gtSummary of Servers gtSummary of Security Realms gtmyrealm gtUsers and Groups
Nutzer muss in der Liste zu finden sein Wenn nicht muss die Konfiguration uumlberpruumlft werden
Pruumlfen ob alle Server wieder laufen Dazu in der WLS Administration Console (Pfad Home
gtSummary of Security Realms gtmyrealm gtProviders gtSummary of Environment gtSummary of
Servers) nutzen
Mit dem Google Chrome Browser testen (benoumltig keine weitere Konfiguration) Siehe auch [1]
Abschnitt bdquoI Configure the web browserldquo fuumlr Internet Explorer und Firefox
Beispiel
http[host]sivde8001bpmcomposerssologin oder
http[host]sivde8001integrationworklistappssologin
Nach dem erfolgreichen Test den Identity Asserter wieder entfernen und Server neu starten
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 15
238 Wenn etwas schief geht
Wenn etwas nicht funktioniert ist es wichtig den Debug-Modus zu aktivieren um so detaillierte
Informationen wie nur moumlglich zu bekommen
Fuumlr das out Logs
In die setDomainEnvsh zu der EXTRA_JAVA_PROPERTIES Sektion folgenden Eintrag hinzufuumlgen
(siehe auch Abschnitt weiter oben)
EXTRA_JAVA_PROPERTIES=$EXTRA_JAVA_PROPERTIES -Dsunsecuritykrb5debug=true
Fuumlr die log Logs
1 WLS Administration Console oumlffnen
2 Environment klicken und dann Servers
3 OSB Server auswaumlhlen
4 den Debug-Reiter klicken
5 weblogic aufklappen und dann security
6 atn anhaken
7 Unten oder oben den Enable-Button klicken
Siehe auch References in [1] und [11]
Der Debug-Modus sollte wieder zuruumlckgesetzt werden wenn die Kerberos-Konfiguration funktioniert
239 OWSM konfigurieren
Kerberos Login Modul konfigurieren
Im Enterprise Manager von der WebLogic Doamin die Security Provider Configuration aufrufen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 16
Das krb5loginmodule auswaumlhlen und den Edit-Button klicken
Hier wird Principal Name http[host]sivdeSIVDE und seine keyTab Datei eingetragen Hier ist
besonders darauf zu achten dass man die key-Namen richtig schreibt und auf Groszlig-
Kleinschreibung achtet (Camel Case) Das kann viel Arbeit ersparen
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 17
Siehe auch [2]
Key store einrichten
Den Befehl keytool aus der Java-Umgebung starten mit der der OSB gestartet wird
Erstellen eines Zertifikats fuumlr die SOA
[oracleserver bin]$ keytool -genkey -alias serverKey -keyalg RSA -sigalg SHA1withRSA -
dname CN=server C=DE -keypass welcome -keystore tmpserverjks -storepass welcome -validity
3600
Kopieren der serverjks zum configfmwconfig-Verzeichnis der SOA Suite
[oracleserver bin]$ cp tmpserverjks [domain home path]configfmwconfig
Testen der serverjks
[oracleoraclevm90 bin]$ keytool -list -keystore tmpserverjks
Enter keystore password
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 18
Keystore type JKS
Keystore provider SUN
Your keystore contains 1 entry
serverkey Apr 15 2014 PrivateKeyEntry
Certificate fingerprint (SHA1) 16A95962CBAC863757DDA1CCB0AE2FDF7297E8C4
Import des Java Keystore in den Enterprise Manager
Im Enterprise Manager die SOA-Domaumlne auswaumlhlen und mit rechter Maustaste den Menuumlpunkt
Security Provider Configuration oumlffnen
Auf den Configure-Button in der keystore-Sektion klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Umsetzung
SIVAG 2014 19
Eintragen von serverjks in das Keystore Path-Feld Eintragen von serverKey in das Key Alias- und
Crypt Alias-Feld Eintragen von welcome in allen Passwort-Feldern
Restart aller Server der Domain
Siehe auch [3]
2310 OSB Web Service mit Policy sichern
Das Projekt waumlhlen und in das Verzeichni wechseln in dem der Proxy Server liegt
customerTaskService_V1 anklicken und auf den Policies-Reiter klicken
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
GlossarAbkuumlrzungsverzeichnis
SIVAG 2014 20
Die oraclewss11_kerberos_token_with_message_protection_basic128_service_policy hinzufuumlgen
und Konfiguration speichern
Siehe auch [1]
24 Abschlieszligender Test des WCF Client
Den WCF Client ausfuumlhren Er sollte nun den entsprechenden Service aufrufen koumlnnen und die
Ausgaben ausgeben In unserem Fall tat er das und gab eine Liste von Titeln aus
3 GlossarAbkuumlrzungsverzeichnis
BegriffAbkuumlrzung Erklaumlrung
ADS Active Directory Server
AD Active Directory
KDC Key Distribution Center
OSB Oracle Service Bus
OWSM Oracle Web Service Manager
4 Quellen
[1] How To Configure Kerberos SSO Authentication for Linux or Unix Based Webcenter Content
(Doc ID 15432091)
[2] httpbiemondblogspotde201109using-owsm-kerberos-policieshtml
[3] httpbiemondblogspotde201108do-saml-with-owsmhtml
[4] httpdocsoraclecomjavase7docsjreapisecurityjaasspeccomsunsecurityauthmoduleKrb
5LoginModulehtml
[5] Oracle Service Bus 11g Development Cookbook
[6] httpdocsoraclecomcdE28280_01web1111e16098interop_nethtmBIIHEBGC
[7] httptechnetmicrosoftcomen-uslibrarybb742431aspx
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE
Interoperabilitaumlt zwischen Oracle WSM 11g und Microsoft WCFNET 40
Quellen
SIVAG 2014 21
[9] httpwwworaclecomtechnetworkjavajavasedownloadsindexhtml
[10] httpsblogsoraclecomblogbypuneethentrysteps_to_configure_weblogic_server
[11] httpdocsoraclecomjavase150docsguidesecurityjgsstutorialsTroubleshootinghtml
[12] httpfusionsecurityblogspotde2011075-minutes-or-less-kerberoshtml
[13] httpwwwroguelynncomwordsexplain-like-im-5-kerberos
[15] httpwwwyoutubecomwatchv=KD2Q-2ToloE