Intégrer l'authentification 2FA avec ADFS

Formation Libérez tout le potentiel de Microsoft ADFS

Tutorial Thumbnail

L'objectif ce tutoriel est de renforcer l'authentification des utilisateurs du domaine depuis le portail ADFS avec une authentification supplémentaire du mot de passe qui sera au travers d'un système de connexion à double facteurs (2FA).


Actuellement dans l'état des choses et dans la poursuite de notre formation sur l'ADFS, nos applications sont configurés avec l'authentification ADFS mais sans double authentification. Notre objectif sera donc de configurer cela.


Introduction

La double authentification (ou authentification à deux facteurs) est un mécanisme de sécurité qui ajoute une étape supplémentaire pour vérifier l'identité d'un utilisateur lorsqu'il se connecte à un compte en ligne.


En plus du nom d'utilisateur et du mot de passe, l'utilisateur doit fournir une seconde preuve d'identité, comme un code généré par une application de sécurité sur son téléphone portable, une clé de sécurité physique ou une empreinte digitale. Dans notre cas, nous aurons utilité d'un code à usage unique généré avec une application double facteurs TOTP.


La double authentification rend plus difficile pour les personnes malveillantes de s'introduire dans un compte utilisateur, même s'ils ont réussi à obtenir le nom d'utilisateur et le mot de passe de l'utilisateur, car ils n'ont pas accès à la deuxième preuve d'identité requise.


Infrastructure

Afin de réaliser une authentification MFA avec ADFS, nous aurons besoin de deux serveurs :

  • Un serveur ADFS : serveur d'identité dans le réseau interne de l'entreprise.
  • Un serveur de gestion des authentifications Radius : serveur qui va gérer l'authentification TOTP.


Intégration de l'adaptateur Radius

Nous allons configurer l'adaptateur Radius afin de permettre la double authentification. Avant tout, une configuration du côté de notre serveur Radius est nécessaire. Nous allons ici dans notre cas enregistrer notre serveur ADFS avec son adresse IP et le secret Radius rattaché au service. Vous pouvez réalisez la configuration d'un serveur Radius tel que LineOTP par exemple.



Téléchargez ensuite le plugin destiné à proposer la double authentification sur le portail ADFS depuis l'adresse suivante :


Modifier et lancer le script d'installation

Après avoir téléchargé l'archive "RadiusAuthenticationAdaptater_VemoTech.zip", il est nécessaire de modifier quelques informations dans le script Powershell "Install.ps1". Le secret Radius doit être récupéré au préalable sur le serveur TOTP (Radius).

Spécifiez l'adresse IP du serveur et ainsi que la clé secrète du serveur Radius :



Règle de filtrage sur le pare-feu

Modifiez si nécessaire le port Radius si celui-ci ne corresponds pas. N'oubliez pas également de créer une règle de filtrage afin d'autoriser le flux du serveur ADFS à destination du serveur Radius, sur le port TCP radius (1812). Le port 1813 n'est pas nécessaire dans notre cas :



Lancer l'installation

On est paré à réaliser l'installation de l'adaptateur Radius sur notre serveur ADFS. Ouvrez un Invite de Commande PowerShell, puis réalisez les instructions suivantes :




On lance le script .\Install.ps1 et on confirme l'enregistrement de l'adaptateur, puis confirmez également l'ajout de la configuration pour ADFS.

Concrètement, le script créé des clés de registres qui regroupe les variables du serveur TOTP (Secret, IP, Ports, Timeout de connexion au serveur Radius...), copie les DLL compilées (adaptateur Radius & plugin ADFS) et créé le service ADFS.


On oublie pas de redémarrer le service ADFS avec la commande Restart-Service adfssrv -Force :

PS C:\Program Files\VemoTech\RadiusAuthenticationAdapter> Restart-Service adfssrv -Force
AVERTISSEMENT : Attente du démarrage du service « Services de fédération Active Directory (AD FS) (adfssrv) »…
AVERTISSEMENT : Attente du démarrage du service « Services de fédération Active Directory (AD FS) (adfssrv) »…
PS C:\Program Files\VemoTech\RadiusAuthenticationAdapter>



