Vous êtes sur la page 1sur 24

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

Ralis par :

MNIE FILALI hassnae CHOLET gwenael PASCAL frderic RHBALI karim

Tuteur:
M. Rachid ELAZOUZI

Anne universitaire : 20072008

PortailCaptifIPv6

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

Sommaire

Introduction I. Prsentation du projet 1. Description 2. Intrt du projet 3. Diffrents portails captifs existants 4. Comparaison des diffrents portails captifs Droulement du projet 1. Les acteurs de la mission, organisation 2. Environnement de travail 3. Portail Captif NoCat 4. Phase de tests raliss 5. Difficults rencontres 6. Dure du projet Apports du projet et conclusion Annexe

II.

III. IV.

PortailCaptifIPv6

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

Introduction

L'objectif principal de notre projet consistait fournir un accs un rseau par des points d'accs sans fil. L'accs devra se faire l'aide d'adresse Ipv6. Le rseau auquel les clients se connectent devra fournir les services de DNS, DHCP, mail, Web et serveur de base de donnes. Pour la ralisation du portail captif, nous devions utiliser un logiciel existant et ne pas dvelopper notre propre portail. La ralisation de ce projet s'est faite en deux parties :

Une premire partie avait pour but une tude sur la version 6 du protocole IP ainsi quune tude des portails captifs existants afin de justifier le choix de lun dentre eux. La seconde partie comprenait la ralisation dun mini rseau possdant un serveur DNS, DHCP, serveur WEB, serveur mail et un serveur de base de donnes et finalement tester le bon fonctionnement de notre portail captif et de ces diffrents services sous IPv6.

PortailCaptifIPv6

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

I. Prsentationduprojet
1. Description

Dans les annes 90, lIPV4 (Internet Protocole Version 4) devient la base et le principal facteur de dveloppement dInternet. LIPV4, qui a su se montrer la hauteur son poque, ne fait plus le poids face la prolifration de lInternet de par le monde. Le protocole IP est contraint dvoluer pour rpondre aux exigences dun nouveau public. Une solution nouvelle simpose : lIPV6. Le protocole IPv6 doit donc offrir plus de flexibilit et defficacit, rsoudre toute une varit de problmes nouveaux et ne devrait jamais tre en rupture dadresses. IPV6 a prvu des objectifs atteindre ds le commencement. Il prvoit une meilleure scurit, une plus large fourchette dadresses IP, une simplicit dauto configuration, une infrastructure de routage plus efficace, un support QoS standardis, une coexistence entre les versions 4 et 6 du protocole, une galit au niveau de laccs Internet. La dmocratisation des rseaux Wifi a permis un dploiement grande chelle de hotspots travers le monde. La majorit de ces hotspots fonctionnent sur le principe d'un portail captif qui redirige tout le trafic web vers une page d'authentification de l'oprateur du rseau sans-fil. Typiquement, les clients associs au hotspot utilisent des adresses IPv4 prives cause du manque notable d'adresses IPv4 publiques disponibles. Les adresses prives du hotspot doivent alors utiliser un routeur de type NAT pour accder Internet et les applications de chaque client se partagent une seule adresse publique pour communiquer avec le reste de l'Internet, IPv6 rsoud ce problme d'adressage publique. Le but de ce projet consiste donc raliser un portail captif supportant uniquement le protocole IPv6 et fonctionnant sous un systme Linux. Concernant l'authentification des utilisateurs, le portail devra pouvoir interagir avec un serveur Radius. Le principe de ce portail est le suivant : quand un client se connecte notre rseau sans fil, une adresse IP lui est attribue par le serveur DHCPv6 (mais il sagit juste dune adresse spcifique o aucun droit ne lui est attribu). Ensuite quand le client veut lancer un navigateur web toute requte est intercepte et redirige vers le portail captif (le formulaire doit tre complt et valid) puis le serveur propose que le client sauthentifie pour avoir accs internet et aux ressources. Si le client runit les conditions ncessaires, les droits sont propags afin que le firewall lui ouvre les droits daccs et les accs qui lui sont attribues. Nous nous sommes bass dans ce projet sur le portail web NoCat. Ce dernier utilise un firewall qui soumet les utilisateurs une authentification.

