Les 4 étapes précédentes nous ont permis de mettre en place les différents services d’infrastructure nécessaires à la mise en œuvre de notre maquette, de même qu’une application Web de test, ClaimApp, qui nous sert à démontrer, en affichant les revendications présentées par l’utilisateur et l’appareil depuis lequel il accède, sous quelles conditions se font les accès.

La maquette est fonctionnelle pour démontrer la jonction au Lieu de travail (le Workplace Join décrit dans le billet précédent BYOD : Le “Workplace Join” de Windows Server 2012 R2) à partir d’un poste Windows 8.1, d’une tablette Windows RT 8.1 ou d’un iPad, mais nous allons d’abord nous intéresser à une fonction de sécurité supplémentaire : l’authentification multifacteur.

Cette fonction est disponible sous la forme d’un service Cloud, Windows Azure Multi-factor Authentication (ou Azure MFA en plus court) qui permet de s’appuyer sur le couple identifiant-mot de passe de l’utilisateur en y ajoutant un facteur d’authentification supplémentaire : la preuve de possession d’un appareil mobile associé à l’utilisateur. Pour accéder à l’application, l’utilisateur doit d’abord entrer son identifiant et son mot de passe ; on lui signifiera alors qu’il doit passer par une étape supplémentaire consistant à valider un appel qu’il va recevoir sur son téléphone mobile. Il y a plusieurs possibilités mais la plus simple consiste à acquitter l’appel par appui sur la touche #. C’est uniquement après cette 2èmeétape de vérification qu’il se verra accordé l’accès à l’application.

D’un point de vue sécurité, on voit bien l’intérêt : en cas de vol de l’identifiant et du mot de passe de l’utilisateur, la personne malveillante qui cherchera à accéder à l’application se trouvera bloquée. Pour pouvoir avoir accès à l’application, elle devrait en plus être en possession du téléphone mobile de l’utilisateur (lui avoir subtilisé) et avoir la connaissance du code PIN permettant de débloquer le téléphone. On voit que les critères d’accès deviennent plus compliqués pour l’attaquant, et la fenêtre d’utilisation des informations d’authentification assez courte car l’utilisateur risque de s’apercevoir assez rapidement du vol de son téléphone mobile. De plus, si l’attaquant tente (bêtement) de franchir la deuxième barrière, l’utilisateur recevra un appel lui signalant une tentative d’accès frauduleuse et, par là même, la compromission de son identifiant et mot de passe.

Dans ce billet, nous allons mettre en place les composants nécessaires pour faire qu’un utilisateur accédant à l’application WebApp doive prouver qu’il possède le téléphone mobile associé à son identité.

Pour rappel, avant de vous lancer dans les étapes ci-dessous, vous devez d’abord avoir suivi les premières étapes de construction de la maquette décrites dans les 4 précédents billets :

Si vous êtes intéressés par les différentes déclinaisons de Azure MFA, consultez le billet de mon collègue Arnaud Lheureux Authentification multi facteurs avec Windows Azure Multi-Factor Authentication – partie 2. La série de billets sur MFA proposée est beaucoup plus ambitieuse. Je me contenterai dans le cadre de cette maquette d’utiliser Azure MFA uniquement en tant que fournisseur d’authentification supplémentaire associé au service AD FS. Pour une présentation approfondie de l’authentification multifacteur, référez-vous au lien Windows Azure Multi-Factor Authentication.

Voir également l’article  Walkthrough Guide: Manage Risk with Additional Multi-Factor Authentication for Sensitive Applicationsqui décrit les étapes de mise en œuvre.

Remerciements à mon autre collègue Arnaud Jumelet pour avoir pris la peine de revalider la partie installation du composant MFA Server.

Etape 1 - Démarrage des VM

1- Démarrage des machines virtuelles

