In deze handleiding lees je hoe je jouw instelling of organisatie kunt aansluiten op SURFconext als Identity Provider, kortweg IdP, met behulp van ADFS. In ADFS-terminologie wordt dit ook een Claims Provider genoemd.
Deze procedure voor het aansluiten als Identity Provider op SURFconext bestaat uit de volgende onderdelen:
- Een ADFS serversysteem inrichten; waaronder Windows Server 2016 configureren en ADFS installeren.
- De ADFS server configureren voor aansluiting als Identity Provider (IdP) voor SURFconext. En attributen configureren en vrijgeven aan SURFconext.
- Een ADFS proxy inrichten indien toegang van buiten het lokale netwerk gewenst is.
Deze handleiding is gebaseerd op de release van ADFS 4 zoals voor Windows Server 2016.
Waarom een server en een proxy inrichten?
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.
De proxy zorgt ervoor dat gebruikers die niet zijn ingelogd op het (windows-)domain, via een webpagina (username/ password formulier) kunnen inloggen. Dit formulier kan aan de look-and-feel van jouw organisatie worden aangepast.
ADFS 4.0 Server inrichten
Dit document beschrijft de installatie van een ADFS server op Windows Server 2016. Voordat je de specifieke instellingen voor SURFconext 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 SURFconext:
- 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.
AD DS Server Rol installeren
Hieronder wordt ingegaan op het installeren van de AD DS Server Role op Windows Server 2016. Klik op hieronder op 'Click here to expand' om het stappenplan te zien.
Stappenplan AD DS Server Rol 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.
Stappenplan AD FS Server Software Installeren
ADFS Proxy installeren
Algemeen
Het is belangrijk dat de ADFS Proxy de ADFS server onder de voor de ADFS service gekozen DNS naam kan bereiken. De Proxy zelf moet echter onder dezelfde naam voor de buitenwereld (het internet) bereikbaar zijn. Hiervoor kan een split-DNS configuratie ingericht worden. Dit is een Domain Name System (DNS) implementatie waarbij verschillende verzamelingen DNS gegevens worden geleverd afhankelijk van de bron van het DNS verzoek. In de praktijk komt het er op neer dat de DNS server voor een computer binnen het intranet een private adres van de server binnen de intranet grenzen geeft en voor gebruikers van buitenaf (het internet) het adres van de server in de DMZ of de firewall/router die verbonden is met de server. Als dat niet mogelijk is, moet de Proxy op een andere manier verteld worden wat het IP adres van de ADFS server is. Dit kan met behulp van de hosts file (C:\Windows\System32\Drivers\etc). Voeg hiervoor een regel toe met vooraan het fysieke adres van de ADFS server en daarachter de servicenaam waaronder de ADFS dienst beschikbaar is:
# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. #127.0.0.1 localhost #::1 localhost 145.0.6.22 login2.wind.surfnet.nl
Let op: dit bestand is alleen als Administrator te bewerken. Start hiervoor een Notepad op onder “run as Adminstrator” conditie.
ADFS Proxy installeren
We gaan nu de ADFS Proxy installeren. Volg de stappen zoals hieronder aangegeven.
Stappenplan AD FS Proxy Installeren
Metadata doorgeven aan SURFconext
Als de ADFS server en ADFS Proxy of Web Application Proxy geïnstalleerd zijn en hun werking gecontroleerd kan de metadata URL doorgeven worden aan SURFconext. Om er voor te zorgen dat de metadata voor de Identity Provider langer houdbaar is verlengen we de duur van het Token Signing certificaat op de ADFS server eerst even door in een Powershell de volgende commando's uit te voeren:
Set-ADFSProperties -CertificateDuration 1825
Als er nog geen andere Relying Party Trusts configuraties bestonden voor deze installatie:
Update-ADFSCertificate -CertificateType Token-Signing -Urgent
(deze worden namelijk onbruikbaar door het uitvoeren van bovenstaande commando)
En ter controle:
Get-ADFSCertificate -CertificateType Token-Signing
Het Token-Signing certificaat is nu als het goed is vijf jaar geldig.
Aanleveren Metadata
Vervolgens kan een mail naar SURFconext gestuurd worden (support@surfconext.nl) met daarin de volgende informatie:
- Metadata URL: https://<servicenaam>/federationmetadata/2007-06/federationmetadata.xml
En alle onder deze URL genoemde extra gegevens. Neem appendix B door over openstaande poorten op de server.
Appendix A Certificaat installeren
Deze handleiding gaat er vanuit dat het certificaat plus private key beschikbaar is in de vorm van een .pfx bestand. Als het certificaat en de private key alleen los beschikbaar zijn als respectievelijk cert.pem en cert.key met certificate chain chain.pem, is daar met het volgende openssl commando een cert.pfx bestand van te maken:
#openssl pkcs12 -export -passout pass:123welkom -in cert.pem -certfile chain.pem -inkey cert.key -out cert.pfx
Het cert.pfx bestand heeft nu als voorbeeld wachtwoord 123welkom.
Volg het stappenplan zoals hieronder aangegeven.
Stappenplan Certificaat Installeren
Appendix B Poorten dichtzetten
Om verkeerd gebruik van je proxy te voorkomen kun je Outbound en Inbound regels definieren. Doorloop onderstaande stappen en maak aanpassingen waar nodig om poorten dicht te zetten of regels te definieren.
Firewall en poortconfiguraties