====== 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é === | {{:lansecure:30_radius:certifs.png|}} | 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 à : | | {{:lansecure:30_radius:root_ca-1.png|}} | 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 : | | {{:lansecure:30_radius:root_ca-2.png|}} | dont le texte explicatif ne nécessite aucun commentaire. Suivant : | | {{:lansecure:30_radius:root_ca-3b.png|}} | Nous allons choisir nous même l'emplacement où ce certificat sera stocké. « Parcourir... » | | {{:lansecure:30_radius:root_ca-3c.png|}} | Nous choisissons logiquement les Autorités de certification racines de confiance. | | {{:lansecure:30_radius:root_ca-4.png|}} | L'assistant a fini son travail. | | Mais, tout de même, nous avons encore droit à un bon gros avertissement de sécurité.{{ :lansecure:30_radius:root_ca-5.png |}}Encore une fois, si nous sommes certains de l'origine de ce certificat, nous pouvons y aller.|| | {{:lansecure:30_radius:root_ca-6.png|}} || === Certificat du client === Double clic sur le certificat client. | {{:lansecure:30_radius:cert_clnt-1.png|}} | Ceci démarre un nouvel assistant. Suivant > | | {{:lansecure:30_radius:cert_clnt-2.png|}} | La seconde permet de vérifier le chemin d'accès au certificat que nous voulons enregistrer. Suivant > | | {{:lansecure:30_radius:cert_clnt-3.png|}} | 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 »). | | {{:lansecure:30_radius:cert_clnt-4.png|}} | 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é « [[http://www.microsoft.com/genuine/downloads/FAQ.aspx?displaylang=en|Genuine Advantage]] » requise). Ce correctif s'appelle : [[http://www.microsoft.com/downloads/details.aspx?familyid=662BB74D-E7C1-48D6-95EE-1459234F4483&displaylang=fr|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. | {{:lansecure:30_radius:mmc-1.png|}} | exécuter mmc... | | {{:lansecure:30_radius:mmc-2.png|}} | Ajouter un composant logiciel enfichable... | | {{:lansecure:30_radius:mmc-3.png|}} | Choisir le composant « certificats »... « Fermer » | | {{:lansecure:30_radius:mmc-4.png?550|}} | 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 » | | {{:lansecure:30_radius:mmc-5.png|}} | Si nous double cliquons sur le certificat : | | {{:lansecure:30_radius:mmc-6.png|}} | Nous voyons apparaitre 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 apparaitre les propriétés des connexions réseau sans fils : | {{:lansecure:30_radius:conf-win-1.png|}} | Sélectionnez votre réseau et affichez ses propriétés, | | {{:lansecure:30_radius:conf-win-2.png|}} | Sur l'onglet « Association », assurez-vous que vous êtes bien sur le mode WPA2, avec un chiffrement AES, | | {{:lansecure:30_radius:conf-win-3.png|}} | Sur l'onglet « Authentification », le type EAP doit être « Carte à puce ou autre certificat ». Affichez ses propriétés, | | {{:lansecure:30_radius:conf-win-4a.png|}} | 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 : * ''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é.