Search This Blog

dimanche 18 mars 2018

Azure AD - La fédération d'identité avec ADFS - Partie 3

Hello,

Nous allons continuer notre série d'articles autour d'Azure AD / Office365 et l’extension d'un annuaire Active Directory vers Azure AD.

Nous avons vu dans une première partie la présentation d'Azure AD, ensuite dans la deuxième partie, l'étude qui prépare à l’extension de son AD vers Azure AD.

Voici les deux premières parties des articles :


Nous allons continuer sur cette troisième partie qui va traiter la fédération d'identité avec ADFS. (l'installation et configuration d'ADFS).

Les trois types d'extension de son AD vers Azure AD :

  • La synchronisation du Hash du password
  • La fédération d’identité avec ADFS (abordé dans cet article)
  • Le pass through authentication

 Active Directory Federation Services 

ADFS permet une fédération d'identité qui offre un contrôle d’accès et de l'authentification sur plusieurs applications. Par exemple Office 365, des applications en mode SaaS et des applications qui sont hébergées au sein des réseaux internes des organisations.

ADFS offre de nombreux avantages :

  • Offre une authentification transparente pour les utilisateurs finaux
  • Offre le contrôle d’accès eu de l’authentification uniques aux applications

Nouveautés ADFS Windows Server 2016 V 4

  • Mise à jours d'ADFS 2012 R2 à ADFS 2016 devient très facile aujourd'hui
  • Intégration avec Azure MFA
  • Possibilité de configurer Azure MFA pour l'interne ou l'externe
  • Pas besoin d'avoir une infra local pour profiter de l’usage d'Azure MFA
  • Possibilité de se connecter sans mots de passe à partir d'appareils managés depuis l'entreprise 
  • Possibilité de mettre en place plusieurs stratégies d'authentification (conditionnel) comme par exemple, activer le MFA pour les ordinateurs qui ne sont pas gérées par l’entreprise pour plus de sécurité 
  • Prise en charge de Windows Hello entreprise authentification avec Windows 10, ceci permet aux utilisateurs de se connecter aux applications ADFS à partir du LAN ou même depuis l’extérieur sans saisie de mots de passe 
  • ADFS est compatible maintenant avec les derniers protocoles d'authentification modernes pour Windows 10 et les appareils comme IOS ou android
  • Authentification des années LDAP non AD
  • Simplification du journal d’événement d'ADFS, ce qui permettra de faciliter les audits ADFS
  • Amélioration au niveau de la prise en charge du protocole SAML, et meilleure prise en charge avec SAML 2.0 
  • Gestion plus simplifiée du mots de passé des utilisateurs fédérés, avec une possibilité de configurer ADFS afin qu'il puisse envoyer des revendications d'expiration de mots de passe 

Architecture ADFS Windows Server 2016 en production 

En production, il est nécessaire d'avoir l'approche suivante :

  • Deux serveur de fédération ADFS interne qui sont derriere un load balancer interne
  • Une base de données SQL Server 
  • Deux WAP (Web application proxy) serveurs placé en DMZ et en workgroup (derriere le Firewall et loadbalancer externe)




Prérequis ADFS 2016 

Certificat:

SSL :

Certificat SSL pour tous les serveurs ADFS ( ADFS + WAP) pour traiter les requêtes HTTPs ( vaut mieux installer le même certificat SSL sur tous les serveurs de la ferme ADFS) ce qui est fait ici dans notre cas.

Ce certificat doit remplir les conditions suivantes :
          Certificat approuvé publiquement
          Le certificat doit contenir la valeur du serveur d’authentification renforcée (EKU)
          Le certificat doit comporté le nom du service ADFS ( enregistrement DNS) exemple ici adfs.nomdomain.fcom dans l’objet
          Possibilité d’utiliser un wildcard comme ceci : *.nomdomain.com

           
Certificat de communication du service :

Certificat pas requis pour la plus part des scénarios ADFS y compris Azure Ad et office, par défaut ADFS le configure avec le certificat SSL fourni lors de la configuration initiale du service ADFS en tant que certificat de communication du service.

-       Recommandation : Il faut utiliser le même certificat SSL que vous utilisez pour vos ADFS et WAP

