mercredi 11 décembre 2013

Authentification via 802.1x

L’authentification via 802.1x est un vaste sujet, que ce soit au niveau théorique ou bien même pratique. Ce topic présente une des multitudes façons d’aborder le sujet.


Partie 1. Vocabulaire et principes généraux


Supplicant : machine cliente que l’on cherche à authentifier. Un logiciel client gérant l’authentification doit être au préalable installe, SEVEN gère 802.1x nativement.

Authenticator : un commutateur qui va relayer les échanges de trame EAP entre supplicant et Authentication Server.

Authenticator Server : serveur qui va authentifier ou non le client.

La notion de supplicant 802.1x-capable est très importante dans la gestion du processus d’authentification. Windows 98 par exemple ne gère pas le protocole et ne peut donc pas envoyer de trame EAP.
On parle alors de Vlan invite ou les supplicant 802.1x-non-capable sont envoyés. Ce vlan permet alors aux clients de s authentifier via un mécanisme différent, comme une page web par exemple.

N’oublions pas non plus la notion de vlan poubelle, ou les clients ayant ‘rate’ leur authentification sont places.

On trouve plusieurs types d’authentification au sein même du concept 802.1X. J’en ai choisi trois qui je trouve sont les méthodes les plus révélatrices par leurs différences de fonctionnement, les deux premières étant les plus sécurisées, la troisième étant réservées au 802.1x-non-capable.

EAP-TLS : l’authentification se fait par l’échange de certificats entre le client et le serveur. Elle est donc effectuée dans les deux sens.
PEAP : le client authentifie le serveur avec son certificat puis l’authentification de l’utilisateur se fait grâce à ses credentials. Cette méthode n’en est pas réellement une, c’est une mise en tunnel TLS de méthode comme EAP-MSCHAPv2 ou autre.
Authentification via @ MAC : comparaison de l’adresse MAC machine a une base de données stockées sur un serveur.

Ce topic est centre sur la configuration de 802.1x PEAP sur un commutateur 3560G, un serveur 2008 R2 et un client SEVEN.
Nous allons vérifier l’identité du serveur d’authentification dans un premier temps grâce à un certificat. Cela fait, un tunnel TLS sera mise en place. L’ordinateur recevra une adresse IP via DHCP et le port du commutateur sera place dans notre vlan de travail. L’utilisateur sera alors authentifier grâce à son login/mot de passe stocke dans l’AD.

A l’instar de la gestion de certificats pour les VPN, la configuration de la partie serveur sous 2008 est bien plus complexe que les quelques lignes de commande à entrer sur les commutateurs.



Partie 2. Installation et configuration de 2008 Server


Dans un premier temps nous installons un serveur 2008, configurons les interfaces réseaux et lançons la commande DCPROMO.
Créons des a présenté un utilisateur du domaine, xavon dans ce topic, et un GG de sécurité ou nous plaçons le compte ordinateur, GG_Authentification.

Cette première étape achevée, nous pouvons installe le role Active Directory Certificate Services

Quelques points :
Installer le service Certification Authority Web Enrollement si vous voulez utilisez EAP-TLS (ce qui ne sera pas notre cas). En effet, cette méthode requiert un certificat pour le client et il est plus facile à obtenir via http.
Installer un serveur type Entreprise
CA Type : Root CA si c’est le premier sur le réseau
Private Key : Création d’une nouvelle clef
Le reste des paramètres hormis le nom du CA peuvent être laisses par défaut.

Voilà le rôle de serveur de certificats installe.

Doit-on passer du temps sur la configuration de DHCP ?
Rien de bien sorcier ici, installation du rôle DHCP et création d’un pool d’adresses IP.
Ici j’utilise deux vlans, un serveur et un client : on se doit d’utiliser IP-HELPER sur les interfaces vlans.
On n’oublie pas d’activer service DHCP sur le commutateur.

La méthode d’authentification est simple :
Le client SEVEN va tout d’abord vérifier la validité du serveur Radius grâce au certificat de celui-ci. Ceci impose de disposer du certificat ‘computer account’ du serveur radius sur le supplicant.
Pour cela deux méthodes : déploiement via une GPO ou installation manuelle sur l’ordinateur client. Pour ce topic j’utilise la méthode 2 :
Exportation du certificat du serveur. On choisit celui servant à l’authentification des clients.
Copie dans un dossier partage et installation sur le client en tant que Trusted Root Authority.
Attention je rappelle que j’affiche ici le compte local computer dans ma console MMC.



