Mise en place de FreeRadius
 23/03/2007 
 Christian CALECA 
Liste des cours

Pour WPA2

Accueil ] [ FreeRADIUS ] [ Pour les VLANs ] [ Pour WPA2 ] [ Révocations ]


Configuration de eap

La table "nas"

Il nous faut ajouter notre borne Wi-Fi dans la table "nas". Ici, nous utilisons une borne de type Netgear GW302, qui aura dans notre réseau l'adresse IP 192.168.10.3, comme nom "netgear" et qui utilisera "re-chutt" comme secret partagé avec le serveur radius. Nous devrions avoir dans notre table, quelque chose de ce genre :

mysql> select *  from nas;
+----+---------------+-----------+-------+-------+--------------+-----------+---------------------+
| id | nasname       | shortname | type  | ports | secret       | community | description         |
+----+---------------+-----------+-------+-------+--------------+-----------+---------------------+
|  1 | 127.0.0.1     | localhost | other |  NULL | password     | NULL      | RADIUS Client       |
|  2 | 192.168.10.11 | sw1       | other |  NULL | chutt        | NULL      | switch 1            |
|  3 | 192.168.10.3  | netgear   | other |  NULL | re-chutt     | NULL      | Borne wi-fi         |
...

Gestion des certificats des clients

Ici, la configuration va être extrêmement simple. Comme nous avons choisi d'utiliser WPA2-TLS, qui nécessite un certificat chez le client, il n'y aura à priori pas de base de noms d'utilisateurs à construire. Le serveur RADIUS va se contenter de vérifier l'authenticité du certificat présenté par le client. Si un client dispose d'un certificat valide, c'est bien qu'il est autorisé à se connecter.

Installation des certificats sur une machine Windows

Certificat de l'autorité

autorité Dans le cas de Windows XP, nous avons besoin du certificat de notre racine de confiance (root_maison_CA) ainsi que du certificat client (user1). Ces certificats sont à installer par l'utilisateur et serviront à authentifier l'utilisateur. Entendez par là deux points importants :
  • l'attachement à la borne Wi-Fi ne pourra se faire qu'après ouverture d'une session,
  • seule la session de l'utilisateur qui aura installé les certificats pourra permettre un attachement.

Commençons par le certificat de la racine de confiance. Double clic dessus, ce qui nous amène à :

informations

Cette Autorité de certification étant inconnue de Microsoft, il nous appartient de décider si oui ou non, nous l'acceptons. Nous allons bien sûr installer ce certificat, non sans être certain que c'est bien le bon. Autrement, dit, il nous appartient de vérifier que ce certificat provient bien de chez nous.

"Installer ce certificat..." va nous conduire à un assistant :

bienvenue dont le texte explicatif ne nécessite aucun commentaire.

Suivant :

magasin Nous allons choisir nous même l'emplacement où ce certificat sera stocké.

"Parcourir..."

sélection Nous choisissons logiquement les Autorités de certification racines de confiance.
fin L'assistant a fini son travail.

Mais, tout de même, nous avons encore droit à un bon gros avertissement de sécurité.

avertissement

Encore une fois, si nous sommes certains de l'origine de ce certificat, nous pouvons y aller.

OK

Certificat du client

Double clic sur le certificat client.

client Ceci démarre un nouvel assistant.

Suivant >

importation La seconde permet de vérifier le chemin d'accès au certificat que nous voulons enregistrer.

Suivant >

mdp Le mot de passe demandé ici est celui qui a été spécifié lors de l'exportation au format PKCS#12 avec TinyCA ("Export password").
magasin Ici, nous pouvons choisir de sélectionner automatiquement le magasin.

Suivant >

Le reste ne présente pas d'intérêt particulier, l'installation doit se terminer sans encombres.

WPA2 et Windows XP