Certificat Token signing :

-          Recommandation : utilisez le certificat généré par l’ADFS

Certificat chiffrement / déchiffrement de jeton :


-          Recommandation : utilisez le certificat généré par l’ADFS

Configuration matérielle:

Voici les configurations minimales de Microsoft : (pour l'ADFS interne et le WAP)

Configuration matérielle requise

Configuration minimale requise
Configuration recommandée
MÉMOIRE RAM

2GO
4GO
Espace disque

32GO
100GO



ADFS et la base de données:


Il est possible de stocker la base de données ADFS dans une instance SQL server directement, mais cette configuration est recommandée pour les grosses infrastructures, en générale la base de donnée ADFS WID est suffisante (interne et propre au serveur ADFS).

NB :

-       Dans notre cas, nous utilisons la base de données Windows interne, ceci est largement suffisant pour notre infrastructure vu sa volumétrie au niveau users.


Concernant la base de donnée Windows interne , voici ce qu’elle peut prendre en charge et dans quel cas, il faut privilégier un serveur SQL :





L'Active Directory :

  • ADFS requière un domaine AD 2008 ou supérieur. En ce qui concerne le niveau fonctionnel, il doit être au minimum 2003 ou supérieur.
  • Le serveur ADFS doit être joint au domaine active directory de l’organisation, tous les serveurs ADFS doivent être déployés dans le même domaine en cas de ferme ADFS avec plusieurs serveurs.
  • Au moins un DC Windows server 2016 pour Microsoft Passport for work
  • Pour le schéma AD, les installation ADFS Windows Server 2016 requièrent le schéma AD 2016 version minimum 85)
  • ADFS supporte les comptes de service classiques  avec un droit de lecture standard ou alors les groups Managed service account, ce compte de service doit être trusté dans chaque domaine concerné. Dans le cas des MSA, les permissions sont ajoutées automatiquement lors de l’installation.

  • Pour l’authentification Kerberos, le SPN Host /adfs.nomdomain.com doit être enregistré sur le compte de service ADFS, par défaut, ADFS configure cet SPN lors de la création de la nouvelle ferme ADFS.
  •  Les MSA ( managed service Account) sont disponibles dans une infrastructure qui se compose d’au moins un DC sous Windows Server 2012 ou + 



Navigateur internet:

Afin que l’authentification ADFS soit permise, il faut répondre aux besoins suivants :
  •           Javascript activé
  •           Pour le SSO, le navigateur des users clients doit être configuré pour autoriser les cookies
  •           Navigateur doit  supporter l’authentification des client en SSL
  •           Pour le SSO, il faut ajouter le nom du service ADFS (adfs.nomdomain.com) dans la zone intranet local ou alors la zone site de confiance


     Flux firewall ADFS-WAP 

       Entre les serveurs ADFS et le WAP :





      Entre le WAP et les utilisateurs externes :







       DNS :
       
       Pour le LAN :


-        Tous les utilisateurs qui doivent accéder au service ADFS avec l’URL interne, doivent le résoudre le nom du service ADFS avec l’IP interne du serveur ADFS.

Pour le WAN :

Les utilisateurs en externe c’est à dire a l’extérieur du réseau de l’entreprise doivent résoudre le nom du service ADFS avec l’IP public du serveur WAP Proxy qui se trouve dans la DMZ

Au niveau du serveur WAP placé dans la DMZ, il doit être en mesure de résoudre le nom du service ADFS interne, il faut donc dans le fichier host de ce serveur mettre l’IP et le nom du serveur ADFS interne, ainsi que l’enregistrement DNS de type A qui pointe lui aussi sur l’IP du serveur ADFS interne.

  •           Pas de CNAM pour le nom du service ADFS, toujours un record A DNS 


Autorisation:     


L’administrateur qui effectue l’installation du service ADFS, doit être membre du groupe administrateur local du / des serveurs ADFS interne.

Même chose pour le WAP Proxy qui lui en workgroup.

Vous aurez besoin également durant l’installation d’un compte domain admin afin de pouvoir faire la configuration ADFS, vous devrez donc vous connecter à l’AD avec un compte domain Admin.