PortailCaptifIPv6

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

2. Intrt du projet :

Installer un rseau sans le scuriser peut permettre des personnes non autorises d'couter, de modifier et d'accder ce rseau. Il est donc indispensable de scuriser les rseaux ds leur installation. Il est possible de scuriser son rseau de faon plus ou moins forte selon les objectifs de scurit et les ressources que l'on y accorde. La mise en place dun portail permet de limiter laccs un rseau quil soit filaire ou non. Il fournit une demande dauthentification aux utilisateurs qui se prsentent. Par le biais de ce service, on ne fournit les ressources de notre rseau qua des utilisateurs enregistrs. Ce qui permet de scuriser ce quon appelle un accs nomade. Un accs nomade est un point daccs au rseau en libre service. Nimporte quelle personne peut y connecter une machine. Ce point daccs peut se prsenter sous la forme dun accs wifi ou encore par une simple prise murale. Il fallait donc trouver un moyen didentifier ces utilisateurs itinrants : un portail captif fournit ce service. Lintrt de notre projet est de fournir toutes ces fonctionnalits en Ipv6.La pnurie dadresse de la version 4 du protocole IP a pouss celui-ci augmenter son nombre dadresses. Pour cela la taille des adresses IP est passe de 4 16 octets. Il a donc fallu adapter les technologies actuelles ce nouveau format dadresse, et aussi les redvelopper pour bnficier des nouvelles fonctionnalits quoffre la nouvelle version du protocole IP. Dans ce projet nous avons pu mettre en place les services fondamentaux de linternet tel que le DNS ou le DHCP dans une configuration IPv6. Nous avons galement appris faire coexister les technologies IPv4 et IPv6 ensemble car la migration vers la nouvelle version se fait de manire douce. La ralisation de rseau full IPv6 ne se ralise que dans des rseaux privs dexprimentations. Un second intrt dans notre projet tait de voir les nouvelles fonctionnalits quoffre IPv6 par rapport sa version 4. Pour notre application de portail captif, on a t emmen voir la fonctionnalit de mobilit quoffre IPv6. On peut dire que ce projet nous a permis de nous sensibiliser avec une nouvelle version dun protocole qui domine le monde des rseaux. Nous avons pu ainsi prendre de lavance sur cette nouvelle technologie.

PortailCaptifIPv6

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

3. Diffrents portails captifs existants :

Un portail captif est une solution dauthentification pour autoriser laccs internet. Les portails captifs permettent de dvelopper des rseaux citoyens wifi pour diffuser laccs internet gratuitement toutes les personnes inscrites. Diffrents portails captifs existent, nous allons voir les diffrences entre eux.

WifiDog :
WifiDog a t dsign pour fonctionner sur des plateformes embarques (ou tout autres GNU/Linux) en prenant le moins de ressources possibles (espace disque et processeur). Il fonctionne avec model client/serveur, le client est crit en C et modifie les rgles du firewall lorsque l'usager est authentifi. Toute la logique et l'authentification se font du cot serveur qui lui est crit en PHP connect avec une base de donnes. WifiDog se dcompose en 2 parties : La premire se nommant WifiDog Authentification Server est un serveur permettant lauthentification des utilisateurs alors que la seconde, WifiDog Gateway est la partie passerelle filtrante du systme de portail captif. Le serveur dauthentification doit tre install sur un serveur fixe alors que la passerelle a la possibilit dtre mise sur de lembarqu. Dpendances : Un serveur web Apache mode ssl Un serveur RADIUS Un serveur DHCP Un serveur DNS Un pare-feu netfilter

