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
guifi.net:hotspot [2020/04/20 06:44] joseguifi.net:hotspot [2020/05/03 15:17] (current) 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 250: Line 250:
 Fichero web entrada: Fichero web entrada:
   /etc/nodogsplash/htdocs/splash.html   /etc/nodogsplash/htdocs/splash.html
-  + 
 +https://nodogsplashdocs.readthedocs.io/en/stable/ndsctl.html
 ===== Radius ===== ===== Radius =====
 Con docker, quitar ipv6 de:  Con docker, quitar ipv6 de: 
   /etc/freeradius/3.0/sites-enabled/default   /etc/freeradius/3.0/sites-enabled/default
-Se crea un usuario de prueba:  
  
-/etc/freeradius/3.0/users es enlace de /etc/freeradius/3.0/mods-config/files/authorize+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> <code>
 bob     Cleartext-Password := "hello" bob     Cleartext-Password := "hello"
Line 273: Line 276:
 Hacemos la consulta: Hacemos la consulta:
   radtest bob hello 192.168.1.13 0 probando   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
 +
 +Hay hay que devolver el hash 256 del hid concatenado con el faskey como variable tok:
 +
 +  http://192.168.220.1:2050/nodogsplash_auth/?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.1587365086.txt.gz · Last modified: 2020/04/20 06:44 by jose