Mostrando entradas con la etiqueta wpa. Mostrar todas las entradas
Mostrando entradas con la etiqueta wpa. Mostrar todas las entradas

01 marzo 2007

Seguridad WPA

El ejemplo que empiezo por comentar es para Ndiswrapper [también puede usarse para otros módulos que soporten wpa, con las modificaciones oportunas] y aun no está plenamente contrastado. Simplemente, advierto de que en el sitio de Ndiswrapper se habla de plena compatibilidad con wpa_supplicant a partir de versiones posteriores a la 1.21. Por mi parte, debo aclarar que a mí me ha funcionado para una tarjtea con chipset Atheros funcionando con Madwifi.

Guadalinex v3 y v4 [basadas, respectivamente en Ubuntu Breezy y Edgy] disponen de la utilidad wpa_supplicant instalada, pero en caso de utilizar otra distribución de Linux que no la tuviese, deberíamos instalarla bajándonos el paquete de los repositorios o, en el peor de los casos, obteniendo las fuentes [wpa_supplicant] y compilándolas por el método habitual. Sigue las instrucciones de los desarrolladores sobre cómo llevar a cabo la operación y, si te sientes perdido, consulta la explicación que doy en el artículo dedicado a la instalación de tarjetas compatibles, en su apartado de compilación de drivers. Quiero aclarar que existen algunas diferencias entre la configuración bajo Guadalinex v3 / Ubuntu Breezy con respecto a Guadalinex v4 / Ubuntu Edgy y que aclaro más adelante.

Lo primero es generar una clave hexadecimal con la "frase de paso" que tienes guardada en la configuración de la red wif del router. Éso se consigue abriendo un terminal y ejecutando el comando siguiente:

wpa_passphrase nombre_red frase_de_paso


Debes sustituir el nombre de tu red wifi en el lugar de nombre_red y la frase de paso del router donde pone frase_de_paso. Esto genera una cadena similar [en longitud, claro] a ésta:

psk=1d06e406f9f6765053d822c9a006e9da6f4b03c9d09c2bd6d1cd8d887816fb6e

Seguridad WPA en Guadalinex v4 y Ubuntu Edgy

Ahora vas a editar el archivo interfaces con el comando
sudo gedit /etc/network/interfaces. Supongo que te conectas vía dhcp, por lo que lo vas a dejar tal que así:

auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet dhcp
wireless-essid NOMBRE_DE_LA_RED
pre-up wpa_supplicant -Bw -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
post-down killall -q wpa_supplicant


El valor -Dwext se aplicará en versiones de Ndiswrapper posteriores a la 1.12; en caso contrario usaremos -Dndiswrapper.

En mi caso uso una tarjeta con chipset Atheros AR5212 y el archivo lo tengo de esta guisa:

auto lo
iface lo inet loopback
iface ath0 inet dhcp
wireless-essid Mi_red
wpa-driver madwifi
wpa-conf /etc/wpa_supplicant.conf

auto ath0

Seguidamente ejecuta el comando sudo gedit /etc/wpa_supplicant.conf y se te muestra el archivo wpa_supplicant.conf [probablemente se encuentre vacío], sin texto alguno. Eso nos da igual, porque vamos a añadir las siguientes líneas:

ctrl_interface=/var/run/wpa_supplicant

ap_scan=1

network={
ssid=nombre_red_wifi
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
#psk="Frase de paso"

psk=1d06e406f9f6765053d822c9a006e9da6f4b03c9d09c2bd6d1cd8d887816fb6e
priority=5
}

Observa que en la línea que empieza con psk se ha incluido
el valor de la clave hexadecimal obtenida anteriormente al ejecutar el comando wpa_passphrase .

En algunos sitios de internet se aconseja ejecutar el comando que se indica a continuación [en realidad le estamos diciendo que ejecute, por una sola vez, lo que tenemos cargado de forma permanente en el archivo interfaces]. En mi caso, con el driver de madwifi no lo llevé a cabo y me ha funcionado correctamente:

sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dndiswrapper

Para versiones posteriores a la 1.12, el valor -Dndiswrapper serás sustituido por -Dwext. Éste y otros detalles pueden ser consultados en el sitio de Ndiswrapper dedicado al uso de WPA.

Reinicia los servicios de red con el comando sudo /etc/init.d/networking restart

Seguridad WPA en Guadalinex v3 y Ubuntu Breezy

El método es prácticamente idéntico. Sólo hay que añadir un par de detalles. Se debe editar como root el archivo /etc/default/wpasupplicant y desmarcar
la línea que proceda [sinónimo de eliminar el símbolo # de un script o programa para que se ejecute esa línea de código]. En mi caso, lo hice con la línea que hacía referencia a madwifi; si usas ndiswrapper, pues ya sabes. Para otros drivers compatibles, sustituir el valor por el que corresponda. Bien, pues ahí va:

# /etc/default/wpasupplicant
# WARNING! Make sure you have a configuration file!

ENABLED=1

# Useful flags:
# -D Wireless drive, typically optional.
# -i Interface
# -c Configuration file
# -d Debugging (-dd for more)
# -w Wait for interface to come up

# See the manual page wpa_supplicant(1) for more options and information.

OPTIONS="-w"

# EXAMPLES:

# OPTIONS="-i wlan0 -D ndiswrapper -c /etc/wpa_supplicant.conf"
OPTIONS="-i ath0 -D madwifi -c /etc/wpa_supplicant.conf"


Ahora debemos editar el archivo /etc/network/interfaces y modificar la línea que hace referencia al modo dhcp, ya que hay un bug para esta versión de Ubuntu/Guadalinex que impide a wpa_supplicant gestionar la conexión en modo dhcp, por lo que usaremos IP fija. Lo que yo hice fue dejarlo con ip estática y quedó así:

auto lo
iface lo inet loopback
iface ath0 inet static
address 192.168.1.12
netmask 255.255.255.0
gateway 192.168.1.1
wireless-essid MI_RED
wpa-driver madwifi
wpa-conf /etc/wpa_supplicant.conf
auto ath0


Con ésto ya no deberías tener problemas de conectividad. Espero que todo vaya correctamente. En caso contrario cuéntnos cómo te fue.


-----------------------------------------

Si Linux no existiera habría que inventarlo