ChiliSpot :
Le logiciel Chilispot est un portail web captif destin "scuriser" le partage dune connexion sans-fil en redirigeant les utilisateurs vers une page web sur laquelle ils doivent sauthentifier via https avec un login/mot de passe, stoqu dans un serveur Radius. Avec sa gestion des utilisateurs, la possibilit de crditer le nombre de temps pass par un point daccs et sa faible taille permettant de faire de lembarqu, ChiliSpot est une solution souvent retenue dans des gares et aroports pour offrir un accs sans fil Internet. Le logiciel Chilispot se compose de 2 modules : hotspotlogin.cgi (formulaire web dauthentification) et chilli (daemon). Par dfaut, hotspotlogin.cgi utilise CHAPChallenge et CHAP-Password pour communiquer avec le serveur Radius. Dpendances : Un serveur web Apache mode ssl Un serveur RADIUS Un server DHCP

PortailCaptifIPv6

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

Un serveur DNS Un pare-feu netfilter

Talweg :
Talweg est un portail captif pour les rseaux sans fil cre par luniversit Paul Verlaine de Metz sexcutant sous Linux. Laccs Internet pour les protocoles HTTP et HTTPS se fait aprs une authentification scurise (HTTPS) au portail Talweg. Le principe premier de talweg : la garantie de l'identit des personnes utilisant le rseau en vitant les mcanismes d'usurpation, est bien sur conserv. Ce principe a une incidence trs intressante : il est possible de communiquer sur Msn Webmessenger ou de lire ses messages sur Gmail travers un canal chiffr. Dpendances : Linux Un serveur web Apache + mode perl + mode ssl + mode mono Un serveur de DNS Un serveur de DHCP Iptables

NoCat :
Le logiciel NoCat est un portail web captif destin "scuriser" le partage dune connexion sans-fil en redirigeant les utilisateurs vers une page web sur laquelle ils doivent sauthentifier via https avec un login/mot de passe. Il ya plusieurs lments ncessaire au bon fonctionnement : NoCatSplash est le portail captif, NoCatAuth est lapplication dauthentification et Splash server est le service permettant de gnrer des formulaires appels Splash pages lors de la premire connexion au rseau dun utilisateur. Dpendances : Linux, FreeBSD, netBSD ou Mac OSX Glib 1.2 ou suprieure Lactivation des modules lis netfilter dans le noyau Libghttp pour le remote splash Perl et gmake

PortailCaptifIPv6

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

4. Comparaison des diffrents portails captifs:


Comme le montre le schma ci-dessus, NoCat est le plus simple au niveau dinstallation par rapport aux autres portails captifs de plus cest un portail qui peut tre modifiable et debuggable facilement. Il offre galement une simplicit dutilisation, les clients nont qu accept une fentre pop-up qui sera affich ds lors authentification auprs du portail. Cest galement celui qui ncessite linfrastructure la plus lgre, et qui supporte un nombre important de protocoles.

PortailCaptifIPv6

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

II. Droulementduprojet
1. Les acteurs de la mission, organisation

Notre groupe de projet est constitu de Hassnae MNIE FILALI, Gwenal CHOLET, Frdric PASCAL et Karim RHBALI. Nous avons pour tuteur M. Rachid ELAZOUZI. Au dbut du semestre nous avons du mettre en place notre environnement de travail. Durant toute cette phase notre travail a donc constitu installer correctement les systmes dexploitations choisies sur chaque machine ainsi qu' chercher les logiciels ncessaires et les installer (DHCPv6, DNS, NoCat, librairies ncessaires...). Durant cette phase nous avons donc rparti le travail de la manire suivante : Hassnae et Frdric devaient soccuper de la ralisation dun mini rseau possdant un serveur de DNSv6 (Bind9), DHCPv6 (utilisant le dmon Dibbler), un serveur WEB, un serveur mail et un serveur de base de donnes Gwenal et Karim devaient faire une tude des portails captifs existants afin de justifier le choix de lun dentre eux et finalement linstallation et la configuration de ce dernier dans un environnement IPv6. Dans la partie ralisation dun rseau IPv6, le groupe concern a fait tout dabord une tude sur la version 6 du protocole IP (adressage, qualit de service, mobilit de lIP,), par la suite vient linstallation de tous les services utiles pour la ralisation de ce rseau, voila pour exemple ce qui a t install : un serveur de base de donnes MySQL un serveur mail sous Postfix un serveur HTTP fonctionnant sous Apache mode ssl. un serveur DNS BIND 9 un serveur DHCPv6 bas sur le dmon Dibbler. En ce qui concerne linstallation et la configuration du portail captif en IPv6, le groupe concern a choisi de mettre en place NoCat. Pour se faire ils ont install les logiciels ncessaires pour son bon fonctionnement : Iptables Perl 5.6.1 Perl5 Database Interface (DBI) MySQL database interface to Perl MD5 Message Digest for Perl Public Key encryption system