Dans le cadre d'une édition des paramètres, rendez-vous dans l'éditeur de registre Windows (regedit.exe), puis aller au chemin : HKEY_LOCAL_MACHINE\SOFTWARE\VemoTech\RadiusAuthenticationAdapter

Modifiez les informations souhaitée, puis redémarrez le serveur ADFS avec la commande Restart-Service adfssrv -Force.




Configuration de l'adaptateur depuis la console de gestion ADFS

Nous objectif est de maintenant activer l'adaptateur Radius en tant que méthode d'authentification supplémentaire, puis ensuite de forcer l'authentification double facteurs sur une application au préalable configuré. Actuellement, l'adaptateur précédemment installé n'est pas activé sur ADFS.

Pour y remédier, dirigez-vous dans AD FS > Service > Méthodes d'authentification, puis dans la partie "Méthodes d'authentification supplémentaires", cliquez sur le lien "Modifier" :




En cliquant sur "Modifier", dans la section "Supplémentaire", l'adaptateur doit apparaître sous le nom de "VemoTech MFA". Cochez cette option, puis valider en cliquant sur "OK" :



L'adaptateur est activé sur le serveur ADFS.




Activer la connexion double facteurs sur une application

L'adaptateur est désormais installé et actif sur le serveur ADFS, il est intéressant de voir comment sécuriser l'authentification au travers d'une application configuré au préalable. Dans notre cas, nous allons réaliser la configuration sur les applications Exchange (Outlook Web App & Exchange Admin Center).


Dirigez vous dans la partie AD FS > Approbations de partie de confiance, puis sélectionnez l'application correspondante, puis cliquez enfin sur le lien "Éditer la stratégie de contrôle d'accès..." :




Par défaut, la stratégie de contrôle d'accès est définie sur "Autoriser tout le monde". Afin d'activer l'authentification l'authentification classique, suivi de la saisie d'un code à usage unique (double authentification donc), sélectionnez le champ "Autoriser tous les utilisateurs, mais exiger une authentification MFA" :



La même opération doit être réalisée sur les applications à protéger. Dans le cas d'Exchange, la méthode d'authentification doit être ajoutées sur les applications Outlook Web App et l'Exchange Admin Center.


Tester la connexion MFA

Voilà, logiquement, l'authentification est désormais opérationnelle, il est à noter que le compte TOTP doit être bien évidemment créé sur le serveur Radius configuré sur le serveur ADFS. Ici, nous allons réaliser un test de connexion avec un compte destiné à accéder à une application "proxifiée" par l'ADFS :


Réalisons une authentification classique avec le compte "vt_training" :




Directement nous sommes dirigé vers le formulaire d'authentification OTP. Spécifiez le code à usage unique, généré sur le Smartphone.




Nous allons nous connecter avec le code à usage unique :




Troubleshooting

Dans le cas où l'authentification échoue, un message d'erreur est affiché :




Vous pouvez également obtenir plus d'informations sur le serveur ADFS depuis l'Observateur d'évènements de Windows, puis cherchez l'évènements "VemoTech MFA" :



Vous aurez cependant plus d'informations du côté du serveur Radius. Vous pouvez visualiser quelques informations sur la connexion. Concrètement, si vous obtenez des erreurs de connexion, la cause est généralement à cause :

  • Mauvaise Preshared-Key du Radius qui est incorrecte.
  • Vérifiez l'adresse IP du serveur et le port d'écoute du service Radius.
  • Vérifier si le serveur ADFS a accès au serveur Radius (règle de filtrage sur le firewall entre les réseaux, firewall Windows).
  • Si le compte est créé sur le serveur TOTP (et le nom d'utilisateur est identique à celui du nom d'utilisateur Windows sans le domaine local).
  • Vérifiez que le mode d'authentification spécifiée sur le serveur TOTP n'est pas mot de passe LDAP + code TOTP. Cela doit être uniquement une authentification TOTP, uniquement avec le code. C'est pour le champ dédié à la vérification du code TOTP après saisie du nom utilisateur + mot de passe sur l'ADFS.



Niveau Avancé

Prérequis :

Proposer une modification
Antoine
Par Antoine
Rédigé le Vendredi 03 Novembre 2023