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/19 22:52] 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 226: Line 226:
  
 Compilar nueva versión:\\ Compilar nueva versión:\\
-Hay que desinstalar los antiguos: +Hay que compilar y despues desinstalar los antiguos: 
-  sudo apt-get remove -libmicrohttpd12 libmicrohttpd-dev+ 
 +Descargamos nueva versión compilamos:
 <code> <code>
 cd ~ cd ~
Line 238: Line 239:
 sudo make install sudo make install
 </code> </code>
 +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:
   /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
 +
 +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.1587336720.txt.gz · Last modified: 2020/04/19 22:52 by jose