KNF:ADFS-IdP

Uit Kennisnet Developers Documentatie
Naar navigatie springen Naar zoeken springen

Entree Federatie-symbol.png Entree Federatie: ADFS-IdP

Kennisnet Federatie Handleiding ADFS 2.0 voor aansluiting als identity provider

Oorspronkelijke document gemaakt door SURFnet Aangepast door Bas Nedermeijer (Vasco) en Maurice G. Pasman (Kennisnet) Laatst aangepast op 1 oktober 2013

Inleiding

In deze handleiding leest u hoe u uw organisatie middels ADFS 2.0 aansluit op de Kennisnet Federatie, waarna gebruikers van uw organisatie met hun Active Directory account kunnen inloggen op alle aangesloten diensten, zoals WikiWijs en Teleblik.

De procedure voor het aansluiten als IdP bestaat uit de volgende onderdelen:

  1. Een ADFS 2.0-serversysteem inrichten, o.a. Windows Server 2008 configureren en ADFS 2.0 installeren (hoofdstuk 2)
  2. De ADFS 2.0-server configureren voor aansluiting als Identity Provider voor de Kennisnet Federatie (hoofdstuk 3)
  3. Een ADFS 2.0 proxy inrichten (hoofdstuk 4)
  4. Attributen vrijgeven aan de Kennisnet Federatie (hoofdstuk 5)

Meer informatie over ADFS 2.0

Active Directory Federation Services (ADFS) 2.0 is de opvolger van ADFS v1 zoals oorspronkelijk beschikbaar op Windows Server 2003 R2 en Windows Server 2008. De belangrijkste wijziging ten opzichte van ADFS v1 is de ondersteuning van het SAML 2.0 protocol. Meer informatie over ADFS 2.0 is hier te vinden: http://www.microsoft.com/windowsserver2008/en/us/ad-fs-2-overview.aspx

Deze handleiding is gebaseerd op de release van ADFS 2.0 (5 mei 2010). Meer informatie over de installatie van ADFS 2.0 is hier te vinden: http://technet.microsoft.com/en-us/library/adfs2(WS.10).aspx

Voor een step-by-step guide van Microsoft, wellicht handig als naslagwerk naast deze handleiding, zie: http://technet.microsoft.com/en-us/library/ff631096(WS.10).aspx

Waarom server en proxy?

Naast het inrichten van een ADFS 2.0-server is het noodzakelijk om 'voor' de ADFS-server, buiten het Windows-domein, een ADFS-proxy in te richten die het verkeer van buitenaf doorstuurt naar de ADFS-server. Dit houdt in dat er 2 verschillende Windows Server 2008 machines geconfigureerd worden in deze setup.

Dit heeft de volgende reden: de ADFS-server moet in het Windows-domein worden opgenomen en daarom liever niet direct bereikbaar zijn van buitenaf. Door een ADFS-proxy in te richten en deze voor de ADFS-server te plaatsen, buiten het Windows-domein, is de ADFS-server minder kwetsbaar voor aanvallen van buitenaf.

Bijkomend voordeel is dat een proxy kan worden geconfigureerd om een loginpagina met de look-and-feel van de instelling te tonen aan de gebruiker, in plaats van de standaard popup-prompt die de ADFS-server laat zien. Dit verbetert de herkenbaarheid van de login voor de eindgebruiker en biedt de mogelijkheid extra informatie aan de gebruiker te tonen. Daarnaast kan phishing beter worden voorkomen door het door het toepassen van een geldig SSL-servercertificaat.

Aanmelden bij Kennisnet Federatie

Alvorens u begint met de installatie van ADFS 2.0 moet u eerst uw instelling aan melden. Ga hiervoor naar http://www.kennisnetfederatie.nl/onderwijsinstellingen/aanmelden/.

Als uw aanmelding geaccepteerd is ontvangt u hiervan een bericht. U kunt met onze servicedesk afstemmen of u eerst op onze staging omgeving wilt aansluiten of direct op productie.


ADFS 2.0-server inrichten