PortailCaptifIPv6

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

2. Environnement de travail

Au dbut du semestre nous avons du commenc par mettre en place notre environnement de travail fonctionnant sous un rseau local avant de passer en wifi. Pour cela nous avons choisi de travailler sous linux pour les deux machines serveur ainsi que pour la machine client. Nous avons donc procd aux installations ncessaires. Sur ces machines nous avons donc install la distribution Debian 4.0 (Etch). Ensuite sur la machine serveur1 nous avons install et configur : un serveur DNS BIND 9 un serveur DHCPv6 bas sur le dmon : Dibbler. NoCat Gateway Puis sur la machine serveur2 nous avons install et configur : Un serveur de base de donnes MySQL Un serveur Postfix Un serveur http fonctionnant sous apache mode ssl NoCat Authentification

Finalement sur la machine cliente nous avons install et configur : Un client Dibbler Nous possdions donc deux machines qui faisaient office de serveur soit dauthentification, soit de fournisseur daccs et de service rseau. Nous avions dvelopp cette infrastructure afin de permettre le dveloppement, ainsi que le travail, de ces deux axes en parallle. Dans un premier temps lavancement de ces travaux sest fait en filaire avant de passer en sans fil. Le droulement du portail captif sest fait dans un premier temps en filaire car nous ne possdions pas de carte wifi et que le mode de communication entre les machines nimporte pas.

PortailCaptifIPv6

10

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

Topologie du rseau :

3. Portail captif NoCat :

NoCat a initialement t dvelopp pour servir lauthentification dans les rseaux sans fil citoyens. Le principe est le suivant : les utilisateurs se connectant sans-fil, ou avec un cble sur un concentrateur, doivent dabord lancer un navigateur web. Lorsquils tentent daccder une adresse. NoCat intercepte leur requte et ils sont redirigs vers le module dauthentification web. Ds quils sont reconnus, une fentre pop-up est affiche. Tant que cette fentre est ouverte, ils peuvent accder aux services du rseau (les modalits de cet accs sont paramtrables dans les scripts dactivation du firewall). Pour une machine non reconnue, les rgles empchent toute communication.

Installation de NoCat
NoCat se compose de deux modules : un module dauthentification web (authserv) qui doit tre excut sur une machine faisant tourner apache-ssl, et un module passerelle (gateway), excut sur une machine pare-feu.

PortailCaptifIPv6

11

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

Si lon possde un noyau linux 2.6 ce qui est notre cas, on devrait donc modifier le fichier /usr/local/nocat/NocatAuth-0.82/bin/detect-fw.sh comme ceci : Modifier la ligne suivante: Test X` uname sr | cut d. f-2` = XLinux2.4; then Par: Test X` uname sr | cut d. f-2` = XLinux2.6; then

De quels paquets avons-nous besoins ?


NoCat utilise plusieurs packages principales pour son bon fonctionnement pour cela nous avons besoins dinstaller : Iptables Perl libdbi-perl libdbd-mysql-Perl libdigest-md5-perl libnet-netmask-Perl Pgp apache-ssl

Installation des modules


