Samengevat
| HTTPS: Voer tomcat uit in https. ADFS-server: de Identity Provider (Idp) van de ADFS-server configureren. Principal Toolbox: Configureer toolbox, die de Relying Party (RP) is. create java key store (jks) -> store inexport .cer from jks -> use on ADFS serverget federation metadata from ADFS server -> store inconfiguration should be configured in login.properties. login-template.properties kan worden gebruikt als uitgangspunt. Browser: Configureer browser om de SSO Identity provider (de ADFS server) te “vertrouwen”. Anders vraagt de browser om referenties (geen echte SSO). |
Handmatige configuratie walkthrough
- HTTPS: Tomcat instellen om https te gebruiken (ontwikkelmachines, on-premises klanten. Op Saas wordt HTTPS verzorgd door een proxy).
- Certificaat maken. Zie https://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html#Configuration
- Ga in Apache tomcat naar de /conf directory en definieer een SSL HTTP/1.1 connector, bijv:
Principal Toolbox: Certificaat en java key store voorbereiden (met de publieke en privésleutel)
- Genereer toolbox server jks (java key store):
| keytool -genkeypair -alias ptb_test -keyalg RSA -keypass keypassword123 -keystore ptbKeystore.jks -keysize 4096 -sigalg SHA256withRSA -validity 1825 |
- Vul het wachtwoord van de sleutelbewaarplaats in (kan verschillen van het wachtwoord van de sleutel zoals hierboven gespecificeerd) en metagegevensinformatie (zoals Organisatie, Land, enz.).
Het resultaat is een .jks bestand.
Hoewel Spring SHA2 nog niet ondersteunt, is het gebruik van een SHA2-certificaat in de Toolbox geen probleem.
Dit creëert een certificaat dat 1825 dagen (5 jaar) geldig is. Aanpassen aan behoeften. De standaardwaarde is slechts drie maanden, wat niet erg praktisch is.
- Exportcertificaat:
| keytool -export -alias ptb_test -storepass keystorepassword123 -file ptb_test.cer -keystore ptbKeystore.jks |
Het resultaat is een .cer-bestand
- Kopieer het jks bestand naar de PTB server, in de WEB-INF/classes directory
- Spring configuratie: De jks-bestandsnaam, het wachtwoord van de sleutelbewaarplaats, het wachtwoord van de sleutel en de alias (bijv. ptb_test) moeten worden opgegeven in de beveiligingsconfiguratie van Spring (in de JKS KeyManager bean).
- Gebruik het certificaatbestand op de ADFS-server voor zowel de encryptie- als de ondertekeningstab, op de vertrouwenseigenschappen (Relying Party Trust).
ADFS Server: Setup ADFS server:
- Ga in de AD FS beheertool naar “Trust Relationships/Relying Party Trusts” en selecteer “Add Relying Party Trust” uit het contextmenu en de wizard start.
- Gegevensbron: selecteer “Gegevens over de betalende partij handmatig invoeren”.
- Specificeer weergavenaam: kies een weergavenaam voor de relying party, die de principal toolbox instance is, bijvoorbeeld “Principal Toolbox”.
- Kies profiel: ADFS 2.0 profiel
- Certificaat configureren: Navigeer naar het certificaat zoals gegenereerd/geëxporteerd uit de java key store (zie hierboven). Dit certificaat bevat de publieke sleutel van de relying party.
- URL configureren: Vink “Enable support for SAML 2.0 WebSSO protocol” aan en vul in: “https://
/saml/SSO”. - Configureer Identifiers: Voeg “https://
/saml/metadata” toe. - Kies Autorisatieregels voor uitgifte: “Permit all users to access this relying party”.
- Laat het selectievakje “Open the Edit Claim Rules dialog” ingeschakeld en voltooi de wizard
- Selecteer “Add Rule”, kies “Send LDAP Attributes as Claims” en klik op volgende.
- Bij gebruik van e-mail als unieke identificatie voor toolboxgebruikers:
- Voeg Email toe als “Claim rule name”, kies “Active Directory” als Attribute store, kies “E-mail-addresses” als LDAP Attribute en “E-mail Address” als “Outgoing claim type”. Druk op OK.
- Voeg nog een regel toe en kies nu “Transform an Incoming Claim” als Claim Rule Template.
- Vul “Transform Email to Name ID” in als naam van de claimregel.
- Geef “E-mailadres” op als type inkomende claim
- Geef “Naam ID” op als type uitgaande claim
- Kies “Alle claimwaarden doorgeven”.
- Bij gebruik van de gebruikersnaam als unieke identificatiecode:
- Voeg “Gebruikersnaam” toe als “claimregelnaam”, kies “Active Directory” als Attribuut Store, kies “SAM-Accountnaam” als LDAP Attribuut en “naam ID” als “Uitgaand claimtype”. Druk op OK.
- Bewerk de eigenschappen van de Vertrouwende partij (of dubbelklik):
- Selecteer de tab Geavanceerd en verander “Veilig hash-algoritme” in SHA-1.
- Installeer de ADFS 2.0-service op een Windows Server 2008 R2 of hoger die niet de primaire AD-server is.
- Voer de ADFS Federation Server Configuration Wizard uit om de basisinstellingen te configureren.
- Vertrouwende partij configureren
(Spring biedt nog geen ondersteuning voor SHA >1)
- Selecteer de tab Geavanceerd en stel “Veilig hash-algoritme” in op SHA-1.
- Selecteer tabblad Handtekening en blader naar het gegenereerde toolboxcertificaat (hetzelfde certificaat als gebruikt voor de stap Certificaat configureren in de wizard).
Principal Toolbox
- Kopieer het bestand login-template.properties (zie bijlage) naar het bestand login.properties in de map Application/WEB-INF/classes
- Bewerk het bestand login.properties. U hebt de informatie nodig die in bovenstaande stappen is gebruikt/gemaakt.
- Haal IDP op (voor ADFS https://
/FederationMetadata/2007-06/FederationMetadata.xml) metadatabestand en sla dit op in de map Application/WEB-INF/classes. - Hernoem FederationMetadata naar idp.xml
- Herstart Tomcat om de wijzigingen toe te passen.
Browser: For internet Explorer the following (copied from https://support.microsoft.com/en-us/kb/2530569):
If a seamless, no-prompt experience is expected for domain-joined and domain-connected client computers, add the AD FS Federation Service URL to the local intranet zone in Windows Internet Explorer. For example, do the following:
| In Internet Explorer, on the Tools menu, click Internet Options.Click the Security tab, click Local intranet, click Sites, and then click Advanced or add Site (depends on IE version)Type https://adfs.YOURDOMAIN.com in the Add this website to the zone box, and then click Add. Note “adfs.YOURDOMAIN.com” represents the FQDN of the AD FS Federation Service |

