Connexion WIFI 802.1x sous Linux

Un article de Criterdoc.

Sommaire

Introduction

Ce document a pour but de présenter les différentes étapes de configuration du protocole 802.1x sous Linux afin de pouvoir profiter de la connectivité WiFi au sein de l'Université de St Etienne.


Choix techniques

Le CRITeR met à disposition des enseignants et chercheurs, une connection WiFi securisée et authentifiée via le protocole 802.1x sur le réseau WiFi UJM-SFS (Université Jean Monnet Sans-Fil Sécurisé) de l'université.

L'authentification se fera grâce au protocole EAP-TTLS/PAP et le cryptage des données par les protocoles WPA2/AES.


L'utilisation du WiFi sous linux requiert un certain nombre d'applications. Nous allons ici montrer la méthode d'installation de ces applications sous Debian (Etch) et Kaella (Kaella 3.1 Beta).

Installation

Les packages à installer :

  • wireless-tools : contient les outils iwconfig et iwlist permettant une gestion de la connectivité wireless.
 iwlist permet de scanner le réseau WiFi afin de detecter les points d'accès accessibles
 iwconfig est un équivalent "wireless" à la commande ifconfig. Cet utilitaire nous permet d'afficher et configurer la carte WiFi.
  • wpagui : interface graphique d'accès aux réseaux WiFi
  • wpasupplicant : client d'accès au supplicant
 wpa_supplicant: 0.5.7-0 sous kaella ou 0.5.5-2 sous debian

Installation des paquets

aptitude install wpasupplicant wpagui  wireless-tools

Configuration

  • Il faut récupérer les certificats ac-racine et ac-serveur de l'autorité de certification. Ces certificats vous assurent que votre passeport (couple identifiant/mot de passe) est bien envoyé au serveur d'authentification de l'Université et non pas à une borne pirate.
 cd /etc/wpa_supplicant/certs
 wget --http-user=identifiant --http-passwd=xxxxxx http://dossier.univ-st-etienne.fr/criter/ujm/reseau/wifi/certificat/ac-racine.crt
 wget --http-user=identifiant --http-passwd=xxxxxx http://dossier.univ-st-etienne.fr/criter/ujm/reseau/wifi/certificat/ac-serveur.crt
 cat ac-racine.crt ac-serveur.crt > cachain.pem
  • Il faut créer le fichier de configuration en déclarant les réseaux WiFi disponibles
vi wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=dialout
network={
        ssid="UJM-SFS"
       scan_ssid=1
       key_mgmt=WPA-EAP
       eap=TTLS
       identity="login"
       password="xxxxxxx"
       ca_cert="/etc/wpa_supplicant/certs/cachain.pem"
       phase2="auth=PAP"
}
network={
       ssid="UJM-SF"
       key_mgmt=NONE
       }

Lancement de wpa_supplicant

On suppose que eth2 est l'interface WiFi

wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant.conf -ieth2 -Dwext -w

Pour obtenir une adresse TCP/IP, il faut lancer l'acquisition de l'adresse DHCP

dhclient eth2 ou dhcpcd eth2

Pour valider, dévalider les interfaces

ifup eth2 ou ifdown eth2

On vérifie que l'adresse a bien été acquise:

ifconfig
[.....]
eth2     Lien encap:Ethernet  HWaddr 00:15:00:2B:A6:5F
         inet adr: 161.3.236.30  Bcast:161.3.236.31  Masque:255.255.255.224
         adr inet6: fe80::215:ff:fe2b:a65f/64 Scope:Lien
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:4744 errors:0 dropped:441 overruns:0 frame:0
         TX packets:3897 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 lg file transmission:1000
         RX bytes:3093958 (2.9 MiB)  TX bytes:607389 (593.1 KiB)
         Interruption:10 Adresse de base:0x2000 Mémoire:c8206000-c8206fff
[......]

On vérifie la connexion au point d'accès:

iwconfig
eth2     IEEE 802.11g  ESSID:"UJM-SFS"
         Mode:Managed  Frequency:2.462 GHz  Access Point: 00:0B:86:A7:2E:71
         Bit Rate:48 Mb/s   Tx-Power=20 dBm   Sensitivity=8/0
         Retry limit:7   RTS thr:off   Fragment thr:off
         Encryption key:A343-C780-38D2-13BF-0308-F0D1-BE2B-FF6D   Security mode:open
         Power Management:off
         Link Quality=36/100  Signal level=-58 dBm  Noise level=-85 dBm
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:97  Invalid misc:441   Missed beacon:50

Administration

Affecter l'utilisateur devant effectuer l'administration au groupe dialout (20)

Langage de commande

wpa_cli

Exemple: changement de réseau

wpa_cli
list_networks
network id / ssid / bssid / flags
0       UJM-SFS any     [DISABLED]
1       UJM-SF  any     [CURRENT]
> select 0
OK
> <2>CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
<2>Trying to associate with 00:0b:86:a7:2e:71 (SSID='UJM-SFS' freq=2437 MHz)
<2>CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
<2>CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
<2>Associated with 00:0b:86:a7:2e:71
<3>WPA: Failed to get master session key from EAPOL state machines
<3>WPA: Key handshake aborted
<3>WPA: Failed to get master session key from EAPOL state machines
<3>WPA: Key handshake aborted
<3>WPA: Failed to get master session key from EAPOL state machines
<3>WPA: Key handshake aborted
<2>CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
<2>CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
<2>Trying to associate with 00:0b:86:a1:17:41 (SSID='UJM-SFS' freq=2412 MHz)
<2>Associated with 00:0b:86:a1:17:41
<2>WPA: Key negotiation completed with 00:0b:86:a1:17:41 [PTK=CCMP GTK=TKIP]
<2>CTRL-EVENT-CONNECTED - Connection to 00:0b:86:a1:17:41 completed (reauth) [id=0 id_str=]

Interface graphique

kwlan


kwifimanager permet de vérifier les niveaux de réception et les canaux.
Outils personels