Il est fortement conseill pour des raisons de scurit d'installer les modules authentification et gateway du NoCat sur deux machines diffrentes.

Authentification dans NoCat


Lauthentification dans NoCat est ralise par le module NoCatAuth. NoCatAuth est Ecrit en Perl et conu pour fonctionner sous Linux. Lorsque le client demande accder au rseau aprs avoir obtenu du serveur DHCP une adresse IP, il ralise une requte internet. Pendant cette phase, le client ne peut avoir accs aux ressources locales. NoCatAuth fournit un client web pour s'authentifier sur la passerelle - Il prsente lutilisateur avec un message de sollicitation douverture de rseau par lintermdiaire dune page Web scurise grce SSL. - Il vrifie les droits de lutilisateur. - Il informe la passerelle du statut de lutilisateur, et autorise alors davantage daccs selon le statut. De son ct le module gateway : - Orchestre les connexions locales. - Dfinit le dbit autoris et les rgles de pare-feu. - Dfinit le dbit autoris et les rgles de pare-feu.

PortailCaptifIPv6

12

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

Il existe trois niveaux dutilisateurs. Un utilisateur fait partie de lune des catgories suivantes: - Public : Veulent juste accder Internet. NoCat limite leurs accs aux services par des rgles de pare-feu. - Co-propritaire : Utilisateurs possdant un compte utilisateur, est ayant un accs plus grand aux ressources du rseau. - Propritaire : Utilisateurs possdant un compte utilisateur, et utilisation libre des ressources du rseau. Le processus de raccordement est compos dans un premier temps une : Redirection. Un utilisateur errant sassocie un AP, et est immdiatement attach un serveur DHCP. Tout accs avant dentrer en contact avec le service dauthentification est bloqu par dfaut. Quand lutilisateur lance un navigateur, celui-ci est immdiatement rorient vers le service de la passerelle, qui le roriente alors sur la page du systme dauthentification. Autorisation. Une fois que lutilisateur sest logu correctement ou a saut le processus didentification, le systme dauthentification cr un message sign avec PGP, et lenvoie la passerelle sans fil. La passerelle a une copie de la clef publique du PGP du service dauthentification, et peut vrifier lauthenticit du message. Puisquune partie des donnes incluses dans la rponse est la marque alatoire que la passerelle publie au client, il est donc trs difficile de truquer la passerelle avec une attaque de type "replay". La signature numrique empche la possibilit dautres machines de se prsenter comme service dauthentification et denvoyer des faux messages la passerelle sans fil. Connexion. Maintenant, si tout sest bien pass pour lutilisateur, la passerelle sans fil modifie ses rgles de pare-feu pour accorder davantage daccs, et roriente lutilisateur vers lemplacement auquel il essayait daccder quand il a lanc son navigateur. Lutilisateur peut maintenant surfer sur le net.

Pour maintenir la connexion ouverte, une petite fentre est ouverte chez le client. Celle-ci (par lintermdiaire du Javascript) se rgnre la page douverture intervalles rguliers. Lorsque lutilisateur se dplace hors de la zone de couverture ou stoppe son browser, le raccordement est remis zro. Cela exige alors une autre ouverture manuelle.

PortailCaptifIPv6

13

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

4. Phase de tests raliss

Au niveau des diffrents services installs nous avons tout dabord commenc par le DHCPv6. Les premiers tests ont donc t de russir obtenir une adresse IPv6 sur le client. Nous avons ensuite fait en sorte que le client obtienne automatiquement son adresse au dmarrage.

