Interfaces et wpasupplicant

De Le Wiki du Forum-Debian.fr
Aller à la navigation Aller à la recherche

Si vous ne voulez pas que votre connexion wifi soit utilisée à votre insu, vous devez faire en sorte que celle-ci soit chiffrée.

Il existe plusieurs types de chiffrement, le WEP, le WPA-802.xx, le WPA-PSK... Nous ne nous intéresserons ici qu'au WPA-PSK car celui-ci est bien plus sécurisé que le WEP, assez facile à contourner.


On peut configurer le cryptage WPA-PSK de sa carte wifi dans le fichier /etc/wpa_supplicant.conf, mais tout regrouper dans le fichier /etc/network/interfaces est tout aussi simple.

Le point d'accès

Le point d'accès est l'endroit à partir duquel vous vous connectez, ce peut être une xxxBox, un routeur... etc. Ce point d'accès est défini à l'aide de plusieurs paramètres :

  • Le ssid : C'est le nom du réseau. ( maximum 32 caractères )
  • Le canal d'émission : Bande de fréquences dans laquelle sont émises les ondes wifi.
  • Le mode : Il définit le débit du transfert des données. ( b, g, ...)
  • Le mode de chiffrement : WPA-PSK, WEP...
  • La clé de chiffrement : C'est le mot de passe pour accéder à la connexion, en WPA-PSK, cette clé doit avoit entre 8 et 63 caractères.

Configuration du fichier interfaces

wpasupplicant

wpasupplicant est un paquet disponible dans toutes les versions de Debian dans la section main. On l'installe par :

 # aptitude install wpasupplicant

Il va nous fournir l'outil wpa_passphrase qui va nous permettre de récupérer la clé cryptée à partir du mot de passe en clair et du nom de notre réseau ( ssid ). Cette clé chiffrée devra être indiquée dans le fichier interfaces.

Par exemple :

  • notre réseau se nomme : Mon_wifi_chez_moi
  • la clé en clair est  : Ma_clé_ultra_secrète_anti_hackers

On lance en console wpa_passphrase comme ceci : wpa_passphrase <ssid> <clé en clair>

Ce qui, dans l'exemple donne :

$ wpa_passphrase Mon_wifi_chez_moi Ma_clé_ultra_secrète_anti_hackers
network={
	ssid="Mon_wifi_chez_moi"
	#psk="Ma_clé_ultra_secrète_anti_hackers"
	psk=ff9116847b8e1515fc66232fd33161fdc7f7910a165b64328e905724e7308116
}

On vient de récupérer la clé chiffrée, ici psk=ff9116847b8e1515fc66232fd33161fdc7f7910a165b64328e905724e7308116. Il suffira alors de la recopier

Vous pouvez recopier le résultat complet de la commande wpa_passphrase dans /etc/wpasupplicant.conf. Vous pourrez alors vous connectez en lançant (en root) :

# wpa_supplicant -i<interface> -d<driver>-c/etc/wpa_supplicant.conf

Pour <driver>, en général, il faut indiquer « wext ». Mais ceci peut varier selon votre carte WiFi et la version de wpa_supplicant. Pour voir la liste des drivers, lancez :

$ /sbin/wpa_supplicant -l

Pour automatiser la connexion, il est préférable d'utiliser le fichier interfaces :

Remplir /etc/network/interfaces

Nota : nous appelons notre interface wlan0, c'est peut-être différent chez vous. Donc adaptez en fonction de vos propres paramètres.

Avec le serveur en DHCP

# Configuration avec le serveur en DHCP
auto wlan0
iface wlan0 inet dhcp
wpa-conf managed
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid Mon_wifi_chez_moi
wpa-key-mgmt WPA-PSK
wpa-psk ff9116847b8e1515fc66232fd33161fdc7f7910a165b64328e905724e7308116

Avec le serveur en statique

Nota : Ici, les adresses sont complètement définies, modifiez les avec vos propres adresses.

# Configuration en statique
auto wlan0
iface wlan0 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.0.1
wpa-conf managed
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid Mon_wifi_chez_moi
wpa-key-mgmt WPA-PSK
wpa-psk ff9116847b8e1515fc66232fd33161fdc7f7910a165b64328e905724e7308116

Configuration nomade

Pour un portable, il est possible de configurer sa connection pour plusieurs réseaux, selon l'endroit où l'on se trouve. Il y a deux méthodes :

Guessnet

Guessnet est un gestionnaire de connexions multiples. Sa configuration est détaillée sur cette page : http://forum.debian-fr.org/viewtopic.php?f=8&t=13839

wpasupplicant.conf comme gestionnaire de connexions

Vous pouvez renseigner plusieurs réseaux différents dans /etc/wpasupplicant.conf. Il est possible d'ajouter une ligne priority pour déterminer la priorité de l'interface :

network={
       ssid="Mon_wifi_chez_moi"

psk=ff9116847b8e1515fc66232fd33161fdc7f7910a165b64328e905724e7308116

       priority=2
}

Vous pouvez ajouter un « catch-all » pour capter les réseaux publics :

network={
       key_mgmt=none
       priority=1
}

Pour que le fichier wpasupplicant.conf soit utilisé au démarrage, il faut renseigner dans le fichier /etc/network/interfaces :

auto <interface>
iface <interface> inet manual
    wpa-driver wext (ou autre, voir plus haut)
    wpa-roam /etc/wpasupplicant/wpasupplicant.conf

Relancer le réseau

Vous devez relancer le réseau afin de prendre en compte les nouveaux paramètres avec :

# /etc/init.d/networking restart