Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

SURFnet heeft een multifactor authenticatie (MFA) extensie ontwikkeld voor Microsoft AD FS voor gebruik met SURFsecureID. Met deze extensie kan de tweede factor van een gebruiker in SURFsecureID worden gebruikt voor MFA authenticatie in AD FS. De registratie, activatie en het beheer van de tweede factors blijft via SURFsecureID lopen. De authenticatie van een relying party (RP) die aangesloten is op de AD FS server blijft lopen via de AD FS server. Op de AD FS server wordt geconfigureerd wanneer er voor een RP MFA authenticatie nodig is. Als de ADFS MFA extensie voor SURFsecureID door AD FS wordt aangeroepen, dan verzorgd deze de authenticatie van de tweede factor van een gebruiker bij SURFsecureID.

...

We raden aan een backup of snapshot te maken van de AD FS server(s) voorafgaand aan de installatie.

Download SetupPackage

Download SetupPackage-2.0.2.exe van https://github.com/SURFnet/ADFS-MFA-SAML2.0-Extension/releases/download/2.0.2/SetupPackage-2.0.2.exe. Dit is een self-extracting archive welke gesigned is door SURFnet bv. Pak deze file uit op de primary AD FS server. Het SetupPackage bevat het installatieprograma (Steup.exe), de plugin MFA extensie en de benodigde configuratie voor de verschillende SURFsecureID omgevingen: productie, pilot en test.

Verifieer de AD FS configuratie

Voer het de Setup.exe uit de SetupPackage uit in check mode. Dit voert een aantal checks uit op de AD FS server. De AD FS service moet hiervoor gestart zijn.

...

Installatie op de primaire AD FS server

Voer het de Setup.exe uit de SetupPackage uit in installatie/upgrade mode:

...

Het installatieprogramma zal om een aantal configuratiegegevens gaan vragen welke nodig zijn voor de configuratie van de plugin. Hieronder lopen we door de vragen die Setup stelt heen.

SURFsecureID omgeving

Panel
There are different SecondFactorOnly servers, their names suggest their usage.

