Installion de NoCat sur une DEBIAN SARGE

Le principe:  les utilisateurs se connectent sans-fil à un point d'accés, lancent un navigateur web. 
Lorsqu'ils tentent d'accèder à une adresse, NoCat intercepte leur requéte et ils sont redirigés vers 
le module d'authentification web sécurisée (https). Dés qu'ils sont authentifiés, une fenêtre pop-up 
est affichée. Tant que cette fenêtre est ouverte, ils peuvent accéder à internet. Pour un utilisateur
non reconnue, toute connexion est impossible.


NoCat se compose de deux modules : un module d'authentification web (authserv) qui doit être éxécuté 
sur une machine faisant tourner apache-ssl, et un module passerelle (gateway), qui peut être exécuté 
sur une machine différente. Dans ce tutorial, les deux modules sont installés sur la même machine.

Installation des packages nécessaires à son bon fonctionnement.
Au préalable apache-ssl et un serveur DHCP doivent être installés.

Les commandes à taper sont surlignées en «commande»
Le contenu des fichiers est surligné en «contenu»

Pour apache-ssl
apt-get install apache-ssl

pour le serveur DHCP
apt-get install dhcp3-server

Configuration du serveur DHCP

vim /etc/dhcp3/dhcp3.conf

option domain-name-servers X.X.X.X [vos ou votre serveur DNS, celui de votre FAI par exemple]

default-lease-time 600;
max-lease-time 7200;

subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.2 10.10.10.254;
option routers 10.10.10.1;
}

Relancer le serveur DHCP

/etc/init.d/dhcp3 restart

Packages également nécessaires

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

Télécharger NoCat

NoCat se trouvent à l'adresse http://nocat.net/download/NoCatAuth/. Nous utiliserons la version 0.82,
pour le télécharger:

wget http://nocat.net/download/NoCatAuth/NoCatAuth-0.82.tar.gz

Installer NoCat

L'installation se fera dans /usr/local/nocat.

tar xvzf NoCatAuth-0.82.tar.gz

Dans le cas oł vous avez un noyau 2.6, modifier le fichier bin/detect-fw.sh ligne 13, remplacez "2.4" par "2.6"

vim bin/detect-fw.sh
#test X"`uname -sr | cut -d. -f-2`" = X"Linux 2.4"; then
test X"`uname -sr | cut -d. -f-2`" = X"Linux 2.6"; then

cd NoCatAuth-0.82

mkdir /usr/local/nocat

make PREFIX=/usr/local/nocat/gateway gateway

make PREFIX=/usr/local/nocat/authserv authserv

make PREFIX=/usr/local/nocat/authserv pgpkey

Attention, lorsque au cours de la création de la clé PGP un mot de passe est demandé, n'en mettez aucun, cela produit des erreurs par la suite

cp /usr/local/nocat/authserv/trustedkeys.gpg /usr/local/nocat/gateway/pgp/

chown -R www-data:www-data /usr/local/nocat/authserv/pgp/

Configurer NoCat

Dans notre exemple nous avons le réseau WiFi configuré grace au serveur DHCP, l'adressage réseau est le suivant: 10.10.10.0/24, l'adresse IP sur le routeur est 10.10.10.1

On modifie les fichiers suivants

vim /usr/local/nocat/gateway/nocat.conf :


AuthServiceAddr 10.10.10.1        # Adresse du serveur d'authentification
ExternalDevice  eth0                # Nom de l'interface réseau extérieure
InternalDevice  ath1                # Nom de l'interface réseau intérieure WIFi
LocalNetwork    10.10.10.0/24      # Description des IP concernées par l'authentification
DNSAddr 111.222.333.444             # Adresse du serveur DNS
IncludePorts    22 80 443           # Ports acceptés (si vous commentez cette ligne, tout est autorisé)
LogFacility     internal

vim /usr/local/nocat/authserv/nocat.conf :

LocalNetwork    10.10.10.0/24

Création des certificats pour le HTTP sécurisé

cd /etc/ssl/certs
openssl req -new > nocat.cert.csr
openssl rsa -in privkey.pem -out new.cert.key
openssl x509 -in nocat.cert.csr -out nocat.cert.cert -req -signkey new.cert.key -days 365


Configuration d'Apache-SSL (Ajouter à la fin du fichier httpd.conf)

vim /etc/apache-ssl/httpd.conf 




LoadModule env_module /usr/lib/apache/1.3/mod_env.so
<VirtualHost 10.10.10.1>
          ServerName            10.10.10.1
          SSLCertificateFile    /etc/ssl/certs/nocat.cert.cert
          SSLCertificateKeyFile /etc/ssl/certs/new.cert.key
          DocumentRoot          /usr/local/nocat/authserv/htdocs
          Include               /usr/local/nocat/authserv/httpd.conf
</VirtualHost>

On relance apache-ssl :

/etc/init.d/apache-ssl restart

Vérifiez que les lignes suivantes dans /usr/local/nocat/authserv/nocat.conf  soient bien décommentées (décommenter une ligne signifie enlever le signe « # » en début de ligne)

vim /usr/local/nocat/authserv/nocat.conf :

DataSource      Passwd
UserFile                /usr/local/nocat/authserv/etc/passwd
GroupUserFile           /usr/local/nocat/authserv/etc/group
GroupAdminFile          /usr/local/nocat/authserv/etc/groupadm

Création des utilisateurs

/usr/local/nocat/authserv/bin/admintool -c login motdepasse

On lance le module passerelle

/usr/local/nocat/gateway/bin/gateway

Si la passerelle doit être relancé 
/usr/local/nocat/gateway/bin/gateway -R

Quelques captures décran de l'interface d'authentification