Windows XP, même avec le SP2, ne gère pas WPA2. Il faut lui ajouter un correctif à télécharger chez Microsoft (validation d'intégrité "Genuine Advantage" requise). Ce correctif s'appelle : WindowsXP-KB893357-v2-x86-FRA.exe. A l'heure où ces lignes sont écrites, ce lien est valide. Sans ce correctif, vous devrez vous contenter de WPA.

Une fois tout ceci réalisé, avec un peu de chance, la connexion devrait s'établir automatiquement pour l'utilisateur qui a installé les certificats.

En cas de problèmes

Voici quelques éléments qui devraient vous aider à trouver la solution.

Voir les certificats installés

Une console "mmc" va nous venir en aide. Créons une console de gestion des certificats.

ouvrir exécuter mmc...
console Ajouter un composant logiciel enfichable...
ajout Choisir le composant "certificats"...

"Fermer"

composants Si vous avez un compte d'administrateur (ce qui, rappelons le, n'est pas une bonne idée, même si c'est le comportement par défaut de WIndows XP), vous aurez droit à choisir s'il s'agit de vos certificats (utilisateur) ou d'autres certificats, comme ceux qui concernent l'ordinateur.

Si votre compte est celui d'un simple utilisateur, vous n'aurez pas ce choix et ne pourrez gérer que vos propres certificats, ce qui est suffisant dans notre cas.

"Terminer"

certificats Si nous double cliquons sur le certificat :
user Nous voyons apparaître la racine de confiance associée.

La suite sous entend que les connexions wi-fi sont gérées par les outils Windows. Même si l'on peut admettre qu'ils sont plutôt rébarbatifs, peu ergonomiques à première vue, mon expérience personnelle ne m'en a pas fait découvrir de meilleurs parmi les nombreux "gadgets" fournis par les constructeurs de matériel wi-fi.

Faites apparaître les propriétés des connexions réseau sans fils :

config Sélectionnez votre réseau et affichez ses propriétés,
aes Sur l'onglet "Association", assurez-vous que vous êtes bien sur le mode WPA2, avec un chiffrement AES,
cerficat Sur l'onglet "Authentification", le type EAP doit être "Carte à puce ou autre certificat". Affichez ses propriétés,
janus Utilisez la sélection de certificat recommandée (simple), indiquez le nom complet du serveur RADIUS, tel qu'il a été défini dans son certificat, sélectionnez enfin le certificat de la racine d'autorité.

Ceci devrait enlever toute ambiguïté, en cas de troubles.

Installation du certificat sur une machine Linux

Contrairement à Windows, le moyen le plus simple d'obtenir l'attachement à un réseau Wi-Fi est de le faire au niveau du système. Entendez par là que l'authentification se fera lors du montage du réseau, au démarrage du système, ou lors de l'activation de l'interface Wi-Fi. Autrement dit, ce ne sera pas l'utilisateur qui sera authentifié, mais l'administrateur de la machine.

La manipulation est faite sur une distribution Ubuntu 6.10, où wpa-supplicant est normalement installé par défaut. Il y a sur cette distribution, deux interventions à faire. La première est typique aux distributions basées sur Debian et il vous faudra trouver comment adapter à une autre distribution.

L'interface Wi-Fi est une carte PCMCIA (cardbus) D-Link DWL-G650, qui utilise un chipset Atheros (Driver Madwifi).

Copie des certificats

L'installation du paquet wpasupplicant a créé un répertoire /etc/wpa_supplicant/. Nous pouvons créer dedans un répertoire "certs" et y mettre dedans nos deux certificats :

Comme le contenu de ce répertoire est utilisé lors du démarrage, il n'y a aucune raison qu'il soit accessible par quiconque d'autre que root.

Configuration de l'interface wi-fi

Sur les Distributions Debian et dérivées, il faut agir sur le fichier /etc/network/interfaces :

# This file describes the network interfaces available on your system 
# and how to activate them. For more information, see interfaces(5). 
# The loopback network interface 

auto lo 
iface lo inet loopback 

auto ath0 
iface ath0 inet dhcp 
	wpa-driver madwifi 
	wpa-conf /etc/wpa_supplicant.conf

...

Configuration de wpa-supplicant

wpa-supplicant mériterait à lui seul tout un chapitre. Son fonctionnement n'est pas d'une évidence extrême, et sa configuration non plus.

Il faut créer un fichier /etc/wpa_supplicant.conf, comme indiqué dans /etc/network/interfaces, qui indiquera, réseau par réseau (ici, un seul suffira), les paramètres nécessaires à l'attachement.

Voici un exemple de configuration dans notre contexte :

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1

network={
	ssid="maison"
	scan_ssid=0
	key_mgmt=WPA-EAP
	eap=TLS
	proto=WPA2
	pairwise=CCMP TKIP
	group=CCMP TKIP
	identity="user1"
	ca_cert="/etc/wpa_supplicant/certs/root_maison_CA-cacert.pem"
	client_cert="/etc/wpa_supplicant/certs/user1@maison.mrs-cert.pem"
	private_key="/etc/wpa_supplicant/certs/user1@maison.mrs-cert.pem"
	private_key_passwd="epikoi"
}

Il n'y a rien d'incompréhensible dans ce fichier, la difficulté réside surtout dans le fait d'utiliser les bons paramètres. Pour vous aider, vous avez dans le répertoire /usr/share/doc/wpasupplicant/examples/ quelques exemples de configuration ainsi qu'un fichier "wpa_supplicant.conf.gz" très largement documenté, qui passe en revue tous les paramètres possibles.

C'est bien mais...

Cette solution ne nous permet pas de gérer les "coups durs". Comment faire en effet si l'on apprend qu'un certificat encore valide a été compromis ? Car dans cette configuration, une fois un certificat installé, il sera accepté par FreeRADIUS tant qu'il n'aura pas expiré.


Précédente ] [ Accueil ] [ Suivante ]