Si vous vous rappelez de la dernière étape du billet BYOD : Construction d’une maquette Azure IaaS Partie 1, vous avez compris l’intérêt d’arrêter complètement les VM pour optimiser les euros de votre crédit Azure. Si vous avez éteint les VM à travers le portail de gestion Azure, vous devrez démarrer DANS L’ORDREla machine DC1 puis ensuite WEBAPP et WAP, ces 2 dernières dans n’importe quel ordre.

  1. Pour démarrer la VM DC1, dans le portail, dans le bandeau de gauche, sélectionnez MACHINES VIRTUELLES, cliquez sur DC1 puis TABLEAU DE BORD et appuyez sur le bouton DEMARRER dans le bandeau inférieur.
  2. Attendez que la machine démarre et vérifiez dans le tableau de bord de la machine dans le bandeau à droite, que le champ ADRESSE IP INTERNE est bien à 10.0.0.4
  3. Répétez l’opération 1 avec la VM WEBAPP et la VM WAP.

POINT IMPORTANT : Rappelez-vous que l’accès aux VM depuis l’extérieur se fait par le biais d’une adresse virtuelle (VIP) qui va rester attribuée tant qu’une VM reste allouée dans le Cloud Service. La VM la plus critique de notre maquette est DC1 qui porte l’ensemble des services d’infrastructure dont le service DNS. Pour éviter de se voir réattribuer systématiquement une nouvelle VIP et donc d’avoir à systématiquement mettre à jour les fichiers host ou les enregistrements dans le service DNS de votre provider, je vous conseille de conserver la VM DC1 allumée.

Pour les deux autres machines WAP et WEBAPP, vous pouvez soit les éteindre sans oublier de les désallouer, soit passer sur une modèle de machine « Très petite », plus économique et qui se révèle suffisant vu la très faible sollicitation de ces deux VM.

image

2- Ajustement de la taille des VM (Optionnel)

Si vous souhaitez ajuster la taille des VM WAP et WEBAPP, cette modification peut heureusement se faire sans avoir à réinstaller.

Par exemple, si vous souhaitez passer la VM WAP d’un modèle « Petite » à « Très petite » :

  1. Connectez-vous en RDP sur la VM WAP et arrêtez-la.
  2. Depuis le portail de gestion Azure, allez sur MACHINES VIRTUELLES puis sélectionnez la VM WAP, puis CONFIGURER.
  3. Dans TAILLE DE LA MACHINE VIRTUELLE, choisir dans le menu déroulant « Très petite (Cœur partagé, 768 Mo de mémoire) », puis appuyez sur l’icône de la disquette ENREGISTRER.
  4. Confirmez en cliquant sur la case OUI.
  5. Après quelques instants, vous pouvez redémarrer la VM depuis le portail de gestion Azure.

 

Etape 2 - Création du Fournisseur d’authentification multifacteur

Avant de pouvoir utiliser le service MFA, il est nécessaire de passer par la création d’un fournisseur d’authentification multifacteur. L’utilisation du service MFA n’est pas gratuite mais le coût sera pris sur le crédit qui nous est alloué dans le cadre de la souscription. Pour un utilisateur de démonstration, le coût est raisonnable (1,49 € à la date de rédaction du billet), d’autant que l’on se contentera d’une activation pour un seul utilisateur.

  1. Dans le portail de gestion Azure, cliquez sur le bouton + NOUVEAU, puis SERVICE D’APPLICATION, ACTIVE DIRECTORY, FOURNISSEUR D’AUTHENTIFICATION MULTIFACTEUR, et CREATION RAPIDE.
  2. Choisissez un nom, par exemple BYOD-MFA, puis le modèle d’utilisation « Par utilisateur activé ».
  3. Choisir dans notre cas de ne pas lier à un annuaire, puis appuyez sur la case CREER.

Note : Le modèle d’utilisation est soit « Par utilisateur activé» soit « Par authentification ». Dans le premier cas, pour un coût mensuel fixe (1,49€ à date), vous disposez d’un nombre illimité d’authentifications pour cet utilisateur, soit dans le 2ème cas, vous payez (également 1,49€) par ensemble de 10 authentifications quel que soit le nombre d’utilisateurs. Voir Tarification de l'authentification multifacteur.

