Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| chillispot [Le 02/12/2010, 10:04] – 83.145.100.34 | chillispot [Le 11/09/2022, 10:35] (Version actuelle) – 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) moths-art | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>wi-fi réseau sécurité | + | {{tag>wifi réseau sécurité |
| ---- | ---- | ||
| ====== Chillispot : portail captif ====== | ====== Chillispot : portail captif ====== | ||
| - | ===== Présentation ===== | ||
| - | <note tip>Le projet Chillispot est abandonné le développeur principal étant | + | <note tip>Le projet Chillispot est abandonné le développeur principal étant |
| - | 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 | + | 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 |
| - | ===== 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 ===== |
| - | < | + | FIXME / [[: |
| ==== 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/ | + | Vous avez besoin du module **tun.o** (inclus dans les sources du kernel depuis les versions >= 2.4.7). Ubuntu/ |
| mkdir /dev/net | mkdir /dev/net | ||
| mknod / | mknod / | ||
| Ligne 32: | Ligne 29: | ||
| ==== Installation de la partie applicative ==== | ==== Installation de la partie applicative ==== | ||
| - | Vérifier que le fichier **/ | + | [[: |
| - | * [[: | + | * [[: |
| * 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 / | cd / | ||
| gunzip hotspotlogin.cgi.gz | gunzip hotspotlogin.cgi.gz | ||
| - | chmod a+x hotspotlogin.cgi.gz | + | chmod a+x hotspotlogin.cgi |
| </ | </ | ||
| (vous pourrez éditer ce fichier une fois chillispot fonctionnel afin de personnalisez l' | (vous pourrez éditer ce fichier une fois chillispot fonctionnel afin de personnalisez l' | ||
| ==== Configuration ==== | ==== Configuration ==== | ||
| - | * Dans le fichier **/ | + | * [[: |
| - | < | + | < |
| - | * Dans le fichier / | + | * [[: |
| | net 192.168.1.0/ | | net 192.168.1.0/ | ||
| Ligne 54: | Ligne 51: | ||
| | radiusserver1 127.0.0.1 | | radiusserver1 127.0.0.1 | ||
| | radiusserver2 127.0.0.1 | | radiusserver2 127.0.0.1 | ||
| - | | radiussecret | + | | radiussecret |
| | Radiusnasid portail | | Radiusnasid portail | ||
| | radiuslocationid | | radiuslocationid | ||
| | 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:// | | uamserver https:// | ||
| - | | Uamsecret | + | | Uamsecret |
| | Uamlisten 192.168.1.1 | | Uamlisten 192.168.1.1 | ||
| | uamallowed localhost www.yahoo.fr | | uamallowed localhost www.yahoo.fr | ||
| + | === Configuration du pare-feu === | ||
| + | < | ||
| + | chmod u+x / | ||
| + | |||
| + | Vous devez avoir à l' | ||
| + | < | ||
| + | INTIF=" | ||
| + | |||
| + | Si ce n’est pas déjà fait, activer le forwarding entre les interfaces réseau. Vérifier que la ligne suivante existe dans le fichier **/ | ||
| + | |||
| + | relancez ensuite les interfaces réseaux < | ||
| + | |||
| + | Dans le fichier **/ | ||
| + | < | ||
| + | #secret = testing123 | ||
| + | secret = radiussecret /* mettre le même secret partagé que dans le fichier / | ||
| + | |||
| + | === Configuration de Freeradius === | ||
| + | * [[: | ||
| + | < | ||
| + | server = " | ||
| + | login = " | ||
| + | password = " | ||
| + | </ | ||
| + | |||
| + | * mettre dans **/ | ||
| + | < | ||
| + | authorize { | ||
| + | preprocess | ||
| + | chap | ||
| + | suffix | ||
| + | eap | ||
| + | #files | ||
| + | sql | ||
| + | } | ||
| + | authenticate { | ||
| + | Auth-Type PAP { | ||
| + | pap | ||
| + | } | ||
| + | Auth-Type CHAP { | ||
| + | chap | ||
| + | } | ||
| + | eap | ||
| + | } | ||
| + | accounting { | ||
| + | detail | ||
| + | radutmp | ||
| + | sql | ||
| + | } | ||
| + | session { | ||
| + | sql | ||
| + | } | ||
| + | radutmp { | ||
| + | filename = ${logdir}/ | ||
| + | username = %{User-Name} | ||
| + | case_sensitive = yes | ||
| + | check_with_nas = yes | ||
| + | perm = 0600 | ||
| + | callerid = " | ||
| + | } | ||
| + | radutmp sradutmp { | ||
| + | filename = ${logdir}/ | ||
| + | perm = 0644 | ||
| + | callerid = " | ||
| + | } | ||
| + | attr_filter { | ||
| + | attrsfile = ${confdir}/ | ||
| + | } | ||
| + | counter daily { | ||
| + | filename = ${raddbdir}/ | ||
| + | key = User-Name | ||
| + | count-attribute = Acct-Session-Time | ||
| + | reset = daily | ||
| + | counter-name = Daily-Session-Time | ||
| + | check-name = Max-Daily-Session | ||
| + | allowed-servicetype = Framed-User | ||
| + | cache-size = 5000 | ||
| + | } | ||
| + | always fail { | ||
| + | rcode = fail | ||
| + | } | ||
| + | always reject { | ||
| + | rcode = reject | ||
| + | } | ||
| + | always ok { | ||
| + | rcode = ok | ||
| + | simulcount = 0 | ||
| + | mpp = no | ||
| + | } | ||
| + | expr { | ||
| + | } | ||
| + | digest { | ||
| + | } | ||
| + | exec { | ||
| + | wait = yes | ||
| + | input_pairs = request | ||
| + | } | ||
| + | exec echo { | ||
| + | wait = yes | ||
| + | program = "/ | ||
| + | input_pairs = request | ||
| + | output_pairs = reply | ||
| + | } | ||
| + | ippool main_pool { | ||
| + | range-start = 192.168.1.1 | ||
| + | range-stop = 192.168.3.254 | ||
| + | netmask = 255.255.255.0 | ||
| + | cache-size = 800 | ||
| + | session-db = ${raddbdir}/ | ||
| + | ip-index = ${raddbdir}/ | ||
| + | override = no | ||
| + | maximum-timeout = 0 | ||
| + | } | ||
| + | } | ||
| + | instantiate { | ||
| + | exec | ||
| + | expr | ||
| + | } | ||
| + | authorize { | ||
| + | preprocess | ||
| + | auth_log | ||
| + | chap | ||
| + | mschap | ||
| + | suffix | ||
| + | eap | ||
| + | files | ||
| + | sql | ||
| + | } | ||
| + | authenticate { | ||
| + | Auth-Type PAP { | ||
| + | pap | ||
| + | } | ||
| + | Auth-Type CHAP { | ||
| + | chap | ||
| + | } | ||
| + | Auth-Type MS-CHAP { | ||
| + | mschap | ||
| + | } | ||
| + | unix | ||
| + | eap | ||
| + | } | ||
| + | preacct { | ||
| + | preprocess | ||
| + | acct_unique | ||
| + | suffix | ||
| + | files | ||
| + | } | ||
| + | accounting { | ||
| + | detail | ||
| + | unix | ||
| + | radutmp | ||
| + | } | ||
| + | session { | ||
| + | radutmp | ||
| + | } | ||
| + | post-auth { | ||
| + | sql | ||
| + | } | ||
| + | pre-proxy { | ||
| + | } | ||
| + | post-proxy { | ||
| + | eap | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | === Configuration de MySQL === | ||
| + | |||
| + | FIXME / On s' | ||
| + | < | ||
| + | echo " | ||
| + | echo "grant all on radius.* to radius_login_sql@' | ||
| + | zcat / | ||
| + | #ou bien | ||
| + | zcat / | ||
| + | |||
| + | # 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 < / | ||
| + | mysql -u radius_login_sql -p radius < / | ||
| + | |||
| + | </ | ||
| + | |||
| + | Pour ajouter des utilisateur dans la base il faut ajouter un **login + password** dans la table **radcheck** de la base radius , un login plus le type d' | ||
| + | |||
| + | == Table usergroup == | ||
| + | ^ id ^ UserName | ||
| + | | 1 | utilisateur | ||
| + | | 2 | prof1 | professeurs | ||
| + | | 3 | élève1 | ||
| + | |||
| + | == Table radcheck | ||
| + | ^ id ^ UserName | ||
| + | | 1 | utilisateur | ||
| + | | 2 | prof1 | Password | ||
| + | | 3 | élève1 | ||
| + | |||
| + | == Table radgroupcheck | ||
| + | ^ id ^ GroupName | ||
| + | | 1 | groupe | ||
| + | | 2 | professeurs | ||
| + | | 3 | élèves | ||
| + | |||
| + | Vous pouvez vous référer au site officiel de [[http:// | ||
| + | |||
| + | ==== Test de fonctionnement ==== | ||
| + | On test l' | ||
| + | < | ||
| + | / | ||
| + | # ou bien | ||
| + | service freeradius stop | ||
| + | |||
| + | freeradius -XX | ||
| + | [...] | ||
| + | Debug: Listening on authentication *: | ||
| + | Listening on accounting *:1813 | ||
| + | Debug: Listening on proxy *:1814 | ||
| + | Info: Ready to process requests | ||
| + | </ | ||
| + | |||
| + | Dans une autre console on lance un radtest : | ||
| + | < | ||
| + | radtest tux tuxy 127.0.0.1 0 radiussecret | ||
| + | |||
| + | Sending Access-Request of id 95 to 127.0.0.1: | ||
| + | User-Name = " | ||
| + | User-Password = " | ||
| + | NAS-IP-Address = localhost | ||
| + | NAS-Port = 0 | ||
| + | rad_recv: Access-Accept packet from host 127.0.0.1: | ||
| + | </ | ||
| + | |||
| + | FIXME / Notre identification par rapport à mysql est donc fonctionnelle on peut dès à présent tester notre chillispot. | ||
| + | |||
| + | < | ||
| + | / | ||
| + | / | ||
| + | ifconfig eth1 0.0.0.0 | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | 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:// | ||
| + | |||
| + | Il vous reste maintenant à vous authentifier, | ||
| + | |||
| + | Un popup s' | ||
| - | ==== Liens et sources | + | ===== Voir aussi ===== |
| - | * **(fr)** | + | * **(en)** [[http:// |
| + | * **(fr)** | ||
| ---- | ---- | ||
| - | //Auteur | + | //Contributeurs principaux |