Voordat u de specifieke instellingen voor de Kennisnet Federatie kunt invoeren, moet u een basisinstallatie van de ADFS 2.0-server uitvoeren. Dat gaat in de volgende stappen:

  1. Windows Server 2008 installeren en configureren (paragraaf 2.1)
  2. De ADFS 2.0-software installeren (paragraaf 2.2)
  3. Basisinstellingen van ADFS 2.0 configureren (paragraaf 2.3)

Windows Server 2008 installeren en configureren

Om een ADFS 2.0-server te kunnen inrichten, moet u eerst Windows Server 2008 installeren en configureren:

  • Installeer de juiste versie van het besturingssysteem op de server: Windows Server 2008 SP2 of Windows Server 2008 R2 (standaard of enterprise).
  • Stel de tijd op de server correct in zorg dat deze wordt gesynchroniseerd met een time server.
  • Neem de server op in het domein van de Active Directory waaruit de accounts voor de federatie komen.
  • Installeer Internet Information Services (IIS) en zorg dat deze een geldig SSL- servercertificaat heeft.

ADFS 2.0-software installeren

  1. Download ADFS 2.0 Server via http://go.microsoft.com/fwlink/?linkid=151338 voor uw platform (Windows Server 2008 SP2 of 2008 R2, 32 of 64 bits) en start de executable.
  2. Doorloop het begin van de procedure en accepteer de licentieovereenkomst.
    Adfs01.jpg
  3. Selecteer Federation server en klik op Next. De eigenlijke installatie begint nu.
  4. Volg de stappen in de wizard. Nadat de software is geïnstalleerd, verschijnt het volgende venster:
    Adfs02.jpg
  5. Zorg dat Restart now aangevinkt is en klik op Finish. De server start opnieuw op. Hiermee is de basisinstallatie van de ADFS 2.0-software afgerond.

Basisinstellingen ADFS 2.0 configureren

  1. Kies Start > All Programs > Administrative Tools > ADFS 2.0 Management om de ADFS 2.0-configuratieapplicatie te starten.

Adfs03.jpg

  1. Klik op ADFS 2.0 Federation Server Configuration Wizard.

Adfs04.jpg

  1. Selecteer Create a new Federation Service en klik op Next.

Adfs05.jpg

  1. Selecteer Stand-alone federation server en klik op Next.

Adfs06.png

  1. In het veld 'Federation Service name' is de hostnaam van uw server al ingevuld. Laat deze ongewijzigd en klik op Next.

Adfs07.jpg

  1. Klik op Next om de ingestelde settings toe te passen.

Adfs08.jpg

  1. Klik op Close als het configuratieproces is afgerond. Hiermee is ook de basisinstallatie van de ADFS 2.0-server afgerond.
  2. Controleer of de SAML 2.0 metadata informatie van uw server beschikbaar is op de volgende URL: https://<hostnaam>/FederationMetadata/2007-06/FederationMetadata.xml (vul zelf de juiste hostnaam in).
  3. Deel deze URL mee aan de servicedesk van Kennisnet.


ADFS 2.0-server configureren als identity provider

Om uw gebruikers met hun instellingsaccount toegang te kunnen geven tot diensten van de Kennisnet Federatie, moet u uw ADFS 2.0-server configureren als Identity Provider.

Basisconfiguratie

  1. Kies Start > All Programs > Administrative Tools > ADFS 2.0 Management om de ADFS 2.0-configuratieapplicatie te starten.

Adfs09.jpg

  1. Klik op Required: Add a trusted relying party.

Adfs10.jpg

  1. Klik op Start.

Adfs11.png

  1. Vul in het veld 'Federation metadata address (host name or URL)' onderstaande URL in en klik op Next.
Productie: https://aselect.entree.kennisnet.nl/openaselect/profiles/saml2
Staging: https://aselect-s.entree.kennisnet.nl/openaselect/profiles/saml2
  1. Vervang in het veld 'Display name' de default hostname (aselect.entree.kennisnet.nl) door de naam Kennisnet Federatie en klik op Next.

Adfs12.jpg

  1. Selecteer Permit all users to access this relying party en klik op Next.

Adfs13.png

  1. Klik in dit overzichtsvenster op Next.

Adfs14.jpg

  1. Deselecteer Open the Edit Claim Rules dialog… Met de 'Claims Rules dialog' worden de attributen geconfigureerd. Dit doet u later in het configuratieproces (zie hoofdstuk 5).
  1. Klik op Close om deze configuratie af te ronden.