1. Production (https://sa-gw.surfconext.nl/second-factor-only/metadata)
2. Pilot (https://gateway.pilot.stepup.surfconext.nl/second-factor-only/metadata)
3. Test (https://sa-gw.test.surfconext.nl/second-factor-only/metadata)

Select a SecondFactorOnly gateway environment (123x?) [1]:

Hier configureer je welke SURFsecureID omgeving de plugin de MFA extensie moet gebruiken voor de verificatie van de tweede factor.

...

Geef hier het SP EntityID van de ADFS plugin op. Dit is het unieke ID van deze plugin installatie deze MFA extensie in SURFsecureID en is vrij te kiezen. Het formaat is een URI (URL). Zorg dat het voor iedereen duidelijk is dat dit bij de plugin deze MFA extensie installatie hoort, en gebruik een domein dat eigendom is van de eigen organisatie. Het setup programma doet zelf al een suggestie op basis van de DNS naam van de ADFS service.

...

Panel
The SFO MFA extension needs a certificate to sign its SAML2 messages

1. Select an existing certificate in the store
2. Import a certificate from a '.PFX' file
3. Create a Self Signed certificate

How do you want to select a certificate (123x?) [1]: 3

De plugin De MFA extensie heeft een signing certificaat (met bijbehorende public/private keypair) nodig. Met dit certificaat worden de authenticatieverzoeken van de plugin naar SURFsecureID ondertekend. Gebruik hiervoor een selfsigned certificaat, een TLS server certificaat dat bij een certificaatverstrekker vandaan komt is dus niet geschikt.

Omdat dit een nieuwe installatie is, en we dus nog geen certificaat hebben, laten we het Setup programma een nieuw certificaat voor ons gegereren (optie 3) en we kiezen er ook voor om het certificaat met de private key als pfx file te exporteren, we hebben dit cetrificaat certificaat namelijk nodig voor de configuratie van de andere ADFS AD FS servers. 

Panel
The new certificate is now in the Certificate Store (Local Computer).
It can be exported at any time.
Other servers in the farm must use the same certificate.

Do you want to export this certificate now as a '.pfx' (ynx?): y

The PFX filepath: C:\Users\surf\Downloads\SetupPackage-2.0.2\Config\SP-SFO-Extension 20200603.pfx
The password is: T+Fl2u/ysle4bk3j
Save it in a safe place.

Did you save it somewhere in a safe place (ynx?): y
Subject: CN=SFO MFA extension http://adfs-2016.test2.surfconext.nl/stepup-mfa
Issuer: CN=SFO MFA extension http://adfs-2016.test2.surfconext.nl/stepup-mfa
Valid until: 2025-06-02
Thumbprint: FC7D0F8B8A03FC7B445DCBA218A3855B2E5487FB

Continue with this certificate (ynx?) [y]: y

...

Panel
Install version 2.0.2.0 (ynx?): y

Installation on local disk successful.

Registration Info filepath: C:\Users\surf\Downloads\SetupPackage-2.0.2\Config\MfaRegistrationData.txt


Registration of new adapter successful.
Registration Successful

Stopping ADFS service.

Stopped ADFS service
Starting ADFS service..
Started ADFS service

Everything was OK.
Take a look at the ADFS EventLog and also the
MFA extension EventLog 'AD FS plugin', to verify it.

De plugin De MFA extensie in nu geregistreerd in AD FS en is geinstalleerd op de Primary AD FS server. De plugin De MFA extensie en de configuratie van de plugin bestanden voor de MFA extensie staan in de ADFS directory (typisch C:\Windows\ADFS).

Checks

De plugin De MFA extensie moet nu door de AD FS service geladen zijn. De identifier van de plugin is "ADFS.SCSA". Na het starten van de AD FS service staat hierover een bericht in het event log: "An authentication provider was successfully loaded: Identifier: 'ADFS.SCSA', Context: 'Proxy device TLS pipeline'". Gebruik de event viewer om dit te controloren. Kijk ook of er (andere) geen errors zijn ontstaan in AD FS:

...

Tijdens de installatie heeft het Setup programma de configuratiegegevens die nodig zijn om de plugin de MFA extensie toe te voegen aan SURFsecureID weggeschreven in de config directory in het SetupPackage. De naam van deze file is MfaRegistrationData.txt.

...

Voor het maken van de koppeling naarproductie naar productie of pilot is toestemming van de SURFconext verantwoordelijke van de betreffende instelling nodig.

...

Installeer de plugin

Voer het de Setup.exe uit de SetupPackage uit in installatie/upgrade mode:

...

Het installatieprogramma leest de configuratie uit de UsedSettings.json. Omdat het certificaat wat in deze configuratie staat niet gevonden kan worden krijgen we de vraag of we een certificaat willen importeren. Dat willen we. Kies de eerder geexporteerde geëxporteerde pfx in de config directory van het setup package en geef het toen getoonde password op:

Panel
Do you want to import a certificate (ynx?): y
Give password for PFX file: T+Fl2u/ysle4bk3j
Subject: CN=SFO MFA extension http://adfs-2016.test2.surfconext.nl/stepup-mfa
Issuer: CN=SFO MFA extension http://adfs-2016.test2.surfconext.nl/stepup-mfa
Valid until: 2025-06-02
Thumbprint: FC7D0F8B8A03FC7B445DCBA218A3855B2E5487FB

Continue with this certificate (ynx?) [y]: y

...

Panel
*** Setup did find a CORRECT CONFIGURATION. With settings as follows:

SFO server (IdP) entityID : https://sa-gw.surfconext.nl/second-factor-only/metadata
schacHomeOrganization : surfguestsurf.nl
Active Directory SFO userid Attribute : descriptionsAMAccountName
MFA Extension (SP) entityID : http://adfs-2016.test2.surfconext.nl/stepup-mfa
MFA Extension (SP) signing thumbprint : FC7D0F8B8A03FC7B445DCBA218A3855B2E5487FB

Do you want to continue with these settings? (ynx?) [y]: y

Install version 2.0.2.0 (ynx?): y

Installation on local disk successful.

Registration Info filepath: C:\Users\surf\Downloads\SetupPackage-2.0.2\Config\MfaRegistrationData.txt


Registration of new adapter successful.
Registration Successful

Stopping ADFS service.

Stopped ADFS service
Starting ADFS service..
Started ADFS service

Everything was OK.
Take a look at the ADFS EventLog and also the
MFA extension EventLog 'AD FS plugin', to verify it.

...

  1. Probeer de installatie nogmaals. Soms is de installatie van de SURFnet AD FS extensie wel gelukt, maar komt deze error.
  2. Disable de AzureMfaAuthentication extensie:
    1. Ga naar AD FS Management
    2. Ga daar naar "Service" -> "Authentication Methods"
    3. "Edit" de "Multy-factor Authentication Methods"
    4. Ga naar de "Primary" tab
    5. Disable daar de Azure MFA authentication

Probleemen tijdens de installatie

  • Het setup programma schrijft MFA-extension.SetupLog.txt naar de SetupPackage. Deze file bevat een log van de installatie
  • Tijdens de registratie stap van de plugin door het Setup programma wordt in de dist directory van het SetupPackage StepUp.RegistrationLog.txt geschreven.

Bewaar deze bestanden bij problemen met de installatie, configuratie, registratie etc van de extensie voordat je contact opneemt met support@surfconext.nl voor assistentie.

Algemene oplossingen:

  • Run Setup.exe check mode: ".\Setup.exe -c"
  • Probeer het opnieuw. Alle setup commando's kunnen worden herhaald
  • Deinstalleer de plugin (".\Setup.exe -x") en herhaal dan de installatie
  • Gaat het alleen om een configuratie probleem, gebruik dan de reconfigure mode van het setup programma: ".\Setup.exe -r"

Configuratie aanpassen

Nadat de MFA extensie is geinstalleerd kan de configuratie worden aangepast. Een deinstallatie is hiervoor niet nodig. Zorg er bij het aanpassen van de configuratie voor dat alle AD FS server dezelfde configuratie van de plugin gebruiken. Geef bij wijzging van certificaat of EntityID van de plugin en bij wijziging van de hostname van de AD FS server opnieuw de MfaRegistrationData.txt door aan support@surfconext.nl.

Gebruik Setup.exe in reconfigure mode voor het wijzigen van de configuratie:

  1. Open een elevated command prompt op de AD FS server

  2. Ga naar de directory waar het SetupPackage-2.x.x is uitgepakt en voer het ".\Setup.exe -r" commando uit.

 Meer Meer informatie

Meer technische informatie over de extensie: https://github.com/SURFnet/ADFS-MFA-SAML2.0-Extension

...