martes, 28 de octubre de 2008

WPA Supplicant en Debian Lenny

Todos conocemos, o escuchamos, los posibles problemas de seguridad de que trae tener una red inalámbrica, y también sabemos que un mecanismo de prevención es proteger la red mediante encriptación WPA2. La mejor forma para implementar estos mecanismos sobre Linux es vía el paquete wpa_supplicant, que es una implementación de 802.11i.

Desde que tengo mi laptop siempre tuve problemas para hacer funcionar adecuadamente dicho programa, por ende tenía problemas para conectarme. Ayer dije basta, lo hago andar a como de lugar, así que junte mis cosas y me fui a Techtools para abuzarme de su red inalámbrica privada que trabaja con WPA2.

Después de haber visto varias guías de configuración, me encontré con el dilema de que no encontraba ninguno de los archivos de configuración mencionados en las guias. Continuando con la búsqueda, leo en la wiki de Debian, que en su última versión los desarrolladores cambiaron de lugar la mayoría de los archivos de configuración para poder proveer un mecanismo de configuración mas integrado, por ende toda la documentación que leí anteriormente solo sirvió para confundirme.

Después de probar y probar pude dar en el clavo, la forma de configuración es bastante sencilla, aquí va un pequeño resumen. Primero hay que tener instalador correctamente los drivers de la placa wireles, en mi caso es

Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN

la tengo trabajando con los drivers nativos, pero funciona con Ndiswrapper. Aquí explican bastante bien como realizar la instalación de los drivers.
El paso siguiente es instalar el paquete wpa_supplicant que se encuentra disponible en los repositorios.

# apt-get install wpasupplicant

Por último realizamos la configuración del paquete. Lo primero es crear un archivo de configuración para wpa_supplicant, el cual podemos ponerlo en /etc/wpa_supplicant/wpasupplicant.conf. En dicho archivo se definen las redes y las opciones de encriptación, existen varias formas de definición dependiendo de los mecanismos de encriptación que utilice la red, para el caso de WPA y una red sin encriptación quedaría así.


# WPA-PSK/TKIP
ctrl_interface=/var/run/wpa_supplicant

network={
ssid="RedSeguraConWpa"

proto=WPA

key_mgmt=WPA-PSK

pairwise=TKIP
priority=4

psk="lasuperclave"
}
#Otra red
network={

ssid="RedInsegura"
key_mgmt=NONE

}


Por último debemos definir que el dispositivo wireless será controlado vía wpa_supplicant en el archivo de interfaces, así que a editar.

/etc/network/interfaces


# Loopback
auto lo

iface lo inet loopback


# Configuración de las otras interfaces

allow-hotplug eth1

iface eth1 inet dhcp

#Aca viene la papota

auto wlan0_rename

iface wlan0_rename inet
manual
wpa-driver wext
wpa-roam /etc/wpa_supplicant/wpasupplicant.conf


Fijense la última interface, ahí decimos que la maneje de manera manual, y definimos que utilice el wpa mediante en driver wext y que lea la configuración en el archivo anteriormente creado. Con eso ya estaría todo listo, si reiniciamos las interfaces la maquina debería asociarse a la mejor red disponible de las que están definidas en el archivo wpasupplicant.conf.

La idea de ahora en mas es ir definiendo todas las redes en el archivo de wpa_supplicant y olvidarse de lo demás.

Para otras placas wireless la configuración probablemente varié un poco.

Aquí algunas referencias:

http://wiki.debian.org/WPA
http://home.telkomsa.net/richm/hp-nx6125.html
http://hostap.epitest.fi/wpa_supplicant/

No hay comentarios: