guifi.net:hotspot
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| guifi.net:hotspot [2020/04/19 22:39] – jose | guifi.net:hotspot [2020/05/03 15:17] (current) – jose | ||
|---|---|---|---|
| Line 184: | Line 184: | ||
| < | < | ||
| - | lan0 IEEE 802.11 | + | wlan0 IEEE 802.11 |
| Retry short limit: | Retry short limit: | ||
| Power Management: | Power Management: | ||
| Line 226: | Line 226: | ||
| Compilar nueva versión:\\ | Compilar nueva versión:\\ | ||
| - | Hay que desinstalar los antiguos: | + | Hay que compilar y despues |
| - | sudo apt-get remove -f libmicrohttpd12 libmicrohttpd-dev | + | |
| + | Descargamos nueva versión y compilamos: | ||
| < | < | ||
| cd ~ | cd ~ | ||
| Line 238: | Line 239: | ||
| sudo make install | sudo make install | ||
| </ | </ | ||
| + | Desinstalamos la versión antigua: | ||
| + | sudo apt-get remove -y libmicrohttpd12 libmicrohttpd-dev | ||
| Para que arranque en el principio, modificamos el fichero | Para que arranque en el principio, modificamos el fichero | ||
| Line 248: | Line 251: | ||
| / | / | ||
| + | https:// | ||
| + | ===== Radius ===== | ||
| + | Con docker, quitar ipv6 de: | ||
| + | / | ||
| + | |||
| + | Se crea un usuario de prueba en el fichero users que es un enlaces simbólico a authorize: | ||
| + | / | ||
| + | / | ||
| + | |||
| + | < | ||
| + | bob | ||
| + | Reply-Message := " | ||
| + | </ | ||
| + | |||
| + | Para poder hacer consulta que no sea desde localhost: | ||
| + | |||
| + | / | ||
| + | < | ||
| + | client private-network-1 { | ||
| + | ipaddr | ||
| + | secret | ||
| + | } | ||
| + | </ | ||
| + | Hacemos la consulta: | ||
| + | radtest bob hello 192.168.1.13 0 probando | ||
| + | | ||
| + | ===== openwrt ===== | ||
| + | / | ||
| + | option gatewayinterface ' | ||
| + | ===== FAS ===== | ||
| + | Delega la autenticación en una web externa. | ||
| + | |||
| + | Hay varios campos a configurar: | ||
| + | fas_secure_enabled | ||
| + | fasremotefqdn | ||
| + | fasremoteip | ||
| + | faspath | ||
| + | fasport | ||
| + | faskey | ||
| + | | ||
| + | |||
| + | |||
| + | Hay 4 tipos de login: | ||
| + | ==== fas_secure_enabled 0 ==== | ||
| + | |||
| + | **Petición: | ||
| + | |||
| + | http:// | ||
| + | |||
| + | |||
| + | Si vamos a la url que le pasa por GET como variable **authaction** estamos logados, es decir: | ||
| + | http:// | ||
| + | |||
| + | ==== fas_secure_enabled 1 y faskey no activado ==== | ||
| + | Se envía la petición sin el token y FAS tiene que pedirlo a nodogsplah | ||
| + | |||
| + | Petición: | ||
| + | |||
| + | http:// | ||
| + | |||
| + | ==== fas_secure_enabled 1 y faskey activado ==== | ||
| + | Envia el token en la variable hid. Si el login es correcto, tiene que devolver la petición concatenando hid con el faskey | ||
| + | |||
| + | Petición: | ||
| + | |||
| + | http:// | ||
| + | |||
| + | Hay hay que devolver el hash 256 del hid concatenado con el faskey como variable tok: | ||
| + | |||
| + | http:// | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== fas_secure_enabled 3 ==== | ||
| + | Conecta por https. | ||
| + | |||
| + | **Nodogsplash: | ||
| + | < | ||
| + | fas_secure_enabled 3 | ||
| + | fasremotefqdn portalcaptiu.lobo99.info | ||
| + | fasremoteip 37.132.244.99 | ||
| + | faspath /login3.php | ||
| + | fasport 443 | ||
| + | faskey 1234567890 | ||
| + | </ | ||
| + | |||
| + | **login3.php** | ||
| + | < | ||
| + | <?php | ||
| + | $key=" | ||
| + | $string=$_GET[' | ||
| + | $iv=$_GET[' | ||
| + | $cipher=" | ||
| + | $decrypted=openssl_decrypt( base64_decode( $string ), $cipher, $key, 0, $iv ); | ||
| + | |||
| + | echo $decrypted; | ||
| + | ?> | ||
| + | </ | ||
| + | |||
| + | Al conectar al hotspor redirige la petición por https a: | ||
| + | https:// | ||
| + | |||
| + | Envía por get la variable **fas** con el contenido encriptado con la shred-key que tenemos configurado en faskey y la variable **iv** que es una semilla. | ||
| + | |||
| + | Podemos desencriptar el contenido con el comando de php: | ||
| + | openssl_decrypt( base64_decode( $string ), $cipher, $key, 0, $iv ); | ||
| + | En este caso el resultado es: | ||
| + | < | ||
| + | clientip=192.168.220.51, | ||
| + | </ | ||
guifi.net/hotspot.1587335977.txt.gz · Last modified: by jose