SHA1-algoritme inschakelen

In ADFS 2.0 worden handtekeningen standaard gezet met behulp van het SHA256-algoritme. Dit algoritme werkt niet goed samen met de Kennisnet Federatie. Voor een goede werking moet dit vervangen worden door het SHA1-algoritme.

  1. Kies in de linkerkolom van het overzichtsvenster Trust Relationships > Relying Party Trusts.

Adfs15.png

  1. Dubbelklik in de middelste kolom op Kennisnet Federatie.

Adfs16.png

  1. Selecteer het tabblad Advanced en kies in het veld 'Secure hash algorithm' de waarde SHA-1.
  1. Klik op OK om de configuratie voor de Kennisnet Federatie af te ronden.

ADFS 2.0-proxy inrichten

De ADFS-proxy hoeft niet op een aparte machine te worden geïnstalleerd, maar kan op een bestaande machine komen te staan die ook al voor andere doeleinden in gebruik is, bijvoorbeeld een webserver.

De installatie van een ADFS 2.0-proxy gaat in de volgende stappen:

  1. Windows Server 2008 installeren en configureren (paragraaf 4.1)
  2. ADFS 2.0-software installeren (paragraaf 4.2)
  3. De instellingen van de ADFS 2.0-proxy configureren (paragraaf 4.3)

Windows Server 2008 installeren en configureren

Om een ADFS 2.0-proxy te kunnen inrichten, moet u eerst Windows Server 2008 installeren en configureren:

  • Installeer de juiste versie van het besturingssysteem op de server: Windows Server 2008 SP2 of Windows Server 2008 R2 (standaard of enterprise).
  • Stel de tijd op de server correct in zorg dat deze wordt gesynchroniseerd met een time server.
  • Zorg ervoor dat de server niet opgenomen is in het domein van de Active Directory waaruit de accounts voor de federatie komen.
  • Installeer Internet Information Services (IIS) en zorg dat deze een geldig SSL- servercertificaat heeft. U kunt servercertificaten onder meer verkrijgen via de SURFcertificaten-dienst van SURFnet: http://www.surfnet.nl/nl/diensten/authenticatie/Pages/certificaten.aspx

ADFS 2.0-software installeren

Zie paragraaf 2.2 voor het installeren van de ADFS 2.0-software, met dit verschil:

kies bij stap 3 voor Federation server.

Adfs17.jpg

ADFS 2.0 Proxy Configuratie

  1. Kies Start > Programs > Administrative Tools > ADFS 2.0 Federation Server Proxy Configuration Wizard om de ADFS 2.0-proxy configuratie applicatie te starten.

Adfs18.jpg

  1. Klik op Next.

Adfs19.png

  1. Vul in het veld 'Federation Service name' de naam in van uw ADFS 2.0-server die u in paragraaf 2.4 hebt gekozen. Normaal gesproken is dit de hostnaam van de ADFS 2.0-server. Als hier een onjuiste naam wordt opgegeven, dan kunnen er problemen ontstaan met het opbouwen van de trust. Als er problemen ontstaan, dan kan de eventlog op beide machines bekeken worden.
  1. Klik op Next.

Adfs20.jpg

  1. De popup geeft aan dat er een succesvolle verbinding van de proxy naar de server gelegd kon worden.
  1. Klik op OK.

Adfs21.png

  1. Voer gebruikersnaam en wachtwoord in van het adminstrator-account van de ADFS 2.0-server en klik op OK.

Adfs22.jpg

  1. Klik op Next.

Adfs23.jpg

  1. Klik op Close als de installatie voltooid is.

DNS configureren

Als de server en de proxy zijn ingericht, moet u de DNS-configuratie nog aanpassen. Interne verzoeken (van binnen het Windows-domein) moeten namelijk direct naar de server worden geleid, externe verzoeken moeten via de proxy lopen.

  • ‘adfs.hostnaam.nl’ moet voor verzoeken vanaf uw eigen domein resolven naar de ADFS 2.0-server
  • ‘adfs.hostnaam.nl’ moet voor verzoeken vanaf externe domeinen resolven naar de ADFS 2.0-proxy.