Etape 3 - Téléchargement du composant Multi-Factor Authentication Server

Le composant Multi-Factor Authentication Server doit être installé sur le serveur DC1 hébergeant le service AD FS pour lui mettre à disposition le fournisseur d’authentification multifacteur. C’est lui qui se charge de communiquer avec le Service en ligne Azure MFA assurant la fonction d’appel téléphonique, puis de récupérer en retour l’acquittement (ou le refus).

Pour installer le composant sur la VM DC1, le plus simple est de le télécharger directement depuis cette machine.

1- Prérequis de résolution DNS

Pour accéder au portail depuis la VM DC1, vérifiez que la résolution de noms DNS pour l’externe passe bien uniquement par les root hints.

  1. Connectez-vous en RDP sur DC1.
  2. Ouvrez Server Manager, puis Tools et DNS pour lancer la console de gestion DNS.
  3. Faites un clic droit sur DC1, puis Properties et allez sur l’onglet Forwarders.
  4. Si vous voyez figurer un Forwarder, supprimez-le.

2- Téléchargement depuis le portail de gestion Azure

  1. Connectez-vous en RDP sur DC1.
  2. Cliquez sur le bouton Start pour aller à l’écran d’accueil et entrez iexplore puis validez.
  3. Entrez l’URL https://manage.windowsazure.com/ et authentifiez-vous avec votre compte Azure.
  4. Naviguez vers ACTIVE DIRECTORY, FOURNISSEURS D’AUTHENTIFICATION MULTIFACTEUR, puis sélectionnez GERER.

image

    5.    Vous êtes redirigés vers le portail Windows Azure MFA. Cliquez sur téléchargement.

image

    6.    Dans l’écran suivant Téléchargements Serveur, cliquez sur le lien télécharger et sauvegarder le fichier Multifactorauthenticationserversetup.exesur le bureau.

    7.    Cliquez sur le bouton Générer des informations d’identification d’activation : un email et un mot de passe sont automatiquement générés et devront être utilisés plus tard dans la procédure d’installation. Laissez l’écran ouvert. Vous avez un délai de 10 minutes avant d’arriver à l’écran de demande d’activation, sinon vous devrez demander de nouvelles informations d’identification.

image

Etape 4 - Installation du composant MFA Server

1- Installation du Framework .NET

Le .NET framework version 2.0.50727 doit être préalablement installé avant le lancement du programme d’installation du composant Multi-Factor Authentication Server.

  1. Ouvrez une console PowerShell et lancer la commande suivante :

Install-WindowsFeature NET-Framework-Core

L’installation prendra quelques minutes (en fait moins de 10).

image

2- Installation et activation

Le composant MFA Server peut désormais être installé et activé en utilisant les informations d’identification fournies précédemment depuis le portail, à l’écran de téléchargement.

  1. Lancer l’assistant d’installation de MFA Server en exécutant le fichier MultiFactorAuthenticationServersetup.exe précédemment téléchargé.
  2. Cliquez sur Next puis en fin d’installation (moins d’une minute), cliquez sur Finish.
  3. L’assistant d’installation se lance automatiquement : Sélectionnez “Skip Using the Authentication Configuration Wizard” et cliquez sur Next.image

      4.   Sur l’écran Activate, on vous demande une adresse email et un mot de passe : retournez sur l’écran de téléchargement pour récupérer ces informations d’authentification qui ont été fournies suite à l’appui sur le bouton Générer des informations d’identification d’activation et les recopier dans les champs Email et Password. Cliquez sur le bouton Activate. (Si vous avez laissé passé le délai, PAS DE PANIQUE : il vous suffit de retourner sur l’écran de téléchargement et de redemander de nouvelles informations d’authentification).

      5.   Sur le pop-up suivant, choisissez le Groupe par défaut et validez.

      6.   Sur le pop-up ci-dessous, qui vous invite à lancer le wizard de configuration Multi-Server, choisissez No.

