Skip to main content

Configurer ADFS

Prérequis

  • Un serveur AD: SRV-AD
  • Un serveur ADFS: ADFS-01
  • Un serveur Proxy WAP (En DMZ)

Création d'une zone DNS

Sur mon DNS je vais commencer par créer une nouvelle zone DNS ADFS pour mon domaine public.

Création attendue :

  • Zone principale
  • Enregistrer la zone dans Active directory
  • Etendue de la zone de réplication vers tous les serveurs DNS exécuté sur des contrôleurs de domaine dans ce domaine : « mondomaine »
  • Nom de la zone : adfs.mondomainepublic.fr
  • N’autoriser que les mises à jour dynamiques sécurisé

image.png

image.png

image.png

image.png

Créer un enregistrement DNS:

  • Nom cible : vide
  • Adresse IP : adresse IP du serveur AD FS
  • Pointeur PTR activé

image.png

Créer un gMSA (facultatif mais recommandé)

Générer une clé KDS Racine

Add-KdsRootKey –EffectiveTime ((Get-Date).AddHours(-10))

image.png

Créer un gMSA

New-ADServiceAccount -Name "gMSA-01" `
                     -Description "gMSA pour ADFS" `
                     -DNSHostName "gmsa-01.coubiac.local" `
                     -ManagedPasswordIntervalInDays 30 `
                     -PrincipalsAllowedToRetrieveManagedPassword "ADFS-01$" `
                     -Enabled $True

image.png

Associer le compte de service gMSA à l'objet ordinateur ADFS-01

Add-ADComputerServiceAccount -Identity ADFS-01 -ServiceAccount gMSA-01

image.png

Ajouter le gMSA sur le serveur

Pour ajouter le gMSA sur le serveur ADFS-01, celui-ci va avoir besoin d'un cmdlet présent sur le module RSAT ActiveDirectory. Il faut donc commencer par installer ce module

Add-WindowsFeature RSAT-AD-Powershell

Ensuite on peut installer le gMSA:

Install-ADServiceAccount gMSA-01

image.png

Générer un certificat

Pour générer un certificat, on peut utiliser ce script powershell:

$dnsName = "adfs.coubiac.ovh"
$subject = "CN=$dnsName, OU=Informatique, O=Coubiac, L=Nantes, S=Pays de la Loire, C=FR"
$certStoreLocation = "Cert:\LocalMachine\My"
$exportPath = "c:\certificats\certificat_adfs.cer"


$cert = New-SelfSignedCertificate `
    -Subject $subject `
    -DnsName $dnsName `
    -CertStoreLocation $certStoreLocation `
    -KeyExportPolicy Exportable `
    -KeyLength 2048 `
    -KeyAlgorithm RSA `
    -Provider "Microsoft RSA SChannel Cryptographic Provider" `
    -NotAfter (Get-Date).AddYears(1) `
    -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2") # SSL Server + Client Auth
Export-Certificate -Cert $cert -FilePath $exportPath


Une fois le certificat créé, on peut utiliser une GPO pour le propager sur tous les ordinateurs de l'AD:

image.png


Installer le Role ADFS sur ADFS-01

Pour installer le service ADFS, comme d'habitude, on passe par le gestionnaire de serveur:

image.png

Configuration post déploiement:


image.png

image.png

Choisir le certificat généré précédemment:

image.png

Utiliser le compte gMSA créé plus tôt:
image.png

image.png


image.png


image.png


Tester la connexion

Par défaut, la page de connexion n'est pas activée sur Windows Server 2016 et ulterieur. On peut le vérifier à l'aide du Cmdlet Get-AdfsProperties.

image.png


Pour activer la page:

Set-AdfsProperties –EnableIdpInitiatedSignonPage $True

image.png

On peut vérifier:

Get-AdfsProperties | Select-Object EnableIdpInitiatedSignonpage

image.png

On peut ensuite tester la page en allant sur l'URL: https://adfs.coubiac.ovh/adfs/ls/idpinitiatedsignon.aspx

image.png


Vous pouvez, maintenant vous connecter avec un utilisateur du domaine:

image.png

Si la connexion fonctionne:
image.png


Installation du proxy WAP

Le proxy WAP va être installé sur un serveur autonome en DMZ appelé WAP-01.

Comme d'habitude, pour installer un rôle, on passe par le gestionnaire de serveur.