Nous sommes ensuite passs au DNSv6. Pour cela nous avons cre notre propre domaine que nous avons appel portailcaptif.pro . Nous avons alors tout dabord test partir du client de rsoudre les adresses en rsolution directe. Puis nous sommes passs la rsolution inverse. Nous avons alors rencontrs un problme lis au fait que nous avions utilis une version obsolte du protocole IPv6. Ces phases ont mis plus de temps que prvu car dans un premier temps nous avions mal interprt certains dtails du protocole IPv6 et dans un second temps nous avons cherch comprendre plus en dtail les fonctionnalits de ces services. Aprs avoir configur et test le dhcpv6 et le dnsv6 nous avons alors install un serveur apache SSL. Nous avons mis en place deux pages web, une scuris en https avec laffichage dun certificat et lautre non scuris en http. Nous avons alors essay partir du client dy accder ( https://www.portailcaptif.pro , http://www.portailcaptif.pro ). Pour linstallation dun serveur de mail nous avons choisi Postfix. Pour les tests nous utilisions les commandes linux ( mail , mailq ). En ce qui concerne linstallation et la configuration de NoCat la premire phase de test a t lauthentification dun utilisateur par le biais de NoCat en adressage IPv4. Pour cette premire authentification, le client et le serveur taient reli par un cble. La seconde tape consistait a ralis la premire par une connexion wifi. Il nous a fallu pour cela crer un point daccs sur la machine supportant NoCat. Pour la troisime on a rassembl les travaux de DNSv6, et DHCPv6 avec la passerelle de NoCat. Lauthentification sest quand elle retrouv sur une machine part pour des raisons de scurit. Nous avons ensuite bloqu sur cette ralisation en IPv6 avec de nombreux essais.

PortailCaptifIPv6

14

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

5. Difficults rencontres :

Tout au long de la ralisation de notre projet nous avons t confronts de nombreuses difficults qui nous ont retards et qui taient lies pour la plupart du temps des problmes d'incompatibilits matriel ou logiciel. Pendant l'installation de notre environnement de travail nous avons rencontr des difficults lies la mise en place de certains logiciels qui demandaient une configuration bien spcifique du systme d'exploitation. Linstallation de la carte wifi nous a fait perdre beaucoup de temps cause de la difficult dinstallation de pilotes de celle-ci sous la distribution Etch. Labsence totale de documentation sur le dveloppement dun portail captif en IPv6. Lorganisation du groupe de travail quatre galement tait une difficult grer.

6. Dure du projet :

Durant toute la dure de la ralisation du projet nous nous sommes heurts des difficults que nous n'avions pas envisages. Ces diverses difficults nous ont empchs de terminer notre projet. L'accumulation de ces retards ne nous a pas permis d'atteindre notre objectif final. Nous aurions ncessit un dlai supplmentaire afin de comprendre et corriger les erreurs qui subsistent pour parvenir notre objectif final.

PortailCaptifIPv6

15

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

III. Apportsduprojetetconclusion

Le travail qui nous a t donn de raliser au cours de ce semestre nous a avant tout permis d'exprimenter la gestion de projet moyen terme et l'organisation du travail en quipe. Nous avons volontairement choisi un sujet ayant une coloration RTM et pouvant nous offrir des perspectives intressantes pour notre avenir professionnel. Cela nous a permis d'approfondir nos connaissances en IPv6 et en quelque sorte la scurit dans les rseaux sans fils (mise en place dun portail captif) et de mettre en pratique celles acquises l'IUP. Nous avons galement eu l'occasion de dcouvrir les difficults engendres par l'application de connaissances thoriques. Pour ce projet nous avons eu raliser un portail captif IPv6. Pour cela nous avons tudi la version 6 du protocole IP ainsi que les diffrents types existants des portails captifs et en particulier le NoCat. Nous sommes galement aguerris l'installation et la configuration du systme d'exploitation Linux et en particulier Debian, ayant tant confront de nombreux problmes logiciels. La gestion du groupe de travail a t galement une exprience enrichissante. La notion de partage de travail pour gagner en efficacit a t parfois maladroite, mais la pratique nous a permis de progresser et de consolider les liens entre membres du groupe. En conclusion, notre principale dception est de ne pas avoir termin notre projet. Nous avons mal apprhend la charge de travail et l'estimation de la dure de certaines tches. Nous avions galement estim trop peu de temps pour les difficults rencontres et l'organisation au sein du groupe. Ce projet nous a beaucoup apport en connaissance sur lIPv6 et NoCat ainsi que sur la maturit ncessaire aux travaux de recherche et au respect des dlais. Nous tenions remercier notre tuteur Rachid ELAZOUZI pour le temps consacr tout au long du projet et l'aide qu'il a pu nous apporter.

PortailCaptifIPv6

16

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

IV. Annexes
1. Configuration du serveur DNSv6
Fichier named.conf: zone "portailcaptif.pro" { type master; file "/etc/bind/db.portailcaptif.pro"; }; // Rseaux 2001/112 zone "1.0.0.2.ip6.arpa" { type master; file "/etc/bind/2001"; };

Fichier db.mondomaine.org :

PortailCaptifIPv6

17

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

Fichier 2001 :

2. Configuration du serveur DHCPv6


Nous avons utilis le dmon Dibbler pour linstallation et la configuration dun serveur DHCPv6.

Fichier server-dibbler.conf:
#/etc/dibbler/server.conf log-level 8 #Rajouter la ligne suivante (experimental) ainsi que la ligne #avec addr-params pour specifier le prefixe de l'adresse si l'on #veut qu'il soit different de 64 : #experimental PortailCaptifIPv6

18

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

iface ath0 { T1 1800 #renew addresses once in 30 minutes T2 2000 #client will start emergency rebind procedure if renew process fails in 2000s prefered-lifetime 3600 valid-lifetime 7200 class { #addr-params 80 pool 2001:0:0:1234::/64 } option dns-server 2001:0:0:1234::1 option domain portailcaptif.pro }

Fichier client-dibbler.conf:

# /etc/dibbler/client.conf # La ligne suivante permet d'activer le dhcp dans le cas # o l'interface est down ds que celle-ci sera mise up inactive-mode #Rajouter la ligne suivante (experimental) ainsi que la ligne #avec addr-params pour spcifier le prfixe de l'adresse si l'on veut qu'il #soit diffrent de 64 : #experimental iface ath0 { ia # { # addr-params # } option dns-server option domain }

PortailCaptifIPv6

19

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

Script pour lancer le dmon dibbler-server au dmarrage :


PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/etc/dibbler/dibbler-server NAME=dibbler-server DESC="DHCPv6 server" DAEMON_OPTS=run test -x $DAEMON || exit 0 # Include dibbler defaults if available if [ -f /etc/default/dibbler ] ; then . /etc/default/dibbler fi set -e case "$1" in start) echo -n "Starting $DESC: " $DAEMON start 2>&1 > /dev/null echo "$NAME." ;; stop) echo -n "Stopping $DESC: " ($DAEMON stop 2>&1 > /dev/null; true) echo "$NAME." ;; status) echo "Status $DESC: $NAME" $DAEMON status ;; restart|force-reload) echo -n "Restarting $DESC: " ($DAEMON stop 2>&1 > /dev/null; true) sleep 1 $DAEMON start 2>&1 > /dev/null echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0

PortailCaptifIPv6

20

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

3. Installation de NoCat :
Si l'on possde comme nous un noyau linux 2.6 il faut donc modifier la ligne du fichier /usr/local/nocat/NoCatAuth-0.82/bin/detect-fw.sh comme ceci : Modifier la ligne suivante: Test X` uname sr | cut d. f-2` = XLinux2.4; then Par: Test X` uname sr | cut d. f-2` = XLinux2.6; then

Installation des dpendances :


apt-get install iptables perl libdbi-perl libdbd-mysql-perl libnet-netmask-perl pgp apachessl

Installation de NoCat :
client2ipv6:/usr/local/nocat/NoCatAuth-0.82# make PREFIX=/usr/local/nocat/gateway gateway Looking for gpgv... Checking for firewall compatibility: /sbin/iptables found. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=Congratulations! NoCat gateway is installed. To start it, check /usr/local/nocat/gateway/nocat.conf, then run bin/gateway as root. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=client2ipv6:/usr/local/nocat/NoCatAuth-0.82# make PREFIX=/usr/local/nocat/authserv authserv Looking for gpg... [ -d /usr/local/nocat/authserv ] || mkdir -p /usr/local/nocat/authserv chmod 755 /usr/local/nocat/authserv > /usr/local/nocat/authserv/httpd.conf -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=make PREFIX=/usr/local/nocat/authserv pgpkey Congratulations! NoCat Authserv is installed. You will find a database schema in etc/nocat.schema. You will find suitable defaults to include in your Apache configuration in /usr/local/nocat/authserv/httpd.conf. You may wish to run 'make pgpkey' now to generate your service's PGP keys.

GOOD LUCK! PortailCaptifIPv6

21

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=client2ipv6:/usr/local/nocat/NoCatAuth-0.82# make PREFIX=/usr/local/nocat/authserv pgpkey Looking for gpg... [ -d /usr/local/nocat/authserv/pgp ] || mkdir /usr/local/nocat/authserv/pgp chmod 700 /usr/local/nocat/authserv/pgp gpg --homedir=/usr/local/nocat/authserv/pgp --gen-key gpg (GnuPG) 1.4.6; Copyright (C) 2006 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: keyring `/usr/local/nocat/authserv/pgp/secring.gpg' created gpg: keyring `/usr/local/nocat/authserv/pgp/pubring.gpg' created Please select what kind of key you want: (1) DSA and Elgamal (default) (2) DSA (sign only) (5) RSA (sign only) Your selection? 1 DSA keypair will have 1024 bits. ELG-E keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) 2048 Requested keysize is 2048 bits Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) Key does not expire at all Is this correct? (y/N) y You need a user ID to identify your key; the software constructs the user ID from the Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" Real name: portail captif Email address: gwenael.cholet@etd.uapv.fr Comment: projet portail captif You selected this USER-ID: "portail captif (projet portail captif) <gwenael.cholet@etd.uapv.fr>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O You need a Passphrase to protect your secret key.

PortailCaptifIPv6

22

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

Maintenant il faut copier le fichier /usr/local/nocat/authentication/trustedkeys.gpg dans /usr/local/nocat/gateway : cp /usr/local/nocat/authserv/trustedkeys.gpg /usr/local/nocat/gateway/ Le serveur web dauthentification a besoin des droits en criture sur le rpertoire PGP. Il faut changer le owner et le group du rpertoire pour quils soient les mmes que ceux du serveur web Apache (par dfaut www-data sous Debian). On peut le voir dans /etc/passwd chown -R www-data.www-data /usr/local/nocat/authserv/pgp/

Cration des certificats pour le HTTP scuris

Cd /etc/ssl/certs client2ipv6:/etc/ssl/certs# openssl req -new > nocat.cert.csr Generating a 1024 bit RSA private key .............................++++++ .......++++++ writing new private key to 'privkey.pem' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----Country Name (2 letter code) [AU]:fr State or Province Name (full name) [Some-State]:Vaucluse Locality Name (eg, city) []:Avignon Organization Name (eg, company) [Internet Widgits Pty Ltd]:IUP GMI Organizational Unit Name (eg, section) []:projet portail captif Common Name (eg, YOUR name) []:portail captif Email Address []:gwenael.cholet@etd.uapv.fr Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: ------client2ipv6:/etc/ssl/certs# openssl rsa -in privkey.pem -out new.cert.key Enter pass phrase for privkey.pem:

PortailCaptifIPv6

23

RapportProjetPortailCaptifIPv62007/2008

M2/RTM

writing RSA key client2ipv6:/etc/ssl/certs# openssl x509 -in nocat.cert.csr -out nocat.cert.cert -req -signkey new.cert.key -days 365 Signature ok subject=/C=fr/ST=Vaucluse/L=Avignon/O=IUPGMI/OU=projet nocat/CN=nocat/emailAddress=gwenael.cholet@etd.uapv.fr Getting Private key

PortailCaptifIPv6

24