Une fois que ces prérequis sont respectés, nous pourrons commencer l’installation de l’infrastructure ADFS.

Installation d'ADFS sous Windows Server 2016 

Voici notre architecture ADFS qui est représentée par un serveur ADFS interne et un serveur WAp placé en DMZ. (architecture assez simple, que je vais faire évoluer plus tard...)




Avant de commencer l'installation, installer votre certificat SSL sur le serveur ADFS (ici SRVAAD01) ensuite exportez le certificat avec sa clé privé en format PFX (afin de l'installer plus tard sur le serveur WAP, on le verra dans la partie 4)

Allez dans le server Manager et ajouter un rôle. l'assistant s'ouvre, cliquez sur Suivant:




Cliquez sur Next :




Choisir le serveur et cliquez sur Next :



Cochez "Active Directory Fédération Services" et cliquez sur Next :


Laissez par défaut, et cliquez sur Next:



Introduction à ADFS, cliquez sur Next:



Cliquez sur "Install":


L'installation du rôle ADFS :


A ce stade, le rôle ADFS est installé, mais non configuré, nous allons voir dans le point suivant la configuration de ce dernier.

Une fois le rôle ADFS installé, vous aurez un panneaux jaune qui vous permettra de configurer votre ADFS : cliquez dessus 

vous aurez ensuite l'assistant de configuration qui s'ouvre, cochez "create the first féderation server in a federation server farm" comme ceci et cliquez su Next:


Se munir d’un compte domain admin, notre cas ici avec l’utilisateur mscloud\seyf , ceci sera nécessaire afin d’inscrire le SPN des services de fédération,  cliquez sur Next pour continuer :

A partir de ce moment-là, l’assistant de l’installation va créer automatiquement le SPN de type Host. Il est également possible de le faire à la main avec la commande suivante :

setspn -s HOST/adfs.domain.com domain\adfs



Choisi ici le certificat SSL installé auparavant sur le serveur, ce certificat sera présenté par les services de fédération pour la connexion HTTPS

  •           Définir ensuite le nom du service ADFS, ICI : ADFS.domain.com
  •            Mettre également le nom complet du service ADFS comme ceci et cliquez sur Next :



Nous allons ici créer un compte de service géré (MSA), cela sera plus simple pour la gestion et surtout ce type de compte est géré automatiquement par le service ADFS avec un mots de passe qui n’expire pas.

Pour cela il faut d'abord créer une clé Key Distribution Services : 
  






Ensuite,  cliquez sur Créer un compte de service de groupe : ( nom : mscloud\svcadfs)




 Sélectionnez ensuite la base de données Windows Interne (WID), car cela est suffisant pour notre besoin et cliquez sur Next :


Un récap de vos actions, cliquez ensuite sur Next :


L'assistant effectue un check afin de vérifier tous les prérequis ADFS , cliques ensuite sur "Configure" comme ceci : 



Une fois terminée, vous pouvez cliquez sur "Close":




Une fois que le rôle ADFS installé et le service ADFS configuré, nous pourrons lancer un test afin de valider le fonctionnement du service ADFS.

Pour cela, il suffit lancer internet explorer et aller sur l’URL suivante :




Vous devez avoir l'erreur suivante :



Tout simplement car la page web d'authentification est déactivée par défaut sur ADFS 4 (2016), donc pour l'activer, il suffit de passer la commande Powershell suivante :

Set-AdfsProperties -EnableIdpInitiatedSignonPage $true


 Une fois activé, vous pourrez voir votre page ADFS pour la première fois comme ceci :

Cliquez sur Sign in et connecter vous avec un utilisateur présent dans votre AD :



Une fois connecté, vous aurez ceci , ce qui permet de valider le bon fonctionnement de votre ADFS interne :


 
Nous arrivons à la fin de la partie 3,  qui a traité la partie ADFS et l'installation et configuration de ce dernier, nous verrons dans la prochaine étape (partie 4) la mise en place du WAP dans la DMZ.

Une fois terminée, on passera en détail sur l’infrastructure ADFS  (Partie 5) afin de faire un peu de deep-dive au niveau de la console, des certificats, des options etc .

en attendant, Enjoy !

Cordialement,
ST

< >