KNF:ADFS-IdP

Uit Kennisnet Developers Documentatie
Versie door Holierhoek01 (overleg | bijdragen) op 11 aug 2023 om 08:38 (→‎Attributen vrijgeven)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen

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

Entree Federatie Handleiding ADFS voor aansluiting als Identity Provider

Stappenplan

  1. Aanmelden bij de Entree Federatie
  2. Download ADFS: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=118c3588-9070-426a-b655-6cec0a92c10b&displaylang=en
  3. Installeren en configureren van ADFS volg deze handleiding.

Inleiding

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

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

  1. ADFS serversysteem inrichten; waaronder Windows Server 2016 configureren en ADFS installeren (hoofdstuk 2)
  2. ADFS server configureren voor aansluiting als Identity Provider (IdP) voor Entree Federatie (hoofdstuk 3)
  3. ADFS proxy inrichten indien toegang van buiten het lokale netwerk gewenst is. (hoofdstuk 4)
  4. Attributen configureren en vrijgeven aan Entree Federatie (hoofdstuk 5)

Waarom server en proxy?

Om de ADFS-server minder kwetsbaar te maken voor aanvallen van buitenaf, moet je naast een ADFS server ook een ADFS-proxy inrichten buiten het Windows-domein. De ADFS-server moet namelijk bij voorkeur niet bereikbaar zijn van buitenaf. Je doet dit door een ADFS-proxy in te richten en deze ‘voor’ de ADFS-server te plaatsen. Dit houdt in dat je twee verschillende Windows Server machines moet configureren in deze opstelling. De proxy mag geen lid zijn van het domein en wordt bij voorkeur in de DMZ geplaatst.

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 Entree Federatie

Eerst de instelling aanmelden. Ga hiervoor naar https://www.kennisnet.nl/entree-federatie/aanmelden/aanmelden-voor-scholen/.

Als de 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 4.0 Server inrichten

Dit document beschrijft de installatie van een ADFS server op Windows Server 2016. Voordat je de specifieke instellingen voor Entree Federatie kunt invoeren, moet je een basisinstallatie op de ADFS server uitvoeren. Hiervoor moet je onderstaande stappen doorlopen:

  • Installeer en configureer Windows Server 2016.
  • Voeg de ADFS software als feature toe.
  • Configureer de basisinstellingen van ADFS.

Windows Server 2016 installeren en configureren

Om een ADFS 4.0 Server te kunnen inrichten, moet je eerst Windows Server 2016 installeren en configureren. Deze ADFS 4.0 Server dient lid te zijn van een domein. In deze handleiding installeren we de ADDS en ADFS rol op dezelfde server. Deze rollen zijn als volgt te omschrijven:

  • ADDS - Active Directory Domain Services (AD DS) is een serverrol in Active Directory die beheerders in staat stelt om informatie over bronnen uit een netwerk, maar ook over applicatiegegevens, te beheren en op te slaan in een gedistribueerde database. AD DS kan beheerders ook helpen om de elementen van een netwerk (computers en eindgebruikers) te beheren en te ordenen in een aangepaste hiërarchie.
  • ADFS - Active Directory Federation Services (ADFS) is een op Windows Server-besturingssystemen draaiend component die gebruikt wordt om gebruikers met een Single Sign-On toegang te geven tot systemen en toepassingen die zich over de grenzen van de organisatie heen bevinden. Het maakt gebruik van een op claims gebaseerd autorisatiemodel voor toegangscontrole om de beveiliging van applicaties te handhaven en om een gefedereerde identiteit te implementeren.


Je gaat de onderstaande stappen doorlopen om aan te sluiten op Entree Federatie:

  • Installeer Windows Server 2016 op de server.
  • Stel de tijd op de server correct in en zorg ervoor dat je deze synchroniseert met een time server (NTP).
  • Neem de server op in het domein van de Active Directory waaruit de accounts voor de SURFconext federatie komen.
  • Installeer een geldig certificaat voor de voorgenomen login URL in de Personal Certificate store van de Local Computer ten behoeve van veilige gegevensuitwisseling met de IdP (SSL) . Zie appendix A: Certificaat installeren.


ADFS server-software installeren

