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 |
...
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.
Double clic sur le certificat client.
Le reste ne présente pas d'intérêt particulier, l'installation doit se terminer sans encombres.
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.
Voici quelques éléments qui devraient vous aider à trouver la solution.
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 :
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).
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.
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
...
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.
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é.