Nous avons réalisé précédemment l'installation du service ADFS. Nous pouvons ainsi commencer à configurer le service FS (Federation Service) sur le serveur.
ADFS impose l'utilisation de certificats TLS. Dans un cadre de laboratoire, vous pouvez générer la paire de clés privés et publiques, puis effectuer pour Microsoft la conversion de la clé publique en .crt
qui est notre certificat en .pfx
:
# Générer un certificat
openssl req -x509 -nodes -days 7300 -newkey rsa:4096 -keyout /home/vemotech/adfs.vemotech.local.key -out /home/vemotech/adfs.vemotech.local.crt
# Convertion CRT vers PFX
openssl pkcs12 -export -out /home/vemotech/adfs.vemotech.local.pfx -inkey /home/vemotech/adfs.vemotech.local.key -in /home/vemotech/adfs.vemotech.local.crt
Si vous souhaitez convertir un fichier .p12
vers un fichier .pfx
, les deux types de fichiers sont exactement au mĂȘme format binaire (format #1), bien que lâextension diffĂšre. Il suffira de simplement de le renommer avec PowerShell ou l'invite de Commande Windows :
C:\Users\VemoTech>rename SSO.ecorp.local.p12 SSO.ecorp.local.pfx
Dans un cadre professionnel en entreprise, le certificat doit ĂȘtre crĂ©Ă© sur une autoritĂ© de certification ou une PKI dĂ©diĂ©e.
Dans le Gestionnaire de serveur, une configuration supplémentaire est requise pour le rÎle "AD FS". En haut à droite du Gestionnaire de serveur, cliquez sur le drapeau, puis Configuration post déploiement : Configurez le service FS :
Nous sommes dÚs à présent dirigé sur l'assistant de configuration des services de fédération Active Directory (ADFS). Cette assistant nous permettra de créer un serveur de fédération :
Si vous avez pour projet de rĂ©aliser un cluster de serveurs ADFS, sĂ©lectionnez lâoption "Ajouter un serveur de fĂ©dĂ©ration Ă une ferme de serveurs de fĂ©dĂ©ration".
Spécifiez ensuite un compte ayant les droits d'administrations sur le domaine afin de réaliser la configuration. Utilisez le compte Administrateur par défaut. Cliquez sur "Modifier" pour changer de compte.
Afin de respecter les bonnes pratiques, crĂ©ez un compte GSMA dĂ©diĂ© au service ADFS (comme dans notre cas). Le compte crĂ©Ă© doit ĂȘtre Administrateur du domaine.
L'assistant suivant nous impose de téléverser un certificat SSL/TLS pour notre serveur ADFS. Importez sous format .pfx
la clé publique pour le serveur ADFS, généré précédemment.
Pour cela, cliquez sur le bouton "Importer" ou sélectionnez un certificat déjà importé sur le serveur.
Une fois importé, le nom du service prends l'identité du certificat (ic : authwall.vemotech.fr).
Choisissez le nom complet du service FS, qui sera par la suite affiché sur le portail Web d'authentification (ex : VemoTech Federation Services).
Lors de la spĂ©cification du compte de service, nous allons reprendre le mĂȘme compte que celui prĂ©cĂ©demment (dans notre cas : sa.adfs) en cliquant sur "SĂ©lectionner" afin de choisir le compte. SpĂ©cifiez ensuite son mot de passe :
Indiquer ensuite la base de donnĂ©es et cliquer sur Suivant. Dans un environnement de laboratoire, nous avons utilisĂ© la base Interne Windows. Mais dans un environnement de production en entreprise, avec une batterie de plusieurs serveurs ADFS, il est conseillĂ© dâutiliser un serveur SQL Windows dĂ©diĂ© sur un autre serveur.
Un récapitulatif de la configuration que nous avons réalisé apparait. Vérifiez les informations. Cliquez ensuite sur "Suivant". Une fois les tests de vérification effectués, cliquer sur "Configurer" :
Et voilà ! Le serveur a bien été configuré !
Si, comme dans notre cas, vous obtenez l'erreur : "Erreur lors de l'Ă©criture des rĂšgles de Pare-feu Windows pour autoriser le trafic entrant vers le service AD FS", il s'agit d'une erreur qui explique que l'assisant n'as pas pu crĂ©er les rĂšgles de flux pour autoriser les connexions nĂ©cessaires Ă AD FS pour ĂȘtre accessible sur le port TCP 80 et 443.
En remédiation, voici les commandes à appliquer avec PowerShell :
Autoriser tout le monde à accéder à la machine sur le port 80 :
PS C:\> New-NetFirewallRule -DisplayName "AD FS HTTP (TCP-IN 80)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 80 -Profile ANY -Group "AD FS" -Description "Allow inbound TCP 80 to ADFS"
Autoriser tout le monde à accéder à la machine sur le port 443 :
PS C:\> New-NetFirewallRule -DisplayName "AD FS HTTPS (TCP-IN 443)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 443 -Profile ANY -Group "AD FS" -Description "Allow inbound TCP 443 to ADFS"
Nous voyons bien que notre rÚgle a été créée et qu'elle est active :
Sur l'interface graphique, dans les fonctions avancées de sécurité du pare-feu Windows :
Si jamais vous souhaitez modifier le nom de l'entreprise ou le nom du service ADFS, il est possible de réaliser cela en allant, depuis la console ADFS dans les propriétés du serveur.
Pour cela, aller dans AD FS > Service, puis clic droit sur Modifier les propriétés du service de fédération.
Vous pouvez ainsi modifier si nécessaire les propriétés :
Vous pouvez également modifier la durée d'une connexion SSO effectuée sur le serveur ADFS (par défaut : 480 minutes).
Passons Ă la configuration de l'ADFS sur le serveur, dans le tutoriel suivant