Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
chillispot [Le 02/12/2010, 10:16]
83.145.100.34 ajout conf radius
chillispot [Le 11/09/2022, 10:35] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>wi-fi réseau sécurité}}+{{tag>wifi réseau sécurité ​portail_captif VÉTUSTE}}
 ---- ----
  
 ====== Chillispot : portail captif ====== ====== Chillispot : portail captif ======
  
-===== Présentation ===== 
  
-<note tip>Le projet Chillispot est abandonné le développeur principal étant ​partit, cependant il existe un fork très actif nommé [[:​coovachilli|CoovaChilli]]</​note>​+<note tip>Le projet Chillispot est abandonné le développeur principal étant ​parti, cependant il existe un fork très actif nommé [[:​coovachilli|CoovaChilli]]</​note>​
  
-Chillispot est un portail captif. Il a pour rôle dans un premier temps de distribuer les adresses IP aux clients qui se connectent sur le Hotspot, puis dans un second temps de capturer toutes les requêtes à destination du web. Il force ainsi le client à passer par la page de demande d’authentification. Il n’est pas possible de passer outre, seuls les sites de dimension iT et la page d’authentification de Chillispot sont autorisés sans être, au préalable, authentifié sur le serveur Radius. Chillispot peut à la fois être installé sur une machine, via les paquets téléchargeables sur le site officiel, mais peut également être flashé dans un routeur compatible (du type Linksys WRT-54G) au moyen d’un ​firware ​spécifique (DD-WRT).+Chillispot est un portail captif. Il a pour rôle dans un premier temps de distribuer les adresses IP aux clients qui se connectent sur le Hotspot, puis dans un second temps de capturer toutes les requêtes à destination du web. Il force ainsi le client à passer par la page de demande d’authentification. Il n’est pas possible de passer outre, seuls les sites de dimension iT et la page d’authentification de Chillispot sont autorisés sans être, au préalable, authentifié sur le serveur Radius. Chillispot peut à la fois être installé sur une machine, via les paquets téléchargeables sur le site officiel, mais peut également être flashé dans un routeur compatible (du type Linksys WRT-54G) au moyen d’un ​firmware ​spécifique (DD-WRT).
  
  
-===== Installation ===== +===== Pré-requis ​=====
- +
-==== Pré requis ====+
  
   * Deux cartes réseau (interface LAN et publique)   * Deux cartes réseau (interface LAN et publique)
Ligne 21: Ligne 18:
   * iptables (pare-feu)   * iptables (pare-feu)
  
-Installez les paquets ​+===== Installation ===== 
-<​code>​apt-get install ​apache2 apache-ssl phpmyadmin ​ mysql-server ​ freeradius ​ freeradius-mysql</​code>​+FIXME / [[:​tutoriel:​comment_installer_un_paquet|Installez les paquets]] **[[apt>​apache2,​apache-ssl,​phpmyadmin,​mysql-server,​freeradius,​freeradius-mysql|apache2 apache-ssl phpmyadmin mysql-server freeradius freeradius-mysql]]**.
  
 ==== Configuration Réseau (module TUN/TAP) ==== ==== Configuration Réseau (module TUN/TAP) ====
-Vous avez besoin du module **tun.o** (inclus dans les sources du kernel depuis les versions >= 2.4.7). Ubuntu/​Debian ne crée pas le périphérique "​tun"​ automatiquement. ​Taper les commandes suivantes pour la création d'une interface « tun » : <​code>​+Vous avez besoin du module **tun.o** (inclus dans les sources du kernel depuis les versions >= 2.4.7). Ubuntu/​Debian ne crée pas le périphérique "​tun"​ automatiquement. ​Dans un [[terminal]],​ taper les commandes suivantes pour la création d'une interface « tun » : <​code>​
 mkdir /dev/net mkdir /dev/net
 mknod /​dev/​net/​tun c 10 200 mknod /​dev/​net/​tun c 10 200
Ligne 32: Ligne 29:
  
 ==== Installation de la partie applicative ==== ==== Installation de la partie applicative ====
