Configuración del PASSWORD HTTPD de USR2450 bajo LinuxAP

Este documento esta basado en las recopilaciones y  experiencias propias del autor. Están hechas para la distribución de LinuxAP del 23-02-2003 que es la versión estable que se esta utilizando actualmente. El autor declina cualquier responsabilidad derivada de la aplicación de este tutorial. La distribución total o parcial  de este documento con fines comerciales  esta expresamente prohibida en cualquier medio o soporte sin la autorización por escrito del autor.

Previos

Antes de nada, recordaros que, este HowTo está destinado a AP USR2450 con LinuxAP con la version 23-02-2003 o posteriores. Lo aqui descrito no es aplicable a versiones anteriores que, a causa de un "bug" impedian su correcto funcionamiento. Si aún no has actualizado tu AP, aqui te contamos como hacerlo. Si quieres ver el doc original de configuración puedes verlo pulsando aqui.

Procedimiento

Asumiendo que ya lo tengas actualizado vamos ahora a ver como hacerlo.

Lo primero es observar que nos dice nuestro AP al arrancar en estado "puro". Vamos a fijarnos solo en las ultimas lineas:

17.0.httpd:
Starting httpd daemon.
18.0.telnetd:
Starting telnetd daemon.
21.0.iptables:
98.tweak:
99.done:

Startup Complete!


Please press Enter to activate this console.

Es decir, por defecto, nos arranca los servidores de http y de telnet, asi que, si queremos "protejer" nuestro AP de intrusos, lo primero que debemos hacer es desactivar los servidores en el momento de arrancar. ¿Cómo hacerlo?, pues, como siempre, echando mano de nuestro ya viejo conocido rc.tweak , asi que vamos a editarlo y a añadir un par de lineas verificando que los desactivamos.

# cd etc/rw
# vi rc.tweak

le damos a la "i" de insertar y escribimos:

/etc/rc.d/init.d/httpd stop
/etc/rc.d/init.d/telnetd stop

salimos guardando con:

:wq

y fijamos los cambios y reiniciamos:

# save_config
# reboot

Comprobamos ahora que nuestros cambios han surgido efecto:

17.0.httpd:
Starting httpd daemon.
18.0.telnetd:
Starting telnetd daemon.
21.0.iptables:
98.tweak:
Stopping httpd daemon.
Terminated
Stopping telnetd daemon.
Terminated
99.done:

Startup Complete!

Efectivamente nuestro AP ya funciona sin los servidores de http y telnet.

Vamos ahora a configurar el arranque del servidor httpd para que nos permita el acceso para poder hacer modificaciones desde nuestro navegador http mediante un password, para ello, siguiendo la ayuda del propio servidor httpd

# httpd --help

Usage: httpd -p <port> -c <conf file>

Httpd listens for incoming http connections.
Options:
-p PORT Server port (default 80).
-c FILE Specifies configuration file. (default httpd.conf)
-r REALM Authentication Realm for Basic Authentication
-e STRING Html encode STRING
-d STRING URL decode STRING


#

Vemos que debemos configurar el puerto por el que queramos tener acceso y el path del fichero de configuración, y, ademas, si quisieramos, con el fin de proteger al maximo nuestro AP de intrusos, podriamos incluso encriptar/desencriptar los datos a transferir , pero , de momento, para hacerlo fácil y compensible a todo el mundo, vamos solo a ver el funcionamiento básico, el resto ya será cosa vuestra. Como que con nuestro LinuxAP solo podemos editar en /etc/rw/ , tenemos claro lo que deberemos añadir a nuestro rc.tweak.

Asi que, de nuevo:

# cd etc/rw
# vi rc.tweak

y añadimos:

cd /html
sleep 2
httpd -p 80 -c /etc/rw/httpd.conf -r "Password Linuxero"

salimos guardando con:

:wq

y salvamos los cambios:

# save_config

 

Asi pues, ahora solo nos queda crear un fichero dentro de /etc/rw/ donde nuestro rc.tweak vaya a leer los condicionantes de acceso a nuestro AP. Creamos el fichero httpd.conf

# vi httpd.conf

ip:172.26.
/cgi-bin:pere:olotwireless
/:pere:olotwireless

es decir, solo se tendra acceso desde una IP de la familia 172.26.xx.xx. (que puede corresponder al eth0 o al wlan0, según nos convenga) y determinamos el "login" (en nuestro caso :pere)y el "password" (en nuestro caso :olotwireless) para los accesos a los distintos tipos de páginas que podamos alojar. En nuestro caso hemos hecho que coincidan, pero podrian ser distintos segun el path. No probeis con el :foo y el :bar que vienen en el ejemplo del autor del httpd porque no funcionan. Se supone debe haber un "minimo" de caracteres establecido, bien para el login o bien para el password por encima de 3.

Salimos guardando:

:wq

y ahora le damos los permisos necesarios al nuevo fichero:

# chmod 755 httpd.conf

salvamos y reiniciamos:

# save_config
# reboot

y esto es lo que nos devuelve:

17.0.httpd:
Starting httpd daemon.
18.0.telnetd:
Starting telnetd daemon.
21.0.iptables:
98.tweak:
Stopping httpd daemon.
Terminated
Stopping telnetd daemon.
Terminated
99.done:

Bien, vamos a hora a ver si funciona el invento. Intentamos la conexión desde nuestro navegador a la IP de nuestro AP, y, si no nos hemos equivocado, la respuesta deberia ser:

Perfecto!. Ahi tenemos la respuesta. Vamos a introducir el "login" y el "password" correctos, en nuestro caso "pere" y "olotwireless".

Le damos a "Aceptar":


Y, efectivamente, ya tenemos acceso a la página de configuracion de nuestro AP. Si hubieramos intentado acceder desde una IP distinta a la especificada dentro de httpd.conf, simplemente hubieramos tenido por respuesta un "página no encontrada" en nuestro navegador. Y si hubieramos hecho la llamada desde una IP del mismo rango, y hubieramos introducido un password erroneo, a la tercera intentona la respuesta hubiera sido:

 

Asi pues, ya tenemos la forma de, caso de tener nuestro AP en un sitio poco accesible, modificar la configuración sin tener que dejar una puerta "abierta" a posibles manipulaciones ajenas. A partir de aqui las variaciones ya serán cuestión del ingenio de cada uno.

 


Si consideras que este tutorial te ha sido útil y te ha ahorrado tiempo, problemas y dolores de cabeza, cualquier donación será bienvenida y destinada a la expansión del Wireless en general  y al mantenimiento de la red Wireless de OlotWireless. Puedes hacer efectiva tu colaboración  haciendo una transferencia a la cuenta 2030 0091 11 3300004824. Gracias.
©Pere Espunya. EA3CUU  para Unión de Radioaficionados Españoles