Passons à l’installation de NPS : seul le service Network Policy Server est obligatoire.

Etape 1 : création du client radius
On appelle ici client le commutateur qui va effectuer l’authentification, l authentificator du début de topic.
Attention à la clef, elle devra correspondre à celle que l’on configurera plus tard sur notre commutateur.



Le champ Vendor Name peut rester configure en tant que Radius Standard.

Etape 2 : les policies.
Le plus simple étant ici d’utiliser le Getting started de Windows.


Radius Clients : On spécifie le client (notre commutateur configure un peu plus tôt)
EAP type for this policy : PEAP, on vérifie bien que le certificat sélectionne et celui que l’on a installé sur notre client
User Groups : le GG_Authentification contenant notre compte ordinateur.
Traffic control configuration : Nous configurons ici les attributs qui vont permettre à notre port de commutateur d’être pace dans le vlan de travail (ici le vlan10)



Au final, NPS crée deux policies :
Une connection request policy et une network policy.


On touche au but, passons maintenant au commutateur


Partie 2. Configuration du commutateur


Aaa new-model
Aaa authentication dot1x default group radius
On peut bien entendu définir une deuxième méthode d’authentification
aaa authorization network default group radius
Commande qui va nous permettre de configurer le port dans le bon vlan
aaa accounting dot1x default start-stop group radius
Très important pour avoir un suivi des connections depuis les logs du serveur radius.


Radius server host 192.168.2.2 key test

Dot1x system-auth-control : commande qui active 802.1x de manière globale sur le switch
Authentication event fail action authorize vlan 999 : en cas d’échec, configuration dans le vlan 999
Dot1x pae authenticator

Sur les ports clients :

Switchport mode access
Authentication port-control auto : active 802.1x sur le port, on peut forcer l’état non-autorise ou inversement, autorise quel que soit la réponse du serveur.

Ici je ne spécifie pas le vlan d’appartenance du port, je recevrai cette information du serveur.

Ce qui donne sur notre commutateur :


aaa authentication password-prompt Payes_Ton_Pwd
aaa authentication login default local
aaa authentication dot1x default group radius
aaa authorization network default group radius
aaa accounting dot1x default start-stop group radius
!
!
interface GigabitEthernet0/24
description Client
switchport mode access
switchport port-security
ip dhcp limit lease 5
ip arp inspection limit rate 10
authentication event fail action authorize vlan 999
authentication port-control auto
dot1x pae authenticator
ip verify source smartlog
ip verify source

Les commandes supplémentaires sécurisent DHCP, reportez-vous aux chapitres correspondants pour plus d’informations.


Partie 3. Configuration du Supplicant


802.1x tourne sous le service Wired Auto Config, si celui-ci n’est pas active l’onglet Authentication n’apparait pas dans les propriétés de la carte réseau.



On copie le certificat du serveur sur notre station et nous l'installons.



Et … une petite commande :



Voilà, on passe dans les propriétés de la carte réseaux et oh miracle du clic notre serveur de certificat apparaît dans les serveurs approuves par Windows.
Le temps pour la machine de s'authentifier et voilà, la mission est accomplie.


Partie 4. Vérifications


Tout d’abord un show vlan pour voir si notre port est effectivement dans le vlan 10 :

RadSW#sh vlan

VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Gi0/2, Gi0/3, Gi0/4, Gi0/5
Gi0/6, Gi0/7, Gi0/8, Gi0/9
Gi0/10, Gi0/11, Gi0/12, Gi0/13
10 VLAN0010 active Gi0/23, Gi0/24
20 VLAN0020 active Gi0/1
999 Dummy active

RadSW#show authentication interface g0/24

Client list:
Interface MAC Address Method Domain Status Session ID
Gi0/24 f0de.f1dc.a619 dot1x DATA Authz Success C0A801010000001F2036F2F9

Available methods list:
Handle Priority Name
3 0 dot1x
Runnable methods list:
Handle Priority Name
3 0 dot1x

En cas de problème, essayer les commandes debug authentication all et debug dot1x all pour voir ou cela peut coincer.

Nous sommes convaincus du résultat !

Pour toutes questions, n’hésitez pas.

Bon clic a tous !


Aucun commentaire:

Enregistrer un commentaire