Het testen van de proxy kan verlopen door op een client machine tijdelijk de HOSTS-file aan te passen naar de nieuwe situatie.

Loginpagina aanpassen

De standaard loginpagina op de ADFS proxy kan desgewenst worden aangepast naar de look-and-feel van uw instelling, door de file:

C:\Program Files\Active Directory Federation Services 2.0\WSFederationPassive.Web\FormsSignIn.aspx

te wijzigen. Bij voorkeur dient hier tekst te worden opgenomen over:

  • De manier waarop gebruikers moeten inloggen, bijvoorbeeld in welk formaat de inlognaam moet worden ingevoerd (studentnummer of e-mailadres)
  • Een waarschuwing dat (bij gebruik op gedeelde werkstations) uitloggen alleen gegarandeerd kan worden door de browser af te sluiten
  • Dat bij het inloggen moet worden gelet op een geldige HTTPS URL op de juiste server

Attributen vrijgeven

Attributen zijn gebruikerskenmerken die de ADFS 2.0-server na een geslaagde authenticatie van een gebruiker kan toevoegen aan informatie die aan de Kennisnet Federatie wordt doorgegeven. Voorbeelden van attributen zijn bijvoorbeeld de voornaam, achternaam, e-mailadres, geboortedatum en rol van de gebruiker of de naam en de BRIN van uw instelling.

De set van gestandaardiseerde attributen die binnen de Kennisnet Federatie kunnen worden gebruikt, vindt u hier:

https://docs.google.com/spreadsheet/ccc?authkey=CMDV46sC&key=0Ak3mz4AS8fc7dDN1T2w3cHJFWGNoOERsZ3R1ZHg0eUE&hl=en

U dient tenminste de als verplicht aangemerkte attributen vrijgeven aan de Kennisnet Federatie, anders werkt de koppeling niet.

Attributen definiëren

Als eerste dienen alle attributen welke u van plan bent door te geven aan de Kennisnet Federatie gedefinieerd te worden. Volg hiertoe de volgende stappen.

  1. Kies op de ADFS 2.0-server Start > All programs > Administrative Tools > ADFS 2.0 Management om de ADFS 2.0 configuratie applicatie te starten.
  1. Selecteer Service > Claims Descriptions in de linker kolom van het overzichtsvenster.

Adfs24.jpg

  1. Klik in de rechterkolom onder 'Actions' op Add Claim Description…

Adfs25.png

  1. Vul in de velden 'Display name' en 'Claim identifier' de waarde in van het attribuut dat u wilt vrijgeven aan de Kennisnet Federatie, bijvoorbeeld ‘uid’. Vul voor elk attribuut in beide velden exact hetzelfde in.
  1. Klik op OK.
  1. Herhaal stappen 3 t/m 5 tot tenminste de volgende attributen gedefinieerd zijn:
  • uid
  • employeeNumber
  • givenName
  • nlEduPersonTussenvoegsels
  • sn
  • mail
  • eduPersonAffiliation
  • nlEduPersonHomeOrganizationId
  • nlEduPersonHomeOrganization

Indien u meer attributen wilt meesturen (bijvoorbeeld ‘nlEduPersonBirthDate’ omdat een bepaalde dienstaanbieder hier om vraagt) kunt u deze op dezelfde wijze definiëren. Adfs26.png


AD attributen toewijzen

Vervolgens dient u de attributen vrij te geven aan de Kennisnet Federatie. Als eerste beginnen we met de attributen die standaard aanwezig zijn in Active Directory. Dit zijn LDAP-attributen.

  1. Kies in de linker kolom Trust Relationships > Relying Party Trusts.

Adfs27.png

  1. Klik in de middelste kolom op Kennisnet Federatie en vervolgens in de rechterkolom op Edit Claim Rules.

Adfs28.png

  1. Klik op Add Rule…

Adfs29.jpg

  1. Kies onder 'Claim rule template' voor Send LDAP Attributes as Claims klik op Next.

Adfs30.png

  1. Vul een zinvolle naam in in het veld ‘Claim rule name’, bijvoorbeeld ‘Entree’.
  1. Selecteer onder ‘Attribute store’ de optie Active Directory.
  1. Voeg ten minste de volgende attribuutmappings toe:
