User Tools

Site Tools


guifi.net:hotspot

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
guifi.net:hotspot [2020/04/19 22:53] joseguifi.net:hotspot [2020/05/03 14:51] – [fas_secure_enabled 1 y faskey activado] jose
Line 184: Line 184:
  
 <code> <code>
-lan0     IEEE 802.11  Mode:Master  Tx-Power=31 dBm   +wlan0     IEEE 802.11  Mode:Master  Tx-Power=31 dBm   
           Retry short limit:  RTS thr:off   Fragment thr:off           Retry short limit:  RTS thr:off   Fragment thr:off
           Power Management:on           Power Management:on
Line 251: Line 251:
   /etc/nodogsplash/htdocs/splash.html   /etc/nodogsplash/htdocs/splash.html
  
 +https://nodogsplashdocs.readthedocs.io/en/stable/ndsctl.html
 +===== Radius =====
 +Con docker, quitar ipv6 de: 
 +  /etc/freeradius/3.0/sites-enabled/default
 +
 +Se crea un usuario de prueba en el fichero users que es un enlaces simbólico a authorize: 
 +  /etc/freeradius/3.0/users
 +  /etc/freeradius/3.0/mods-config/files/authorize
 +
 +<code>
 +bob     Cleartext-Password := "hello"
 +        Reply-Message := "Hello, %{User-Name}"
 +</code>
 +
 +Para poder hacer consulta que no sea desde localhost:
 +
 +  /etc/freeradius/3.0/clients.conf
 +<code>
 +client private-network-1 {
 +        ipaddr          = 192.168.1.0/24
 +        secret          = probando
 +}
 +</code>
 +Hacemos la consulta:
 +  radtest bob hello 192.168.1.13 0 probando
 +  
 +===== openwrt =====
 +  /etc/config/nodogsplash
 +  option gatewayinterface 'br-wan'
 +===== 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://portalcaptiu.lobo99.info/login1.html?authaction=http://192.168.220.1:2050/nodogsplash_auth/?clientip=192.168.220.68&gatewayname=NoDogSplash&tok=fe4a245b&redir=http%3a%2f%2fwiki.legido.com%2f
 +
 +
 +Si vamos a la url que le pasa por GET como variable **authaction** estamos logados, es decir:
 +  http://192.168.220.1:2050/nodogsplash_auth/?clientip=192.168.220.68&gatewayname=NoDogSplash&tok=fe4a245b&redir=http%3a%2f%2fwiki.legido.com%2f
 +
 +==== 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://portalcaptiu.lobo99.info/login2.php?clientip=192.168.220.68&gatewayname=NoDogSplash&redir=http%3a%2f%2fdetectportal.firefox.com%2fsuccess.txt
 +
 +==== 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://portalcaptiu.lobo99.info/login1.html?clientip=192.168.220.68&gatewayname=NoDogSplash&hid=567c8ad9a0da6759af0c256d75f3031690d78768a370458105ba10bd809b0fd8&gatewayaddress=192.168.220.1:2050&redir=http%3a%2f%2fdetectportal.firefox.com%2fsuccess.txt
 +
 +Según la documentación hay que devolver el hash 256 del hid concatenado con el faskey como variable tok, pero poniendo cualquiera funciona, es decir:
 +
 +  http://192.168.220.1:2050/?tok=f140c19ec970fd853abc54db46d7bb7152e16c6571f5349a9c0ee8c3bde46872&redir=http%3a%2f%2fwiki.legido.com%2f
 +
 +
 +
 +
 +==== fas_secure_enabled 3 ====
 +Conecta por https.
 +
 +**Nodogsplash:**
 +<code>
 +fas_secure_enabled 3
 +fasremotefqdn portalcaptiu.lobo99.info
 +fasremoteip 37.132.244.99
 +faspath /login3.php
 +fasport 443
 +faskey 1234567890
 +</code>
 +
 +**login3.php**
 +<code>
 +<?php
 +$key="1234567890";
 +$string=$_GET['fas'];
 +$iv=$_GET['iv'];
 +$cipher="AES-256-CBC";
 +$decrypted=openssl_decrypt( base64_decode( $string ), $cipher, $key, 0, $iv );
 +
 +echo $decrypted;
 +?>
 +</code>
 +
 +Al conectar al hotspor redirige la petición por https a:
 +  https://portalcaptiu.lobo99.info/index1.php?fas=UElmM3o1a2ljbEQrQlU1L3dOa2RxbXV0RVYxbFF6dDlQM0xuR0pmNXVzZlE3NWVYMUZ6c3NYaUFOMDlmcG9tM3V6S1dtOTBhTTk5L09jRW1PUTNjUFZ4Y2hETG9BN1hBRjA1Z1ZvRmUxRXIzWExBeWhlTG83WVJHalV6blhlaUh0TXYvb0J5R2hYckFWTmNBajBadVo5MjJzT24zcHdpV3FyaXdQdG00R25GZDhhU2RVNEtHNlR4d3pkTnBxTzVuRUJaRjA5amhiMm1zaTdRaXZ3bS9INjVJOFQvUXZmYmlOUDRQSVRqYks5bXltWFdUeUNoNGZ4cjFMeW1ValhZSDJNbHpSRFgxQVZnK05JMytBQzN3bStXRjhNbkhHTUdWQUFkMm9HTDFVQzY2ZWczQmdQRFlha3l3Uy9lU00yRnY=&iv=c8887a287b60c864
 +
 +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:
 +<code>
 +clientip=192.168.220.51, clientmac=30:07:4d:d6:31:f6, gatewayname=NoDogSplash, tok=2861af5d, gatewayaddress=192.168.220.1:2050, authdir=nodogsplash_auth, originurl=http%3a%2f%2fconnectivitycheck.gstatic.com%2fgenerate_204
 +</code>
  
guifi.net/hotspot.txt · Last modified: 2020/05/03 15:17 by jose