-Vérifier que le fichier **/​etc/​modules.conf** contient la ligne suivante : <​file>​alias char-major-10-200 tun</​file>​ +[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez ​le fichier]] **/​etc/​modules.conf** ​et vérifiez qu'​il ​contient la ligne suivante : <​file>​alias char-major-10-200 tun</​file>​ 
-  * [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] chillispot+  * [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] ​<​del>​**[[apt>​chillispot]]**</​del>​ (n'​existe plus)
   * Configuration du cgi   * Configuration du cgi
 On copie le fichier cgi fourni dans le répertoire adéquat : On copie le fichier cgi fourni dans le répertoire adéquat :
Ligne 40: Ligne 37:
 cd /​usr/​lib/​cgi-bin cd /​usr/​lib/​cgi-bin
 gunzip hotspotlogin.cgi.gz gunzip hotspotlogin.cgi.gz
-chmod a+x hotspotlogin.cgi.gz+chmod a+x hotspotlogin.cgi
 </​code>​ </​code>​
 (vous pourrez éditer ce fichier une fois chillispot fonctionnel afin de personnalisez l'​installation) (vous pourrez éditer ce fichier une fois chillispot fonctionnel afin de personnalisez l'​installation)
  
 ==== Configuration ==== ==== Configuration ====
-  * Dans le fichier **/​usr/​lib/​cgi-bin/​hotspotlogin.cgi**,​ décommenter et modifier le paramètre suivant : +  * [[:​tutoriel:​comment_modifier_un_fichier|Modifiez ​le fichier]] **/​usr/​lib/​cgi-bin/​hotspotlogin.cgi**,​ décommenter et modifier le paramètre suivant : 
-<​file>​$uamsecret = "secretchilli" /* secret partagé entre le CGI hotspotlogin.cgi et le daemon chilli */</​file>​ +<​file>​$uamsecret = "uamsecret" /* secret partagé entre le CGI hotspotlogin.cgi et le daemon chilli */</​file>​ 
-  * Dans le fichier **/​etc/​chilli.conf**,​ décommenter et modifier les paramètres suivants :+  * [[:​tutoriel:​comment_modifier_un_fichier|Modifiez ​le fichier]] **/​etc/​chilli.conf**,​ décommenter et modifier les paramètres suivants :
  
 |  net 192.168.1.0/​24 ​ |  ou laisser commenter pour utiliser la configuration par défaut 192.168.182.0/​24 ​ | |  net 192.168.1.0/​24 ​ |  ou laisser commenter pour utiliser la configuration par défaut 192.168.182.0/​24 ​ |
Ligne 54: Ligne 51:
 |  radiusserver1 127.0.0.1 ​ |  IP du serveur d’authentification ​ | |  radiusserver1 127.0.0.1 ​ |  IP du serveur d’authentification ​ |
 |  radiusserver2 127.0.0.1 ​ |  IP du serveur d’authentification Radius ​ | |  radiusserver2 127.0.0.1 ​ |  IP du serveur d’authentification Radius ​ |
-|  radiussecret ​secretradius ​ ​| ​ secret partagé entre le serveur Radius et le daemon chilli ​ |+|  radiussecret ​radiussecret ​ ​| ​ secret partagé entre le serveur Radius et le daemon chilli ​ |
 |  Radiusnasid portail ​ |  identifiant de votre chillispot ​ | |  Radiusnasid portail ​ |  identifiant de votre chillispot ​ |
 |  radiuslocationid ​ |  isocc=fr,​cc=33,​ac=87000,​network=MonESSID ​ | |  radiuslocationid ​ |  isocc=fr,​cc=33,​ac=87000,​network=MonESSID ​ |
 |  dhcpif eth1  |  nom de l’interface reliée au point d’accès ​ | |  dhcpif eth1  |  nom de l’interface reliée au point d’accès ​ |
 |  uamserver https://​ipdevotreserveur/​cgi-bin/​hotspotlogin.cgi ​ |  ou mettre https://​192.168.182.1/​cgi-bin/​hotspotlogin.cgi si vous utilisez la configuration par défaut. ​ | |  uamserver https://​ipdevotreserveur/​cgi-bin/​hotspotlogin.cgi ​ |  ou mettre https://​192.168.182.1/​cgi-bin/​hotspotlogin.cgi si vous utilisez la configuration par défaut. ​ |
-|  Uamsecret ​secretchilli ​ ​| ​ mettre le même secret que dans le fichier /​usr/​lib/​cgi-bin/​hotspotlogin.cgi ​ |+|  Uamsecret ​uamsecret ​ ​| ​ mettre le même secret que dans le fichier /​usr/​lib/​cgi-bin/​hotspotlogin.cgi ​ |
 |  Uamlisten 192.168.1.1 ​ | adresse écoutée ​  | |  Uamlisten 192.168.1.1 ​ | adresse écoutée ​  |
 |  uamallowed localhost www.yahoo.fr ​ |  Url autorisée ​ | |  uamallowed localhost www.yahoo.fr ​ |  Url autorisée ​ |
  
-=== Configuration du firewall ​===+=== Configuration du pare-feu ​===
 <​code>​cp /​usr/​share/​doc/​chillispot/​firewall.iptables /​etc/​chilli.iptables <​code>​cp /​usr/​share/​doc/​chillispot/​firewall.iptables /​etc/​chilli.iptables
 chmod u+x /​etc/​chilli.iptables</​code>​ chmod u+x /​etc/​chilli.iptables</​code>​
Ligne 78: Ligne 75:
 <​file>​client 127.0.0.1 { <​file>​client 127.0.0.1 {
 #secret = testing123 #secret = testing123
-secret = secretradius ​/* mettre le même secret partagé que dans le fichier /​etc/​chilli.conf */</​file>​+secret = radiussecret ​/* mettre le même secret partagé que dans le fichier /​etc/​chilli.conf */</​file>​
  
 === Configuration de Freeradius === === Configuration de Freeradius ===
-  * modifier le fichier **/​etc/​freeradius/​sql.conf**:​+  * [[:​tutoriel:​comment_modifier_un_fichier|modifier le fichier]] **/​etc/​freeradius/​sql.conf**:​
 <​file>​ <​file>​
-server = "​localhost"​ (ou x.x.x.x l'ip de votre serveur mysql)  +server = "​localhost"​ (ou x.x.x.x l'ip de votre serveur mysql) 
-login = "radius"  +login = "radius_login_sql
-password = "xxxx"+password = "radius_pass_sql"
 </​file>​ </​file>​
  
Ligne 229: Ligne 226:
  
 === Configuration de MySQL === === Configuration de MySQL ===
-On s'​occupe ensuite de notre base de données :+ 
 +FIXME / On s'​occupe ensuite de notre base de données :
 <​code>​ <​code>​
 echo "​create database radius;"​ mysql -u root -p echo "​create database radius;"​ mysql -u root -p
-echo "grant all on radius.* to radius@'​%'​ identified by 'motdepasse_sql'; flush privileges;"​ mysql -u root -p+echo "grant all on radius.* to radius_login_sql@'​%'​ identified by 'radius_pass_sql'; flush privileges;"​ mysql -u root -p
 zcat /​usr/​share/​doc/​freeradius/​examples/​mysql.sql.gz mysql -u root -p radius zcat /​usr/​share/​doc/​freeradius/​examples/​mysql.sql.gz mysql -u root -p radius
 #ou bien #ou bien
 zcat /​usr/​share/​doc/​freeradius/​examples/​db_mysql.sql.gz | mysql -u root -p radius zcat /​usr/​share/​doc/​freeradius/​examples/​db_mysql.sql.gz | mysql -u root -p radius
 +
 +# sur Lucid Lynx, il est possible que les zcat ne marchent pas. 
 +#Essayez celles ci (vous devez rentrer les 2) :
 +mysql -u radius_login_sql -p radius < /​etc/​freeradius/​sql/​mysql/​schema.sql
 +mysql -u radius_login_sql -p radius < /​etc/​freeradius/​sql/​mysql/​nas.sql
 +
 </​code>​ </​code>​
  
Ligne 247: Ligne 251:
  
 == Table radcheck ​ == == Table radcheck ​ ==
 +^  id  ^  UserName ​ ^  Attribute ​ ^  Op  ^  Value  ^
 +|  1  |  utilisateur ​ |  Password ​ |  ==  |  passuser ​ |
 +|  2  |  prof1  |  Password ​ |  ==  |  passprof ​ |
 +|  3  |  élève1 ​ |  Password ​ |  ==  |  passeleve ​ |
  
-id +== Table radgroupcheck ​ == 
-UserName +^  id  ^  GroupName ​ ^  ​Attribute ​ ​^ ​ op  ^  ​Value  ^ 
-Attribute +|  ​ ​| ​ groupe ​ |  Auth-Type ​ |  :=  |  Local  | 
-Op +|  2  |  professeurs ​ |  Auth-Type ​ |  :=  |  Local  | 
-Value +|  3  |  élèves ​ |  Auth-Type ​ |  :=  |  Local  | 
-+ 
-utilisateur +Vous pouvez vous référer au site officiel de [[http://​www.chillispot.info/​features.html|chillispot]] pour l'​ensemble des syntaxes supportés. 
-Password + 
-== +==== Test de fonctionnement ==== 
-passuser +On test l'​authentification de freeradius en mode débug 
-2 +<​code>​ 
-prof1 +/​etc/​init.d/​freeradius stop 
-Password +# ou bien  
-== +service freeradius stop 
-passprof + 
-3 +freeradius -XX 
-élève1 ​ +[...] 
-Password +Debug: Listening on authentication *:​1812Debug:​ 
-== +Listening on accounting *:1813 
-passeleve+Debug: Listening on proxy *:1814 
 +Info: Ready to process requests 
 +</​code>​ 
 + 
 +Dans une autre console on lance un radtest : 
 +<​code>​ 
 +radtest tux tuxy 127.0.0.1 0 radiussecret 
 + 
 +Sending Access-Request of id 95 to 127.0.0.1:​1812 
 +User-Name = "​tux"​ 
 +User-Password ​= "​tuxy"​ 
 +NAS-IP-Address ​localhost 
 +NAS-Port ​
 +rad_recv: Access-Accept packet from host 127.0.0.1:​1812,​ id=95, length=20 
 +</​code>​ 
 + 
 +FIXME / Notre identification par rapport à mysql est donc fonctionnelle on peut dès à présent tester notre chillispot. 
 + 
 +<​code>​ 
 +/​etc/​init.d/​freeradius stop (ctrl+c pour le mode débug) 
 +/​etc/​init.d/​freeradius start 
 +ifconfig eth1 0.0.0.0 
 +/​etc/​init.d/​chilli stop 
 +/​etc/​init.d/​chilli start 
 +/​etc/​chilli.iptables 
 +</​code>​
  
-Table radgroupcheck+Vérifiez que la borne wifi à bien pris son adresse en dhcp puis connectez vous au réseau wifi avec votre poste, lancez une page web, si tout ce passe bien vous devriez être redirigé sur [[https://​ipdevotreserveur/​cgi-bin/​hotspotlogin.cgi|https://​ipdevotreserveur/​cgi-bin/​hotspotlogin.cgi]]
  
-id +Il vous reste maintenant à vous authentifier,​ si le radtest à été concluant l'​authentification devrait réussir sans problèmes.
-GroupName +
-Attribute +
-op +
-Value +
-+
-groupe +
-Auth-Type +
-:= +
-Local +
-+
-professeurs +
-Auth-Type +
-:= +
-Local +
-+
-élèves +
-Auth-Type +
-:= +
-Local+
  
 +Un popup s'​ouvre alors avec le temps de connexion et la possibilité de se déloguer tandis que la page que vous aviez ouverte est redirigé vers le site demandé.
  
-==== Liens et sources ​==== +===== Voir aussi ===== 
-  * **(fr)** ​ébauche, inspiré ​du livre blanc http://​www.guellec.fr/​ressources/​rapports/​documentation_hotspot.pdf+  * **(en)** [[http://​www.chillispot.info/​|Site officiel]] 
 +  * **(fr)** ​Inspiré ​du livre blanc http://​www.guellec.fr/​ressources/​rapports/​documentation_hotspot.pdf
  
 ---- ----
-//Auteur ​: [[utilisateurs:​erwik666]] ​/ Contributeur : [[:​utilisateurs:​Herrleiche]].//​+//Contributeurs principaux ​: [[utilisateurs:​erwik666]][[:​utilisateurs:​Herrleiche]].//​
  • chillispot.1291281417.txt.gz
  • Dernière modification: Le 02/12/2010, 10:16
  • par 83.145.100.34