image

      7.   L’installation est terminée et vous voyez s’afficher l’interface de gestion du composant MFA Server.

image

Etape 5 - Paramétrage du composant MFA Server

1- Import des comptes utilisateurs et test

Les utilisateurs qui sont concernés par l’authentification multifacteur doivent être importés dans la base de Windows Azure MFA.

  1. Dans l’écran Multi-Factor Authentication Server, cliquez sur l’icône Users puis sur le bouton Import From Active Directory.
  2. Dans l’onglet List, déployez l’arborescence jusqu’au conteneur Users, et sélectionnez l’utilisateur sur lequel vous voulez tester l’authentification MFA (dans mon cas jtrevages@contoso-corporation.com).
  3. Cliquez sur Import, OK, puis Close pour fermer l’écran d’import.
  4. Positionnez-vous sur l’utilisateur qui vient d’être importé (vous remarquerez un petit triangle orange /danger qui indique que l’utilisateur n’est pas actif) et cliquez sur Edit.
  5. Dans la fenêtre Edit User, renseignez l’indicatif et le numéro de téléphone portable qui devra être appelé pour la seconde authentification. N’oubliez pas ensuite de vérifier que la case à cocher Enabled est bien cochée et cliquez sur Close.

image

      6.   Vous pouvez tester en sélectionnant l’utilisateur puis en appuyant sur le bouton Test. Après avoir fourni le mot de passe dans le pop-up Test User, cliquez sur le bouton Test. Vous allez recevoir un appel sur le téléphone portable vous demandant de valider en appuyant sur la touche #.

Note: On n’explore pas toutes les possibilités du produit et plus particulièrement la possibilité de synchronisation automatique avec l’Active Directory.

2- Intégration avec AD FS

Ce qui nous intéresse dans ce billet est la possibilité d’utiliser Windows Azure MFA comme fournisseur d’authentification supplémentaire pour AD FS, ce qui nous permettra de profiter de cette fonction pour toutes les applications ou services s’appuyant sur le service de fédération.

  1. Dans l’écran Multi-Factor Authentication Server, cliquez sur l’icône AD FS et sélectionnez les cases à cocher Allow user enrollment, puis Phone call et Enable logging (voir ci-dessous).

image

      2.   Lancer l’installation en cliquant sur Install ADFS Adapteret suivez le wizard d’installation.

3- Enregistrement du server MFA dans AD FS

Pour enregistrer le service MFA comme fournisseur d’authentification auprès d’AD FS, on doit s’appuyer sur un script PowerShell.

  1. Ouvrez une ligne de commande PowerShell et lancer le script Register-MultiFactorAuthenticationAdfsAdapter.ps1 depuis le répertoire C:\Program Files\Multi-Factor Authentication Server.

image

      2.   Il faut ensuite redémarrer les services AD FS et DRS en entrant en ligne de commande

net stop adfssrv & net start adfssrv & net start drs

4- Activation du fournisseur MFA dans AD FS

La dernière étape de la configuration consiste à activer le fournisseur MFA au niveau du service AD FS lui-même.

  1. Ouvrez la console de gestion AD FS, et naviguez jusqu’à Authentications Policies et dans la section Multi-factor Authentication, Global Settings, cliquez sur le lien Edit.

image

      2.   Dans l’écran Edit Global Authentication Policy, cochez la case WindowsAzureMultiFactorAuthentication.

image

Désormais, l’authentification Azure MFA est disponible globalement au niveau du service AD FS !

Etape 6 – Activation de l’authentification MFA pour l’accès à ClaimApp

Cette ultime étape de configuration consiste à paramétrer l’utilisation de l’authentification MFA pour l’accès à l’application de test ClaimApp.

