Il n'y a pas longtemps, je suis intervenu chez un client afin de sécuriser leur réseau WIFI. Pour cela, j'ai implémenté l'infrastructure WIFI d'une authentification EAP-TLS. Cet article explique comment mettre en place une authentification EAP-TLS. Le tuto va à l'essentiel mais n'hésitez pas à rebondir si vous souhaitez des compléments d'informations, bonne installation :) |
Préambule
Le protocole Extended Authentication Protocol sert pour le transport des données nécessaire à l’authentification.
Ce protocole est extensible, car on peut définir de nouvelles méthodes d’authentifications, il est indépendant de la méthode utilisé :
- EAP-MD5 : Authentification avec un mot de passe
- EAP-TLS : Authentification avec un certificat éléctronique
- EAP-TTLS : Authentification avec n’importe quelle méthode d’authentification, au sein d’un tunnel TLS
- EAP-PEAP : Authentification avec n’importe quelle méthode d’authentification EAP, au sein d’un tunnel TLS
EAP-TLS (Transport Layer Security)
Comme d'autres protocoles (SMTP-TLS, IMAP-TLS, HTTPS, etc.), EAP s'appuie sur TLS pour proposer une
authentification sécurisée. Cette méthode s'appuie sur les certificats électroniques. Ainsi, chaque partie (serveur et client)
doit posséder un certificat pour prouver son identité.
LAB
Présentation
Voici les différents services qui seront nécessaires au déploiement de cette configuration :
- ADDS (Active Directory Domain Services)
- DNS (Domain Name System)
- ADCS (Active Directory Certificate Services)
- IIS (Internet Information Services)
- NPS (Network Policy Server)
Ce tutoriel vous guidera à travers l'installation et la configuration de Windows Server 2008R2 à l'aide de NPS (Network Policy Server) comme serveur RADIUS pour un contrôleur LAN sans fil.
Nous allons configurer le serveur afin qu'il supporte le protocole PEAP avec MS -CHAPv2 pour l'authentification par mot de passe , mais nous allons aussi configurer EAP-TLS qui pourra être utilisé pour authentifier les clients utilisant des certificats que nous allons générer sur le serveur de certificat.
Active Directory (ADDS) est l'annuaire où nous stockerons les comptes utilisateurs, ce sont ces comptes qui seront utilisés pour l'authentification. ADCS permettra de générer un certificat qui sera déployé sur les clients sans fil.
IIS est le serveur web qui permettra aux utilisateurs de demander un certificat dans le cas ou celui-ci ne serait pas déployé automatiquement.
NPS fera office de serveur RADIUS.
Schéma
A venir...
Installation des autorités de certification
Je pars du principe que le contrôleur de domaine AD est déjà installé ;)
Je vais suivre les Best Practice Microsoft qui consiste à avoir un serveur CA ROOT hors-ligne et la CA intermédiaire en frontale.
La première étape consiste donc à mettre en place l'autorité de certification ROOT.
Il faut bien sélectionner Enterprise.
Dans cette première étape, je configure la ROOT CA.
A ce niveau là, il est possible de choisir un autre algorithme.
Cette étape consiste à nommer sont instance ROOT CA.
Pour que les utilisateurs puissent faire une demande de certificat, il est nécessaire de configurer un serveur IIS.
Bien entendu, la CA intermédiaire ne doit pas être installée sur le serveur AD (il est préférable de préciser...). Je mutualise donc l'installation de la CA sur mon serveur ADFS. C'est repartie...
A ce niveau là, il est nécessaire de bien cocher Autorité de certification secondaire.
Cette étape consiste à nommer sont instance Subordinate CA.
Ensuite, il est nécessaire de cibler la ROOT CA.
Installation du serveur NPS
J'installe maintenant le serveur NPS (RADIUS de MS)
Création du certificat pour le serveur NPS (RADIUS)
Il est nécessaire de disposer d'un certificat pour le serveur NPS. Il est possible de s'appuyer sur le modèle de certificat RAS et IAS.
il faut veiller à ce que le compte d'ordinateur (NPS) ait les droits suivants sur le modèle de certificat :
- Read
- Enroll
- Autoenroll
Configuration requise du certificat serveur (avancée)
Vous pouvez configurer les clients pour valider les certificats de serveur à l'aide de l'option Valider le certificat du serveur dans l'onglet authentification dans les propriétés de connexion réseau.
- Le certificat d'ordinateur sur le serveur provient d'une des opérations suivantes :
- une autorité de certification racine
- Une autorité de certification intermédiaire
- Le service IAS ou le certificat d'ordinateur serveur VPN est configuré avec le rôle Authentification du serveur.
- Le nom de la ligne d'objet du certificat du serveur correspond au nom configuré sur le client pour la connexion.
- Pour les clients sans fil, l'extension (SubjectAltName) autre nom du sujet contient le nom de domaine pleinement qualifié du serveur (FQDN).
- Si le client est configuré pour faire confiance à un certificat de serveur avec un nom spécifique, l'utilisateur est invité à prendre une décision sur l'approbation d'un certificat avec un nom différent.
Je duplique ce modèle de certificat (RAS et IAS) afin de lui donner le nom Serveur NPS.
Je publie le certificat afin que je puisse faire par la suite (depuis le serveur NPS) une demande depuis la MMC "Certificats".
Mon certificat serveur est prêt.
Configuration du serveur NPS
Je vais maintenant configurer le serveur NPS.
Ajout du certificat serveur préalablement configuré.
- Importer le certificat Racine (ROOT)
- Importer le certificat Intermediaire (Subordinate)
- Faire une demande de certificat provenant du modèle Serveur NPS
Importer le certificat Intermediaire (Subordinate).
Faire une demande de certificat provenant du modèle Serveur NPS.
Je vais tout d'abord ajouter le client RADIUS qui correspond au contrôleur/routeur WIFI (AP). Il ne faut pas confondre avec les clients WIFI qui sont deux choses différentes.
Pour cela, il faut faire clic droit, puis Nouveau.
L'adresse IP correspond à l'IP de votre contrôleur WIFI.
Entrez un mot de passe dans le champ Secret partagé. Il faudra renseigner le même mot de passe sur le contrôleur WIFI.
Cliquez sur Ok afin de valider la configuration.
L'étape d'après consiste à définir Qui est Quand la stratégie de connexion va s'appliquer.
Je configure maintenant la stratégie réseau.
Maintenant, nous pouvons spécifier certaines conditions. J'ai mis les conditions suivantes:
Groupes d'utilisateurs : Utilisateurs du domaine (il est possible de définir un groupe spécifique EX : grp_EAP-TLS qui correspondra aux utilisateurs pouvant s'authentifier de cette manière).
Type de port NAS : Sans fil - IEEE 802.11. Cela garantit que la politique de réseau s'applique uniquement aux utilisateurs sans fil.
Type d'authentification : EAP
Type de port NAS : Sans fil - IEEE 802.11. Cela garantit que la politique de réseau s'applique uniquement aux utilisateurs sans fil.
Type d'authentification : EAP
Je définis la méthode d'authentification
- Microsoft : carte à puce ou autre certificat > puis je sélectionne le certificat préalablement importé.
- Microsoft : PEAP > puis je sélectionne le certificat préalablement importé > puis je sélectionne le protocole EAP-MSCHAP V2
Configuration du contrôleur WIFI
Chaque configuration va dépendre du matériel actif/contrôleur.
Dans mon cas, il faut bien sélectionner AP.
Je renseigne le mot de passe inscrit lors de l'enregistrement du client RADIUS.
Je sélectionne WPA2 Entreprise puis un Algorithme AES.
Vérification du compte utilisateur Active Directory
Je vérifie que mon compte utilisateur dispose bien de l'autorisation d'accès réseau
- Contrôler l'accès via la Stratégie d'accès à distance
Gestion des certificats
Depuis mon gestionnaire de certificat, je peux :
- voir la liste des certificats délivrés
- révoquer les certificats (clic droit sur le certificat > révoqué le certificat
- Voir la liste des certificats révoqués
- Voir la liste des certificats en attente
- Voir la liste des échecs
Afin de valider la liste de révocation des certificats. Il est nécessaire de bien publier la CRL.
La configuration est maintenant terminée. Passons sur la partie workstation.
Configuration des clients
Le déploiement des certificats peut se faire de deux façons :
- Manuel
- Automatique (utilisation de GPO)
Authentification PEAP-MSCHAP v2
Je vais développer la partie manuelle.
Ensuite je sélectionne mon point d'accès > CONSULTING ACCESS
Etant donnée que je ne dispose pas encore du certificat client, je me connecte en utilisant l'authentification PEAP.
Je renseigne donc le certificat à utiliser.
J'enregistre mes information d'identification.
Je me connecte donc avec Joris..
Mon utilisateur se connectera à CONSULTING ACCESS grâce à une authentification PEAP-MSCHAP v2.
Authentification EAP-TLS (avec certificat client)
La première étape (toutes ces étapes peuvent être réalisées de manière automatique) consiste à importer les certificats racine et intermédiaire.
Il est bien entendu nécessaire que l'URL suivante soit joignable par le poste client / tablette....
A l'heure actuelle, l'utilisateur ne dispose pas du certificat client.
C'est pour cela qu'il est nécessaire de" faire une demande de certificat à l'autorité de certification.
Mon utilisateur dispose maintenant du certificat client.
Je peux activer le mode d'authentification EAP-TLS basé sur un certificat dans les propriété du réseau sans fil.
Mon utilisateur se connectera à CONSULTING ACCESS grâce à une authentification EAP-TLS.
Bonne lecture, bon partage et n'hésitez pas à commenter ;)
Joris