Professional Documents
Culture Documents
Chillispot et Freeradius
Documentation Technique
Auteur : Ahmet DEMIR Anne 2009 - 2010 Master 2 Administration et Scurit des Rseaux
SOMMAIRE
PREREQUIS....................................................................................................2
MISE EN PLACE DUN SERVEUR SECRURISE.....................................................3 INSTALLATION DES PAQUETS .................................................................................... 3 ACTIVATION DU MODULE SSL .................................................................................. 3 CREATION DU CERTIFICAT........................................................................................ 3 CONFIGURATION DE APACHE2 ................................................................................. 4 CREER UN HOTE VIRTUEL ........................................................................................ 4
INSTALLATION DE CHILLISPOT .......................................................................6 CONFIGURATION DES INTERFACES ............................................................................. 6 INSTALLATION DU PAQUET CHILLISPOT ....................................................................... 6 INSTALLATION DU SCRIPT CGI .................................................................................. 7 CONFIGURATION DE CHILLISPOT ............................................................................... 7 REGLES IPTABLES DE FIREWALL ................................................................................. 8 CONFIGURATION DU POINT DACCES .......................................................................... 8
EXECUTION ...................................................................................................8
PREREQUIS
Pour mettre en place le Hotspot, nous avons besoin dun serveur, dune connexion Internet, un point daccs et un client en Wifi. Pour ce tutorial le serveur est sous Ubuntu 9.10, le point daccs est un Linksys WRT350N. On utilisera le rseau 172.16.1.0/24 pour la connexion du Chillispot. Linterface connecte internet sera eth0 (connecte une Box ordinaire, peu importe son adresse) et celle ct Wifi sera eth1 (relie au point daccs) donc on a besoin de deux cartes rseaux.
AP 172.16.1.254 Internet eth1 eth0 Modem Routeur ADSL Serveur Chillispot et Radius 172.16.1.1 Client
Cration du certificat
$ sudo openssl req -x509 -nodes -days 365 -newkey /etc/apache2/server.crt -keyout /etc/apache2/server.key Explications : -x509 -nodes donne le type de certificat voulu -days 365 indique la dure de validit (en jours) de votre certificat -newkey rsa:1024 demande une cl RSA de 1024 bits - d'aprs la doc apache, il est dconseill de crer une cl plus grosse pour des histoires de compatibilit -out /etc/apache2/server.crt est le chemin de votre certificat -keyout /etc/apache2/server.key est le chemin de la cl prive rsa:1024 -out
Configuration de Apache2
Par dfaut Apache2 coute sur le port 80, il faut donc lui dire dcouter le port 443 (SSL). On dite le fichier /etc/apache2/ports.conf. Normalement on y trouve les directives : <IfModule mod_ssl.c> Listen 443 </IfModule>
Explications : VirtualHost permet de dfinir un hte identifi par son IP et son port. Redirect on dcide de rediriger toutes les requtes sur le port 80 vers le 443. SSLEngine permet d'activer le moteur SSL au sein d'un hte virtuel, Elle peut prendre deux arguments > on/off SSLCertificateFile dfinit le certificat authentifiant le Serveur auprs des clients. L'argument est le chemin d'accs au certificat. En ce qui nous concerne, le certificat se trouve dans le rpertoire/etc/apache2/ SSLCertificateKeyFile dfinit la cl prive du Serveur utilise pour signer l'change de cl entre le client et le serveur. Elle prend en argument le chemin d'accs la cl (fichier). Dans notre cas, la cl se trouve dans le rpertoire /etc/apache2/ ScriptAlias on dfinit un alias pour accder aux scripts CGI.
Et on relance Apache2 : $ sudo /etc/init.d/apache2 reload Si vous avez une erreur pour le ScriptAlias ce nest pas grave, ne touchez rien et continuez. Ahmet DEMIR Chillispot et Freeradius 4
INSTALLATION DE FREERADIUS
On installe le paquet : $ sudo apt-get install y freeradius On dfinit un client pour Radius dans le fichier /etc/freeradius/clients.conf : client 172.16.1.1 { secret = secretradius shortname = ahmethotspot } Explications : client dfinit un client par son IP secret le mot de passe chang entre Radius et Chillispot shortname ssid du hotspot (facultatif)
Chillispot utilise soit PAP, soit CHAP pour lchange des paramtres de connexion. Avec PAP le mot de passe transite en clair, alors quavec CHAP il est crypt (hash MD5). On prcise donc le login (ahmet), le type dauthentification (ici CHAP, si cest PAP, ne pas mettre la directive Auth-Type), et toto le mot de passe en clair (pour CHAP), si cest PAP, mettre la directive Password ou User-Password.
INSTALLATION DE CHILLISPOT
Pour les listes de contrles on installe iptables $ sudo apt-get install iptables On a galement besoin dactiver tun (Universal TUN/TAP device driver) pour faire passer le traffic entre le point daccs et le serveur.
On active la diffusion des paquets dans le fichier /etc/systcl.conf net.ipv4.ip_forward=1 et on relance /sbin/sysctl p
Configuration de Chillispot
On dite le fichier /etc/chilli.conf La plage dadresses attribue par le serveur DHCP de Chillispot : net 172.16.1.0/24 Le domaine a chang, remplacer .org par .info domain key.chillispot.info Dfinir sur quelle adresse Radius doit couter : radiuslisten 172.16.1.1 Adresse sur serveur Radius : radiusserver1 172.16.1.1 Si on ne dispose pas dun deuxime serveur il faut quand mme mettre la 1re adresse : radiusserver2 172.16.1.1 Le secret partag entre Radius et Chillispot : radiussecret secretradius Le SSID du HotSpot (facultatif) radiusnasid AhmetHotSpot Linterface sur laquelle le HotSpot est connect et o le DHCP attribue les adresses : dhcpif eth1 La page o les utilisateurs seront redirigs : uamserver https://172.16.1.1/cgi-bin/hotspotlogin.cgi Le secret que partage Chillispot : uamsecret secretchilli Adresses autorises sans identification : uamallowed 172.16.1.0/24 Ahmet DEMIR Chillispot et Freeradius 7
EXECUTION
$ $ $ $ $ $ /etc/init.d/freeradius stop /etc/init.d/freeradius start ifconfig eth1 0.0.0.0 /etc/init.d/chilli stop /etc/init.d/chilli start /etc/chilli.iptables
DEBOGAGE :
Freeradius :
- Stoppez le service FreeRadius en cours dexcution : /etc/init.d/freeradius stop - Lancez le mode DEBUG : freeradius XXX A Une fois termin, noubliez pas de relancer le service : - Stoppez le mode debug : CTRL + C - Relancez le service : /etc/init.d/freeradius start
Pour voir les clients connects excutez radwho Les fichiers logs se situent dans le rpertoire /var/log/freeradius
Vous pouvez galement tester un utilisateur en ligne de commande et voir les changes en mode debug de freeradius. Lancez le debug et ouvrez un autre terminal et tapez radtest ahmet toto 172.16.1.1 0 secretradius. Normalement vous devriez avoir une rponse du type Accept-accept.
ChilliSpot
On peut utiliser la commande chilli --fg --debug
Pour le reste :
Consultez les logs dans /var/log et votre moteur de recherche est votre meilleur ami et lisez les docs ! Dsormais je ne rpondrai plus aux mails, je ne suis pas l pour faire votre travail votre place, ce tutorial est une aide et non LA mthode pour mettre en place Chillispot.