Table des matières
Pour WPA2
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-epikoi | 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é
Certificat du client
Double clic sur le certificat client.
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. Ceci n'est pas nécessaire pour les heureux possesseurs de Vista ™
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.
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 apparaitre les propriétés des connexions réseau sans fils :
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 :
root_maison_CA-cacert.pem
pour l'autorité de certification,user1@maison.mrs-cert.pem
pour le client.
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é.