libre libre    fcys14 tux asterix pitit Installation ComEdulibre portfolio cisoun tux tux ya kelk1 pitit Installation ComEduInstallation ComEdu

Que faire lorsqu’un orange vous menace de vous couper la ligne pour un serveur de communication qui communique trop ? Surtout quand cette ligne  est utilisée chaque jour par un grand nombre d’élèves et de personnels du lycée qui en est propriétaire…

Par communique trop, j’entend que ce serveur, initialement sous Windows2000 server utilisant ISA comme proxy, est vérolé et émet des spams à longueur de journée avec notamment comme inconvénient de prendre toute la bande passante (et de remplir inutilement nos BAL oui aussi !)

La solution proposée ? Que cette machine, qui est le passage obligée vers l’internet, soit sous linux. Raisonnement simple : elle même ne sera probablement pas virusée de sitôt, et ses clients s’ils sont virusés ne pourront tout simplement pas sortir sur internet sans avoir expréssément été configurés comme utilisant un proxy et après avoir validé une authentification.

Je me suis donc attaché à trouver une distribution qui convienne. Ma môman, administatrice du réseau de l’établissement m’a parlé de la solution ComEdu. Ce projet créé par un de ses collègues du département d’à côté ( M. Thébaud, équipe TICE du 49 ), est à base de Debian (auparavant RedHat) sur lequel sont installés des outils de gestion à distance (Webmin), des serveurs de données (SambaEdu, qui ne sera pas utilisé ici), un serveur proxy (Squid + SquidGuard), un serveur web…

C’est l’outil squid+squidGuard qui nous intéresse le plus ! Ce serveur proxy libre permet un réglage fin des droits, notamment grâce à SquidGuard, des droits suivant des plages horaires. De plus il est relativement simple de synchroniser SquidGuard avec les blacklists de toulouse. Enfin, il est possible d’administrer squid et squidGuard à distance avec l’outil webmin, sous réserve de quelques menues précautions dont je reparlerai qui font suites à quelques sueurs froides !

Étant donné qu’il est possible d’administrer le serveur et ses composants à distance, il est conseillé de ne pas y installer d’interface graphique, ce qui allege véritablement sa consommation ! Lors d’interventions directes sur le serveur, il sera toujours possible d’y accéder en ligne de commande !

Caractéristiques techniques de la machine

À priori une simple machine suffit. Nous avons récupéré une des machines assez récentes de l’établissement et l’avons, pour garder une architecture réseau semblable à la précédente, équipée de deux cartes réseau. L’une (ici eth0) connectée au WAN et l’autre (eth1) connectée au LAN.

La première est branchée sur le routeur qui lui attribue une adresse par dhcp du type 192.168.xxx.xxx tandis que la seconde doit être configurée en adressage fixe. Pour ne pas changer tous les paramètres sur les machines, nous lui avons donné la même adresse que le serveur de communication précédent : 172.16.0.11 .

Téléchargement et installation

Nous allons installer la version 2c de comedu. Le CD est disponible ici. Le débit est plutôt lent, c’est normal ! (il est d’autant plus lent quand la bande passante est occupée par l’envoi de spams… :’( )

Il n’est pas nécessaire avec ce cd de télécharger une version de Debian, elle est directement incluse dans le CD.

L’installation se déroule quasiment comme décrit dans le manuel d’installation de profetice . Le logiciel nous demande de lui entrer une adresse ip pour la carte choisie par défaut pour l’installation. Il faut en entrer une qu’on sait libre et laisser continuer le processus.

En ce qui concerne le partitionnement le choix s’est porté sur le mode manuel.

10Go pour une partition montée en /serveur ; 5Go pour une partition /var ; 1Go pour la swap et le reste pour la partition principale.

Une fois l’installation terminée, le cd retiré et l’ordinateur redémarré, il est important de bien préparer le paramétrage des cartes réseaux. Dans le fichier /etc/network/interfaces

#Configuration de l'adresse de Loopback
#
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
#Démarrage de la carte
#
auto eth0
#
#Adressage dynamique
#
iface eth0 inet dhcp
#
auto eth1
#
#Adressage statique
#
iface eth1 inet static
address 172.16.0.11
netmask 255.255.0.0

Il est important de faire cette manip AVANT de passer à l’installation de ComEdu à proprement parler sinon dans ses réglages il prendra la mauvaise adresse pour ses adressages absolus…

Ensuite on insère le cd de Comedu, on le monte et on va à sa racine. Là on lance le script d’installation. Il va installer ses composants, poser des questions… Là encore le guide d’installation est d’une grande aide.

Une fois ComÉdu installé, depuis un poste du réseau, on devrait tomber sur une bonne nouvelle en tapant http://172.16.0.11 dans un navigateur !

Mise à jour

Le système installé est à base de Sarge. Or actuellement la version stable de Debian est Etch. Mettons donc à jour le tout. Tout d’abord récupérer la liste des dépôts pour etch puis modifier le /etc/apt/sources.list puis sudo aptitude update et sudo aptitude dist-upgrade, plusieurs fois ci-nécessaire de façon à avoir un système mis à jour.

Paramétrage de squid

La documentation suivie est celle-ci, faite pour un squid 3 sur une Debian Lenny. Nous utilisons nous un squid 2 sur une Debian Etch. Cela ne pose pas de problème étant donné qu’ils se sont attachés à rendre compatible avec squid 2 leurs fichiers de configuration. Pour le moment on n’utilisera pas l’interface webmin de configuration, celle-ci faisant planter le système.
Comment repérer si squid est planté ? Si en faisant /etc/init.d/squid start deux fois il n’affiche jamais de message d’erreur c’est que squid ne démarre pas. Il y a une erreur dans le fichier squid.conf ou dans le fichier squidGuard.conf.
La documentation liée est parfaite pour l’installation. Par contre malgré de nombreux essais, impossible de faire fonctionner l’authentification transparente par ActiveDirectory. Tant pis. En soi, il est responsabilisant pour les élèves d’avoir à redonner leurs identifiants pour se connecter à l’internet !
Attention aux emplacements des fichiers logs et des database ! Pour l’installation des blacklists dans squidGuard, à noter :
pas plus d’un urllist et d’un domainlist par catégories. Attention aux chemins. S’ils sont faux squid ne redémarrera plus.

Utilisation de webmin

Le module pour webmin de squidguard est trop ancien. Après avoir paramétré à la main squid et squidGuard, en lançant le module squidGuard il vous dira qu’il faut modifier le fichier squid.conf pour lui dire d’utiliser squidguard. Or c’est déjà fait… Où est l’erreur ? Tout simplement car squidGuard utilise une vieille commande d’inclusion et ne la trouve pas. J’ai donc patché le module (en annihilant le test). Une version patchée est proposée ci-joint ! Il faut remplacer celui installé par celui-ci par l’interface de gestion de webmin. À partir de là tout devrait marcher !

Module squidguard patché

Reste à faire

Mises à jour automatiques des blacklists
Définition d’ACL par salles

Mots-clefs :, , , , | Classé dans : Libre, Portfolio | Permalien