Jusqu’à maintenant, tout utilisateur capable de s’authentifier avait accès à l’application de test. On peut imposer dorénavant des critères supplémentaires pour l’accès à l’application en fonction de nouveaux scénarios. Par exemple on peut décider que pour les accès depuis l’extérieur de l’entreprise, les utilisateurs dont les appareils ne sont pas enregistrés au Lieu de travail (Workplace joined) se verront imposer une authentification supplémentaire MFA.

Pour implémenter ce scénario, rien de plus simple :

  1. Ouvrez la console de gestion AD FS et naviguez jusqu’à Authentications Policies, Per Relying Party Trust et sélectionnez Claimapp.
  2. Dans le panneau Actions à droite, cliquez sur le lien Edit Custom Multi-factor Authentication.
  3. Dans le cadre Devices, cochez la case Unregistered devices.

image

Tout accès depuis un appareil non-enregistré imposera l’authentification multifacteur à l’utilisateur.

Note : L’interface ci-dessus permet de configurer très facilement des règles avec des critères simples (appartenance à un groupe, appareil enregistré ou non, accès Internet ou Intranet) ; il est possible d’aller plus loin dans la configuration des politiques d’authentification MFA en utilisant PowerShell pour définir des règles basées sur le langage de description propre à AD FS. Pour plus de précisions, reportez-vous à l’article Technet Active Directory Federation Services-Configuring Authentication Policies.

Etape 7 – Test de l’authentification MFA pour l’accès à ClaimApp

Vous allez pouvoir savourer le résultat de votre travail !

A partir de votre poste de travail (qui a été préparé à l’étape 7 du précédent billet BYOD : Construction d’une maquette Azure IaaS Partie 4avec l’import du certificat racine et résolution DNS)  :

  1. Lancer Internet Explorer et entrez l’URL https://webapp.contoso-corporation.com/claimapp/ (sans oublier de modifier le nom de domaine).
  2. Comme vous n’êtes pas authentifié, l’application va vous rediriger vers le serveur AD FS (publié à travers WAP) qui va afficher la page d’authentification ci-dessous

image

      3.   Entrez l’identifiant et le mot de passe du compte d’administration que vous avez défini (dans l’exemple jtrevages@contoso-corporation.com). L’écran suivant vous souhaite la bienvenue dans CONTOSO, signe que l’authentification a été réussie, mais, comme votre poste n’a pas été joint au Lieu de travail, on vous propose de continuer à la condition que vous ayez à disposition votre téléphone portable. Cliquez sur le bouton Continuer.

image

      4.   Vous allez recevoir un appel téléphonique avec un message vous invitant à appuyer sur la touche # de votre téléphone. Une fois cet appui effectué, vous serez redirigé immédiatement vers l’application de test Claimapp.

image

FELICITATIONS ! Vous êtes arrivé à l’objectif visé de mettre en place l’authentification multifacteur pour l’accès à l’application de test ClaimApp accessible depuis internet.

Récapitulons

Nous venons d’ajouter à notre maquette BYOD une fonction supplémentaire par l’intégration de Windows Azure Multi-factor Authentication ; cette fonctionnalité apporte, de manière simple, une protection supplémentaire sur la phase d’authentification de l’utilisateur en lui permettant d’utiliser son téléphone mobile comme facteur additionnel. Dans ce billet nous nous sommes focalisés sur son intégration avec le service de fédération AD FS, ce qui implique que les applications qui s’appuient sur ce service pourront bénéficier immédiatement de l’authentification multifacteur.

Nous n’avons pas été dans le détail des possibilités pour la définition des critères pouvant être pris en compte comme déclenchement de l’authentification MFA, mais il est possible de s’appuyer sur le langage de description AD FS pour s’adapter à des scénarios de contrôle d’accès plus complexes.

Enfin, dans un contexte BYOD où le renforcement de l’authentification est un véritable enjeu, ce billet aura pu vous donner un premier aperçu des possibilités de l’authentification multifacteur.