Onderstaand gedeelte van deze handleiding is te gebruiken voor het installeren van de ADFS Server Role op Windows Server 2016.

  1. Download ADFS Server via http://go.microsoft.com/fwlink/?linkid=151338 voor uw platform 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 configureren

  1. Kies Start > All Programs > Administrative Tools > ADFS 2.0 Management om de ADFS 2.0-configuratieapplicatie te starten.
    Adfs03.jpg
  2. Klik op ADFS 2.0 Federation Server Configuration Wizard.
    Adfs04.jpg
  3. Selecteer Create a new Federation Service en klik op Next.
    Adfs05.jpg
  4. Selecteer Stand-alone federation server en klik op Next.
    Adfs06.png
  5. In het veld 'Federation Service name' is de hostnaam van uw server al ingevuld. Laat deze ongewijzigd en klik op Next.
    Adfs07.jpg
  6. Klik op Next om de ingestelde settings toe te passen.
    Adfs08.jpg
  7. Klik op Close als het configuratieproces is afgerond. Hiermee is ook de basisinstallatie van de ADFS 2.0-server afgerond.
  8. 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).
  9. Deel deze URL mee aan de servicedesk van Kennisnet.


ADFS server configureren als identity provider

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

Basisconfiguratie

  1. Kies Start > All Programs > Administrative Tools > ADFS Management om de ADFS -configuratieapplicatie te starten.
    Adfs09.jpg
  2. Klik op Required: Add a trusted relying party.
    Adfs10.jpg
  3. Klik op Start.
    Adfs11.png
  4. Vul in het veld 'Federation metadata address (host name or URL)' onderstaande URL in en klik op Next.
    Productie: https://engine.entree.kennisnet.nl/authentication/sp/metadata
    Staging: https://engine.entree-s.kennisnet.nl/authentication/sp/metadata
  5. Vervang in het veld 'Display name' de default hostname (https://engine.entree.kennisnet.nl) door de naam Entree Federatie en klik op Next.
    Adfs12.jpg
  6. Selecteer Permit all users to access this relying party en klik op Next.
    Adfs13.png
  7. Klik in dit overzichtsvenster op Next.
    Adfs14.jpg
  8. 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).
  9. Klik op Close om deze configuratie af te ronden.

Instellen metadata ververs interval

  1. Stel nu de 'MonitoringInterval' in zodat de metadata van Kennisnet vaker kan worden opgehaald. Microsoft heeft de 'MonitoringInterval' standaard op 24 uur (1440 minuten) ingesteld. Kennisnet adviseert de 'MonitoringInterval' op een maximum van 2 uur (120 minuten) in te stellen, om een (langdurige) onderbreking te voorkomen zodra Kennisnet haar certificaten wijzigt.
    Het instellen van de 'MonitoringInterval' kan worden gedaan met het volgende Powershell commando op de ADFS server:
Set-AdfsProperties -MonitoringInterval <tijd in minuten>
#Voor meer informatie over Set-AdfsProperties: https://technet.microsoft.com/en-us/library/dn479342%28v=wps.630%29.aspx

SHA-algoritme

In ADFS 2.0 worden handtekeningen standaard gezet met behulp van het SHA256-algoritme. Voor een goede werking moet de default gebruikt worden SHA2-algoritme.

  1. Kies in de linkerkolom van het overzichtsvenster Trust Relationships > Relying Party Trusts.
    Adfs15.png
  2. Dubbelklik in de middelste kolom op Entree Federatie.
    Adfs16.png
  3. Selecteer het tabblad Advanced en kies in het veld 'Secure hash algorithm' de waarde SHA-2.
  4. 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.

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
  2. Klik op Next.
    Adfs19.png
  3. 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.
  4. Klik op Next.
    Adfs20.jpg
  5. De popup geeft aan dat er een succesvolle verbinding van de proxy naar de server gelegd kon worden.
  6. Klik op OK.
    Adfs21.png
  7. Voer gebruikersnaam en wachtwoord in van het adminstrator-account van de ADFS 2.0-server en klik op OK.
    Adfs22.jpg
  8. Klik op Next.
    Adfs23.jpg
  9. 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 server na een geslaagde authenticatie van een gebruiker kan toevoegen aan informatie die aan de Entree 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 Entree Federatie kunnen worden gebruikt, vindt u hier:

