Guida a Wpa Supplicant

Guida a Wpa Supplicant
Attenzione Questa guida è molto vecchia e non aggiornata. Potrebbe contenere errori !

Se avete letto il mio articolo precedente e la vostra rete è ancora senza protezione, o siete degli incoscienti…. oppure non sapete come configurare il WPA su Linux (Ubuntu Edgy 6.10) 🙂
In questo secondo caso, credo che questo articolo vi possa essere d’aiuto… 😉
WPA su Linux è sinonimo di Wpa Supplicant. Non esiste un tool alternativo che vi permetta di fare le stesse cose con la stessa efficacia. Spesso anche programmi di terze parti per la gestione della rete in automatico si appoggiano a Wpa Supplicant per la gestione del WPA (per es Network-Manager e Kwlan).
E’ un programma molto versatile, adattabile alle esigenze di molti: dall’utente medio che vuole proteggere la rete con una chiave wpa-psk all’impresa che vuole gestire la rete con certificati e server di autenticazione.
Installarlo e configurarlo è relativamente semplice… ma facciamo un passo alla volta…

.:FEATURES:.

Wpa Supplicant supporta molti tipi di opzioni e protocolli di sicurezza e autenticazione, in particolare:

  • WPA-PSK (“WPA-Personal”)
  • WPA con EAP (cioè con server di autenticazione
    RADIUS) (“WPA-Enterprise”)
  • key management per CCMP, TKIP, WEP104, WEP40
  • WPA e pieno supporto per il protocollo IEEE 802.11i/RSN/WPA2
  • RSN: PMKSA caching, pre-authentication
  • Molte varianti del protocollo EAP

I drivers supportati sono veramente tanti:

  • Linux drivers generici che supportino le Linux Wireless
    Extensions v19 o superiori con le estensioni WPA/WPA2 (sono solitamente la maggior parte dei casi)
  • Host AP driver for Prism2/2.5/3 (WPA and WPA2)
  • Linuxant DriverLoader con i driver Windows NDIS che supportano WPA/WPA2
  • Agere Systems Inc. Linux Driver (Hermes-I/Hermes-II chipset) (WPA, ma non WPA2)
  • madwifi (Atheros ar521x)
  • ATMEL AT76C5XXx
  • Linux ndiswrapper
  • Broadcom wl.o driver
  • Intel ipw2100
  • Intel ipw2200
  • Drivers Ethernet (cavo)
  • BSD net80211 layer ( Atheros driver) (FreeBSD 6-CURRENT e NetBSD)
  • Windows NDIS drivers (Windows; almeno XP and 2000)

Non vi preoccupate se la lista è lunga, la maggior parte delle volte il “driver” da usare è il primo, ovvero wext, che è compatibile quasi con tutto! Informazioni più dettagliate sono disponibili nel sito di Wpaupplicant.

.:INSTALLARE WPA SUPPLICANT:.

Tutto ciò di cui abbiamo bisogno è già presente nei Repository di Ubuntu, dunque per installare, basta

sudo apt-get install wpasupplicant

.:CONFIGURAZIONE:.

Il file di configurazione principale è uno solo, e si trova in /etc/wpa_supplicant.conf

Questo file verrà adattato secondo le nostre esigenze. Per tutti i casi seguenti, basta editare il file aprendolo (con permessi di root) con un qualsiasi editor di testo (per esempio gedit, ma anche nano, kate…) con

sudo gedit /etc/wpa_supplicant.conf

e copiare dentro la configurazione scelta.

.:WPA-PSK:.

E’ la modalità più comune. Si genera una chiave condivisa che viene utilizzata per autenticare il client e cifrare il traffico.
Un esempio di configurazione è il seguente

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=1000
update_config=1

network={
ssid="Nome Rete"
psk="CHIAVE WPA-PSK"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
}

La spiegazione è abbastanza intuitiva. Al posto di Nome Rete dovete scrivere l’essid della vostra rete wireless (comprese le virgolette!).

La chiave wpa-psk che avete scelto va inserita nella riga successiva, travirgolette (se è una normale parola ASCII).

Nota sulla chiave wpa-psk da scegliere:

cercate di scegliere una chiave di almeno una decina di caratteri, non banale (evitate nomi, cognomi, date di nascita.. e in genere parole presenti su dizionario). E’ possibile usare qualsiasi carattere ascii: numeri, lettere minuscole o maiuscole (attenzione! non è la
stessa cosa) oppure caratteri speciali come trattini, punti.. ecc

E’ possibile anche inserire una chiave sottoforma si sequenza esadecimale. In questo caso la stringa andrà inserita SENZA virgolette, ovvero in questo modo:

...
psk=614fcc1b3bc7bcde1eb2e799b
...

Esiste un tool già incluso nel pacchetto di Wpa Supplicant che vi permette di generare una chiave esadecimale a partire dalla corrispondente frase alfanumerica.
esempio: voglio assegnare la chiave “wpasupplicant” alla mia rete che ha nome “pippo“. Digito su terminale:

wpa_passphrase pippo

e poi quando richiesto digito wpasupplicant.
Il risultato sarà questo:

wpa_passphrase pippo
# reading passphrase from stdin
wpasupplicant
network={
ssid="pippo"
#psk="wpasupplicant"
psk=c0aff124bbabaa34769327ff9332ff677e02238a5f60b6ae733ba07c2c5aa8b7
}

Questa è proprio la configurazione che dovrete inserire nel vostro file /etc/wpa_supplicant.conf

Adesso potete pure salvare il file di testo creato e chiuderlo. La configurazione di Wpa Supplicant è terminata!

.:AVVIARE WPA SUPPLICANT IN AUTOMATICO:.

Adesso dovete dire al sistema operativo di utilizzare wpa supplicant per connettersi alla vostra rete in automatico.

Per farlo, aprite il file di configurazione della rete, ovvero

sudo gedit /etc/network/interfaces

e modificate in modo simile a questo la sezione relativa all’interfaccia della vostra scheda wireless (può avere nomi diversi: eth1, wla0, rausb0… ma non ha importanza)

iface wlan0 inet dhcp
wireless-essid NOMERETE
wireless-mode managed
wireless-channel 11
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
auto wlan0

Nel caso vogliate impostare un ip fisso, la configurazione sarà simile a questa:


iface wlan0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
network 192.168.0.0
wireless-essid NOMERETE
wireless-mode managed
wireless-channel 11
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
auto wlan0

Ovviamente cambiate i parametri di rete e wireless secondo le vostre esigenze.
Adesso potete salvare e chiudere il file.

Riavviate la rete con

sudo /etc/init.d/networking restart

A questo punto dovrebbe essere tutto apposto. Dovreste essere associati all’access point, avere un ip e riuscire a navigare. Controllate che sia tutto corretto tramite i comandi ifconfig e iwconfig

Se avete ancora problemi con l’avvio in automatico di Wpa Supplicant, potere utilizzare quest’altro sistema:

Sempre nel file /etc/network/interfaces come da esempi precenti, sostituite le 2 righe “wpa-driver” e “wpa-conf” con questa:

post-up wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -B

Volete gestire Wpa Supplicant tramite interfaccia grafica?
Esiste un apposito tool, leggete quest’altro articolo per installarlo e configurarlo: Wpa Gui

Ciao!

A proposito Alessandro

Ingegnere delle Telecomunicazioni con propensione al web2.0 ed il pallino della tecnologia; toscano & casentinese, vivo a Firenze