13.01.07
Habilitar acceso SSH a la fonera y deshabilitar actualizaciones automáticas…
Hace unos días que me llegó la fonera (el router de Fon) que había pedido de forma gratuita. Para el que no lo sepa aún, FON es (segun ellos) la mayor Comunidad WiFi del mundo. Sus miembros comparten el acceso inalámbrico a Internet de su casa, y a cambio disfrutan de WiFi gratuitamente en cualquier lugar donde encuentren un Punto de Acceso de otro Fonero.
La instalación no fue demasiado complicada, un poco liosa, eso sí, debido a que la configuración de red local es toda manual (no me gusta tener habilitado un DHCP que de ips a cualquiera que se conecte a mi red) y a mi IP Fija de conexión ADSL.
Pero le encontré un pero a la fonera… no puedo hacer que funcione en modo Bridge para extender mi cobertura Wifi, con lo que si tienes una fonera (o varias) y un Access Point, tienes que configurar diferentes redes para cada una. Además, a través del script de actualizaciones de la fonera, fon tiene acceso de administrador (root) a la fonera y con ello, acceso a mi red local. No es que sea un paranoico, pero no me acaba de hacer gracia ya que alguien podría aprovechar alguna vulnerabilidad de fon para entrar en mi red en modo root. Por ello veía necesario entrar en la fonera y ver que había allí y que se podía hacer. Por defecto, La fonera trae el acceso SSH deshabilitado, pero hay una forma de hackearla para poder entrar (al menos funciona con el firmware versión 0.7.1 rev 1). Simplemente hay que conectarse a ella por la red privada (la fonera te crea 2 redes, una privada y una publica para compartir con la comunidad Fon), y ejecutar la siguiente página web (copia el siguiente texto en un fichero llamado fonera.html, si cambiaste la IP de la fonera sustituye el 192.168.10.1 por la IP que pusiste):
<html>
<head>
</head>
<body>
<center>
<form method="post" action="http://192.168.10.1/cgi-bin/webif/adv_wifi.sh" enctype="multipart/form-data">
<input name="wifimode" value="/etc/init.d/dropbear" size="68" >
<input type="submit" name="submit" value="Submit" onClick="{this.form.wifimode.value=’";’ + this.form.wifimode.value +’;"’}" />
</form>
</body>
</html>
Al abrir dicha página web vemos que nos aparece un botón que pone SUBMIT, lo pulsamos un esperamos un poco… una vez nos cargue la ventana de administración de fon ya quiere decir que podemos continuar.
A partir de entonces, ya podemos entrar por SSH a nuestra fonera (con el Putty por ejemplo) y ver lo que hay dentro de ella. Simplemente conectamos por SSH a 192.168.10.1 (o la IP que tenga nuestra fonera) con el usuario root y nuestra contraseña de la fonera (por defecto es admin).
Ojo que el SSH está habilitado sólo hasta que reiniciemos la fonera, así que habrá que modificar su configuración para habilitar el acceso SSH de forma permanente.
Para ello hay que editar el fichero /etc/firewall.user y descomentar las 2 lineas del acceso SSH (puerto 22):
# vi /etc/firewall.user
# pulsar i (para entrar en modo edición)Descomentar las dos lineas en la sección SSH (open port to WAN), hay que dejarlo así (sin las almohadillas al principio):
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# presionad ESC (para salir del modo edición)
# escribid :wq! (hace un Write+Quit (guardar y salir))
# presionad enter
Ahora solo falta hacer que el dropbear se ejecute siempre que se inicie la fonera, simplemente hay que crear un enlace simbólico en la carpeta donde están los scripts de arranque del sistema, para ello sólo hay que escribir:
# ln -s /etc/init.d/dropbear /etc/init.d/S50dropbear
Ahora ya tenemos el SSH activado siempre que arranquemos la fonera pero como ya deberíais saber, la fonera actualiza automaticamente su firmware por lo que cuando fon quiera puede actualizar estos ficheros y machacar nuestros cambios (y dejarnos sin SSH). Para resolver esto, vamos a desactivar las actualizaciones automáticas.
Para realizar las actualizaciones automáticas, fon utiliza el script thinclient que tenemos en todas las foneras, así que simplemente tenemos que editarlo:
# vi /bin/thinclient
# pulsar i (para entrar en modo edición)Comentar la última linea, osea poner una almohadilla (para evitar que se ejecute el script y desabilitar por tanto las actualizaciones automaticas):
# . /tmp/.thinclient.sh
# presionad ESC (para salir del modo edición)
# escribid :wq! (hace un Write+Quit (guardar y salir))
# presionad enter
Con esto ya tendremos nuestra fonera funcionando perfectamente pero con el acceso SSH habilitado. Si en algún momento queremos actualizar el firmware, tendremos que hacerlo de forma manual desde la web de la fonera (o desde nuestro nuevo acceso SSH).
Sitio Oficial | Fon
Basado en | Inside the fonera (inglés)
Ver | El sistema de ficheros de la fonera
Mas en Mardito.com | Foneras gratis para los usuarios de Cataluña y Baleares
kayak dijo:
25 Abril 2007 a las 3:55 pm
Muy muy muy interesante.
Me da a mí que tengo otra versión más actual del firmware, porque no me habilita ssh. Ya miraré a ver si volviendo a una versión anterior…
Muchas gracias por la info.
emilio dijo:
26 Agosto 2007 a las 7:36 pm
quiero una cosa que te parede de escrito por que nada que ver
RuBiCK dijo:
19 Noviembre 2007 a las 12:10 am
Una lástima que con la 0.7.2 r2 no funcione.
Interesante de todas maneras