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


Proxy d'application Web (WAP: Web Application Proxy)

Prérequis

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

Il faut commencer par créer un enregistrement DNS:

image.png

Sur le serveur ADFS-01, activer les règles de firewall suivantes:


image.png

image.png

Sur le Serveur WAP-01, Activer les règles de pare-feu suivantes:

image.png

image.png

Installation

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

image.png


image.png

Configuration Post Installation

Comme pour l'ADFS, le proxy wap nécéssite une configuration post installation

Installation du certificat

Comme le serveur est un serveur autonomé, la GPO ne s'est pas appliquée. Il faut donc installer le certificat adfs manuellement.

Exportation du certificat

Sur le serveur adfs, allez dans "certlm.msc" (Certificats Ordinateurs) et lancez l'exportation du certificat:
image.png

Exporter aussi la clé privé

image.png

image.png

Protegez le certificat avec un mot de passe:
image.png

image.png


Importation du certificat

image.png

image.png

image.png

image.png

image.png

Assistant post-installation


image.png

image.png

⚠️ Avertissement – Échec possible de l’enregistrement du proxy WAP

Si votre serveur WAP est volontairement hors domaine (ce qui est recommandé dans une architecture sécurisée), vous pouvez rencontrer cette erreur lors de la configuration du proxy :

Une erreur s’est produite lors de la tentative d’établissement d’une relation d’approbation avec le service de fédération.
Erreur : Impossible de se connecter au serveur distant.

image.png

🎯 Cause : par défaut, Windows applique un filtrage de sécurité sur les connexions distantes utilisant des comptes administrateurs. Cela empêche l’assistant WAP d’utiliser correctement un compte domaine pour configurer le proxy sur un serveur autonome.

Solution (contexte pédagogique ou sécurisé) : ajouter la clé suivante sur le serveur ADFS pour autoriser les connexions distantes avec les droits administrateur complets :

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"LocalAccountTokenFilterPolicy"=dword:00000001

🔁 Redémarrez le serveur ADFS après modification, puis relancez l’assistant.

🛡️ Remarque importante : Cette méthode est acceptable dans un TP ou un lab contrôlé. En environnement de production, il est impératif de :

  • Restreindre l’accès au réseau du serveur WAP (pare-feu, isolation DMZ)
  • Protéger les comptes locaux (mot de passe fort et unique, LAPS si possible)
  • Surveiller les accès et journaux d’événements

image.png


Modifier la configuration d'Entra Connect.

Il reste maintenant à modifier la configuration d'Entra connect pour utiliser ADFS