http://developers.wiki.kennisnet.nl/index.php?title=KNF:AttributenOverzicht

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

Attributen definiëren

Als eerste dienen alle attributen welke u van plan bent door te geven aan de Entree 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.
  2. Selecteer Service > Claims Descriptions in de linker kolom van het overzichtsvenster.
    Adfs24.jpg
  3. Klik in de rechterkolom onder 'Actions' op Add Claim Description…
    Adfs25.png
  4. Vul in de velden 'Display name' en 'Claim identifier' de waarde in van het attribuut dat u wilt vrijgeven aan de Entree Federatie, bijvoorbeeld ‘uid’. Vul voor elk attribuut in beide velden exact hetzelfde in.
  5. Klik op OK.
  6. 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 ‘nlEduPersonProfileId’ 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 Entree 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
  2. Klik in de middelste kolom op Entree Federatie en vervolgens in de rechterkolom op Edit Claim Rules.
    Adfs28.png
  3. Klik op Add Rule…
    Adfs29.jpg
  4. Kies onder 'Claim rule template' voor Send LDAP Attributes as Claims klik op Next.
    Adfs30.png
  5. Vul een zinvolle naam in in het veld ‘Claim rule name’, bijvoorbeeld ‘Entree’.
  6. Selecteer onder ‘Attribute store’ de optie Active Directory.
  7. Voeg ten minste de volgende attribuutmappings toe en klik daarna op Finish:
LDAP Attribute (in de Active Directory) Outgoing Claim Type (naar Kennisnet toe)
User Principal Name (UPN) * Name ID
User Principal Name (UPN) * uid
Employee-Number employeeNumber
Given-Name givenName
Surname sn
E-Mail-Addresses mail
User Principal Name (UPN) * Voor deze gids wordt de User Principal Name (UPN) geselecteerd als bron voor de waarde van de uitgaande ‘Name ID’ en ‘uid’ claims. Het is van essentieel belang dat de ‘Name ID’ en ‘uid’ dezelfde waarde bevatten, maar dit hoeft niet perse de User Principal Name (UPN) 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. Het formaat moet in ieder geval als volgt zijn userid@realm wat dus sterk lijkt op het mailadres.
Belangrijk is dat dit attribuut niet meer wijzigt omdat dit de unieke identifier is waarmee de gebruiker bekend is binnen de (aangesloten diensten van de) Entree Federatie.

Voor de meeste dienstleveranciers is de basisset attributen voldoende. Er zijn ook Service Providers die meer informatie van een gebruiker nodig hebben, in dat geval kan er gebruik worden gemaakt van één of meerdere aanvullende attributen, zie daarvoor deze pagina: https://developers.wiki.kennisnet.nl/index.php?title=KNF:Attributen_overzicht_voor_Identity_Providers

Custom attributen toewijzen

Voor attributen die niet (of niet direct) in de Active Directory aanwezig zijn maar wel verplicht zijn voor de Entree 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
  2. Kies onder 'Claim rule template' voor Send Claims Using a Custom Rule. Klik op Next
    Adfs33.png
  3. Geef hier een beschrijving op, bijvoorbeeld 'BRIN'.
  4. 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");
  5. Klik op OK.
  6. 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
  2. Kies onder 'Claim rule template' voor Send Group Membership as a Claim en klik op Next.
    Adfs35.png
  3. Kies een omschrijving en vul deze in bij ‘Claim rule name’, bijvoorbeeld ‘eduPersonAffiliation-staff’.
  4. Selecteer bij ‘User's group’ de naam van de group die bij het type gebruiker 'staff' hoort.
  5. Bij ‘Outgoing claim type’ moet 'eduPersonAffiliation' worden ingevuld.
  6. Bij ‘Outgoing claim value’ moet 'staff' worden ingevuld.
  7. Herhaal de stappen 3 t/m 6 voor ‘student’ en ‘employee’.
  8. Klik op OK.
  9. Klik op OK.

Testen

U kunt testen of de aansluiting en de vrijgave van de attributen is gelukt via de 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 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.