LDAP Attribute (in de Active Directory) Outgoing Claim Type (naar Kennisnet toe)
Attribuut naar keuze ! Name ID
Attribuut naar keuze ! uid
Employee-Number employeeNumber
Given-Name givenName
Surname sn
E-Mail-Addresses mail
Attribuut naar keuze ! Voor deze gids wordt het E-Mail-Address geselecteerd als bron voor de waarde van de uitgaande ‘Name ID’ en ‘uid’ claims. Terwijl het wel van essentieel belang is dat de ‘Name ID’ en ‘uid’ dezelfde waarde bevatten, hoeft dit zeker niet perse het E-Mail adres te zijn. De waarde moet voldoen aan de beschrijving zoals deze in de Federatieve Attributen documentatie is gegeven. Dit kan heel goed uit een alternatief attribuut afkomstig zijn, of een samengesteld attribuut zijn.
  1. Klik op Finish.

Adfs31.png

Custom attributen toewijzen

Voor attributen die niet (of niet direct) in de Active Directory aanwezig zijn maar wel verplicht zijn voor de Kennisnet Federatie kunt u custom rules aanmaken. Met behulp van custom rules kunt u een bepaalde statische waarde definiëren, of deze laten afhangen van een bepaalde groep.

Statische attributen

Als de ‘nlEduPersonHomeOrganizationId’ (de BRIN van de instelling) niet aanwezig is in de AD dient hiervoor een 'Custom Rule' worden aangemaakt. Hiermee kunt u het attribuut een statische waarde geven.

  1. Klik op Add Rule

Adfs32.png

  1. Kies onder 'Claim rule template' voor Send Claims Using a Custom Rule. Klik op Next

Adfs33.png

  1. Geef hier een beschrijving op, bijvoorbeeld 'BRIN'.
  1. Bij ‘Custom rule’ moet een rule ingesteld worden die er voor zorgt dat de BRIN wordt meegestuurd. Hier is 'abcd' als BRIN gekozen, deze moet vervangen worden door de daadwerkelijke BRIN. Voorbeeld Custom rule:
=> issue(Type = "nlEduPersonHomeOrganizationId", Value = "abcd");
  1. Klik op OK.
  1. Herhaal stappen 1 t/m 5 voor het attribuut nlEduPersonHomeOrganization (de naam van de school)
=> issue(Type = "nlEduPersonHomeOrganization", Value = "Regenboogcollege");

Lidmaatschapsattribuut

Voor het doorgeven van de EduPersonAffiliation (de rol van de gebruiker, 'student', 'employee' of 'staff') dienen drie Custom Rules te worden aangemaakt. Hiermee kunt u het attribuut een statische waarde geven afhankelijk van de groep van de gebruiker.

  1. Klik op Add rule.

Adfs34.png

  1. Kies onder 'Claim rule template' voor Send Group Membership as a Claim en klik op Next.

Adfs35.png

  1. Kies een omschrijving en vul deze in bij ‘Claim rule name’, bijvoorbeeld ‘eduPersonAffiliation-staff’.
  2. Selecteer bij ‘User's group’ de naam van de group die bij het type gebruiker 'staff' hoort.
  3. Bij ‘Outgoing claim type’ moet 'eduPersonAffiliation' worden ingevuld.
  4. Bij ‘Outgoing claim value’ moet 'staff' worden ingevuld.
  5. Herhaal de stappen 3 t/m 6 voor ‘student’ en ‘employee’.
  6. Klik op OK.
  7. Klik op OK.

Testen

U kunt testen of de aansluiting en de vrijgave van de attributen is gelukt via de referentieSP:

Productie: https://referentie-s.entree.kennisnet.nl/referentiesp Staging: https://referentie.entree.kennisnet.nl/referentiesp

  1. Selecteer uw instelling in het Where Are You From gedeelte en druk op Verder
  2. U komt nu uit op een inlogpagina van uw ADFS 2.0 server
  3. Log in met uw instellingsaccount
  4. Als alles goed is gegaan ziet u een overzicht van de attributen die worden vrijgegeven door uw instelling.

Indien u in plaats daarvan een foutmelding ziet dient u contact op te nemen met onze servicedesk.