Rapport Stage Light

179
Lycée Sacré Cœur Mémoire de stage Mise en œuvre d’une solution de filtrage d’accès Internet et de travail collaboratif Réalisé par Mikaël LOUSSOUARN

Transcript of Rapport Stage Light

Page 1: Rapport Stage Light

Lycée Sacré Cœur

Mémoire de stage

Mise en œuvre d’une solution de filtrage d’accès Internet et de travail

collaboratif

Réalisé par Mikaël LOUSSOUARN

Page 2: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

LOUSSOUARN Mikaël Page 2 05/02/2008

Page 3: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

1. Remerciements

Je tiens particulièrement à présenter mes remerciements à toute l’équipe administrative et pédagogique du Lycée Sacré-Cœur d’Angers, leur accueil m’a permit d’aborder sereinement et sans contrainte le projet de ma période d’application en entreprise.

J’adresse un remerciement plus particulier au directeur M. Dominique DELARRAT pour

avoir eu confiance en moi en m’accordant d’être accepté en stage dans son établissement. Enfin je remercie M. Olivier LE GRAND qui m’a permis d’aborder un projet intéressant en

m’apportant l’éclairage de son expérience professionnelle. J’ai également une pensée pour les administrateurs réseaux de l’enseignement privé que j’ai eu la chance de rencontrer, je leur souhaite de toujours continuer dans l’élan qui est le leur, celui de la passion.

LOUSSOUARN Mikaël Page 3 05/02/2008

Page 4: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

2. Tables des matières 1. Remerciements ................................................................................................................... 3 2. Tables des matières ............................................................................................................ 4 3. Introduction ........................................................................................................................ 5 4. Cahier des charges.............................................................................................................. 6

4.1. Introduction ................................................................................................................ 6 4.2. Description de la demande ......................................................................................... 6 4.3. Contraintes ................................................................................................................. 7 4.4. Déroulement du projet................................................................................................ 8 4.5. Authentification.......................................................................................................... 9

5. Descriptif de chaque activité ............................................................................................ 10 5.1. Mise en place d’un serveur mandataire d’accès et de filtrage Internet utilisant les logiciels Squid et SquidGuard.............................................................................................. 10 5.2. Mise en œuvre d’un serveur OpenLDAP avec Réplication avec l’annuaire Active Directory............................................................................................................................... 17 5.3. Installation du serveur de messagerie PostFix ......................................................... 18 5.4. Installation d’un serveur Web Apache2 supportant le langage PHP. ...................... 22 5.5. Installation d’un serveur gestionnaire de bases de données MySQL....................... 22 5.6. Installation du logiciel de travail collaboratif EgroupWare ..................................... 23 5.7. Mise en place de la solution sur le site du CEFOC.................................................. 25 5.8. Réalisation d’un script pour un projet de diffusion multicast de vidéo ................... 26

6. Bilan récapitulatif de l’ensemble des activités................................................................. 27 7. Conclusion........................................................................................................................ 29 8. Annexes techniques.......................................................................................................... 30

8.1. Installation de Windows 2003 Server dans sa version en 2 CD ROM. ................... 30 8.2. Promotion du serveur Windows 2003 en contrôleur de domaine Active Directory.40 8.3. Configuration post-installation du service de noms DNS........................................ 45 8.4. Manipulation de contrôle de la résolution DNS....................................................... 51 8.5. Création des utilisateurs et des groupes dans l’annuaire Active directory............... 52 8.6. Installation d’une distribution Linux Debian Etch 4.0............................................. 60 8.7. Intégration d’un système Linux Debian Etch dans un domaine Active Directory 2003 73 8.8. Installation et paramétrage des logiciels Squid et Squiguard sur une Debian Etch 4.0r intégrée à un domaine Windows................................................................................... 86 8.9. Manuel d’installation d’un serveur mandataire sur un serveur Debian Ecth au moyen d’un script dédié. .................................................................................................... 104 8.10. Installation d’un serveur de messagerie Postfix sur une Debian Etch ............... 115 8.11. Installation du serveur Web, Php et MySQL sur une Debian Etch.................... 142 8.12. Installation d’EgroupWare ................................................................................. 144 8.13. Script bash de synchronisation des comptes Active Directory / OpenLDAP.... 162 8.14. Installer l’image serveur virtuel ......................................................................... 164 8.15. Sources du script de configuration de l’image virtuelle :................................... 165

9. Glossaire......................................................................................................................... 176

LOUSSOUARN Mikaël Page 4 05/02/2008

Page 5: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

3. Introduction

Faisant suite à une année d’apprentissage du métier de technicien supérieur gestionnaire de ressources informatiques le stage effectué au sein du lycée Sacré-Cœur d’Angers est pour moi l’occasion de confronter mes compétences professionnelles aux réalités du terrain.

Depuis bon nombre d’années je suis avec intérêt le monde du logiciel libre et

particulièrement l’évolution des systèmes Linux. Le projet proposé par l’établissement d’accueil présente pour moi un grand attrait car il

propose de trouver des solutions gratuites et libres à des besoins très opérationnels et ce sans rejeter les solutions propriétaires existants déjà sur le site.

Le mémoire présenté dans ces pages décrit la mise en œuvre d’une solution serveur

complète apportant un service de filtrage de navigation Internet et une plateforme de travail collaboratif.

LOUSSOUARN Mikaël Page 5 05/02/2008

Page 6: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

4. Cahier des charges

4.1. Introduction

Le Lycée Sacré-cœur d’Angers possède un centre de formation par alternance sur la commune de Bouchemaine, le CEFOC. Les utilisateurs de ce centre ont nécessité d’accéder à l’Internet de façon sécurisée et besoin d’une plateforme de travail collaboratif intégrant la messagerie électronique.

Le CEFOC dispose d’un serveur contrôleur de domaine Active directory desservant 40 postes clients

4.2. Description de la demande

4.2.1. Les objectifs Les objectifs du projet sont les suivants :

• Mettre en exploitation un serveur mandataire Internet sur le site du CEFOC. • Incorporer à ce serveur un service de messagerie et de travail collaboratif.

4.2.2. Produit du projet Sont attendus les produits suivants :

• Un serveur basé sur un système d’exploitation libre et récent : Linux Debian 4.0 Etch

4.2.3. Les fonctions du produit Les fonctions du serveur seront :

• Serveur mandataire d’accès Internet utilisant les logiciels Squid et Squid Guard capables d’assurer un filtrage des navigations.

• Serveur d’annuaire Ldap en réplication de l’annuaire Ldap Active Directory déjà en fonction sur le site.

• Serveur de messagerie Postfix intégrant les utilisateurs de l’annuaire Ldap. • Serveur de messagerie Egroupware intégrant les utilisateurs de l’annuaire ldap. • Services antivirus et anti-spams

4.2.4. Critères d'acceptabilité et de réception La réalisation finale devra respecter les critères suivant à la réception :

• Stabilité du serveur • Documentation de la mise en place et de l’administration • Intégration du serveur au domaine • Intégration des utilisateurs du domaine dans les utilisateurs du serveur • Intégration des utilisateurs du domaine dans la gestion du filtrage Internet • Filtrage Internet efficace • Fonctionnement d’un service d’annuaire en réplication de l’annuaire

existant sur le site. • Service de messagerie pour les utilisateurs du domaine (Postfix) • Service de messagerie communautaire pour les utilisateurs du domaine

(Egroupware)

LOUSSOUARN Mikaël Page 6 05/02/2008

Page 7: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

4.3. Contraintes

4.3.1. Contraintes de coûts Le projet devra être mis en place sans investissement matériel.

4.3.2. Contrainte de délais Le projet devra être réalisé pour la date du 25 janvier 2007.

4.3.3. Autres contraintes Le serveur à mettre en place devra utiliser les ressources matérielles déjà en place sur le site du CEFOC, il devra donc être hébergé par le serveur déjà existant. Le nouveau serveur sera donc un serveur virtuel.

LOUSSOUARN Mikaël Page 7 05/02/2008

Page 8: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

4.4. Déroulement du projet

4.4.1. Planification prévisionnelle Tâche Début Fin Temps

estimé Préparation hors exploitation

Installation Windows Server 2003 26/11/07 26/11/07 4 :00 Mise en place du domaine 27/11/07 27/11/07 2 :00 Création utilisateurs 27/11/07 27/11/07 2 :00 Installation Debian 4.0 27/11/07 27/11/07 2 :00 Intégration Debian au domaine 27/11/07 28/11/07 6 :00 Installation squid et squid guard 28/11/07 28/11/07 4 :00 Paramétrage squid et squid guard 28/11/07 29/11/07 4 :00 Test du serveur mandataire 29/11/07 30/11/07 4 :00 Implémentation service annuaire sur Debian 3/12/07 4/12/07 8 :00 Mise en place réplication avec annuaire Active Directory 4/12/07 5/12/07 8 :00 Test de la réplication d’annuaires 5/12/07 5/12/07 4 :00 Installation de la messagerie Postfix 6/12/07 7/12/07 8 :00 Paramétrage de Postfix 7/12/07 10/12/07 8 :00 Test de la messagerie Postfix 10/12/07 10/12/07 2 :00 Installation Egroupware 11/12/07 11/12/07 4 :00 Paramétrage de Egroupware 11/12/07 11/12/07 4 :00 Test de Egroupware 12/12/07 12/12/07 2 :00

Mise en place sur site Installation de Debian 4.0 13/12/07 13/12/07 4 :00 Intégration Debian au domaine 13/12/07 13/12/07 4 :00 Installation squid et squid guard 14/12/07 14/12/07 4 :00 Paramétrage squid et squid guard 17/12/07 17/12/07 4 :00 Test du serveur mandataire 17/12/07 17/12/07 4 :00 Implémentation service annuaire sur Debian 18/12/07 18/12/07 4 :00 Mise en place réplication avec annuaire Active Directory 18/12/07 18/12/07 4 :00 Test de la réplication d’annuaires 19/12/07 19/12/07 4 :00 Installation de la messagerie Postfix 20/12/07 20/12/07 4 :00 Paramétrage de Postfix 20/12/07 20/12/07 4 :00 Test de la messagerie Postfix 21/12/07 21/12/07 4 :00 Installation Egroupware 2/01/08 2/01/08 4 :00 Paramétrage de Egroupware 2/01/08 2/01/08 4 :00 Test de Egroupware 3/01/08 3/01/08 4 :00 Mise en exploitation 3/01/08 3/01/08 4 :00

Observation du serveur – retour des utilisateurs 4/01/08 24/01/08 20 jours Note : les durées de tâches ne sont qu’approximatives compte tenu de la nécessité d’établir une documentation complète.

LOUSSOUARN Mikaël Page 8 05/02/2008

Page 9: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

4.4.2. Ressources prévisionnelles Un intervenant en la personne de Mikaël LOUSSOUARN, stagiaire au lycée Sacré-coeur assisté ponctuellement par Olivier LE GRAND , administrateur réseau du lycée Sacré-cœur.

4.5. Authentification Le présent cahier des charges est soumis à l’approbation de M. LE GRAND Olivier, administrateur réseau du lycée Sacré-cœur d’Angers. M. LE GRAND Olivier pilotera le projet. La mise en place des plateformes de tests, la mise en place sur site et la rédaction de la documentation est à la charge de M. LOUSSOUARN Mikaël, stagiaire du centre AFPA d’Angers.

LOUSSOUARN Mikaël Page 9 05/02/2008

Page 10: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

5. Descriptif de chaque activité

5.1. Mise en place d’un serveur mandataire d’accès et de filtrage Internet utilisant les logiciels Squid et SquidGuard.

Obligation est faite aux établissements scolaires accueillants des mineurs de procéder au

filtrage des navigations Internet pour les protéger des contenus violents, sexuels, révisionnistes, illégaux ou sectaires. De plus la sécurité du réseau du site est dépendante de ce filtrage car il doit également éviter les sites de piratage informatique. Il y a également nécessité de conserver les journaux de connexions. Actuellement le CEFOC se connecte à Internet via le serveur mandataire du lycée ce qui répond aux exigences de filtrages mais ralentit le débit de connexion. Il a été donc été demandé de procéder à la mise en place d’un serveur mandataire local au CEFOC. Schéma de la topologie attendue sur le site CEFOC

LOUSSOUARN Mikaël Page 10 05/02/2008

Page 11: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

5.1.1. Schéma de topologie de la plateforme de test

5.1.2. Installation d’un serveur Windows 2003 Server sur un ordinateur virtuel et création du domaine de test.

Pour les besoins de mise en place d’une plateforme de test préalable à l’installation sur

le site du CEFOC, un serveur Windows 2003 fonctionnant sur une machine virtuelle (VmWare) doit être installé pour émuler le serveur contrôleur de domaine présent au CEFOC.

L’installation de VmWare sur le poste hôte Windows XP ne posant pas de problème, il

a été choisi de ne pas la détailler dans la documentation.

L’installation de Windows 2003 Server est décrite dans ce document en annexe : Installation d’un serveur 2003 Windows page 33

La création du domaine stage.local qui servira de domaine de test est décrite en annexe : Promotion du serveur en contrôleur de domaine page 43

LOUSSOUARN Mikaël Page 11 05/02/2008

Page 12: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Le service de résolution de noms DNS étant un pilier essentiel d’un domaine active directory il faut configurer et vérifier celui-ci. Le service DNS permet de résoudre l’adresse IP d’un ordinateur depuis son nom pleinement qualifié sur le domaine ou de résoudre le nom d’un ordinateur depuis son adresse IP (zone de recherche inversée). Le service DNS permet également de pointer les différents services apportés par les serveurs du domaine (contrôleur de domaine, service de messagerie) La configuration du service DNS est décrite pas à pas en annexe : Configuration DNS page 48 La vérification du service de résolution de noms DNS est décrite en annexe : Contrôle de la résolution DNS page 55 Pour les besoins du test il faut également créer les groupes et utilisateurs du domaine. Voir en annexe : Création des utilisateurs et groupes utilisateurs page 56

5.1.3. Installation de la distribution Linux Debian Etch

Le couple logiciel Squid SquidGuard rend actuellement les services de filtrages attendus au lycée, il s’impose donc naturellement comme la solution à mettre en œuvre au CEFOC d’autant plus qu’il s’agit d’une solution gratuite. Squid et SquidGuard fonctionnent sur une distribution Linux.

Le choix du système d’exploitation c’est porté sur un Linux Debian puisque les distributions Debian sont reconnues pour leur stabilité et sont suffisamment documentées la dernière version stable, la Etch, est choisie. La procédure d’installation de la distribution Linux Debian Etch est décrite en annexe : Installation de la Debian Etch page 64

LOUSSOUARN Mikaël Page 12 05/02/2008

Page 13: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

5.1.4. Intégration de la distribution Linux Debian au domaine Active Directory

Afin de centraliser l’authentification des utilisateurs du serveur mandataire avec

l’authentification des utilisateurs d’Active Directory il faut intégrer le serveur Debian au domaine et intégrer les utilisateurs du domaine comme utilisateurs reconnus par le serveur Debian.

Le service Samba qui permet la reconnaissance réseau entre des plateformes Windows et

Linux et permet également d’intégrer une distribution Linux dans un domaine Windows Active directory. La version 3 de Samba a été choisie.

Il faut également que lorsqu’un utilisateur du domaine se connecte sur le serveur mandataire

il soit reconnu et authentifié auprès du contrôleur de domaine Windows. Après plusieurs recherches il apparaît que la solution du service winbind qui dépend de

Samba répond à cette attente, en effet le service winbind procède à l’authentification d’un utilisateur du domaine auprès de l’annuaire active directory lorsqu’il se connecte à une machine Linux.

Le service Winbind nécessite la mise en œuvre du protocole kerberos imposé par le contrôleur de domaine pour l’authentification.

LOUSSOUARN Mikaël Page 13 05/02/2008

Page 14: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Le schéma suivant détaille du processus d’authentification :

L’annexe suivante détaille l’intégration d’une distribution Debian Etch dans un domaine Active directory : Intégration d’une distribution Debian dans un domaine Active Directory page 77

LOUSSOUARN Mikaël Page 14 05/02/2008

Page 15: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

5.1.5. Installation et configuration du serveur mandataire (logiciels Squid et SquidGuard)

Le logiciel Squid est un service (fonctionnement en démon), il assure plusieurs fonctions :

Il sert de cache à la navigation Internet afin d’optimiser la bande passante. Il procède à l’authentification des utilisateurs Il possède un système de filtrage basique Il génère des fichiers journaux de connexion

Le logiciel SquidGuard est dépendant de Squid (processus enfant), il assure les fonctions de filtrages suivantes :

Filtrage par groupes utilisateurs (c’est ce qui est intéressant dans le cadre d’un filtrage nécessaire différent entre les élèves et les professeurs)

Filtrage par liste de domaines autorisés ou interdits (pour les sites interdit il existe une liste maintenue par l’université de Toulouse qui répond aux exigences du site)

Filtrage par plage horaire.

Note : il est possible de paramétrer Squid et SquidGuard via une interface Web en utilisant le logiciel Webmin mais ceci n’a pas été le choix de l’exercice et tout à été réalisé en lignes de commandes. Le Logiciel d’analyse de logs Sarg permet une meilleure lisibilité des journaux de connexion du serveur mandataire, ceux-ci seront grâce à ce logiciel consultables via un navigateur Internet.

LOUSSOUARN Mikaël Page 15 05/02/2008

Page 16: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Schéma de fonctionnement de Squid et SquidGuard :

L’installation du couple Squid SquidGuard effectuée est décrite en annexe : Installation et paramétrage des logiciels Squid et Squiguard sur une Debian Etch 4.0r intégrée à un domaine Windows. Page 90

Afin de rendre l’installation sur site finale simple et rapide j’ai écrit un script en bash permettant d’automatiser la procédure d’installation décrite. Le code de ce script est présent en annexe : script d’installation de squid squidguard page 97 Problème rencontré :

Lors du lancement du service Samba, celui-ci réinitialise les droits sur le dossier /etc/samba/winbind_privileged hors le logiciel Squid a besoin de droits sur ce dossier pour l’authentification des utilisateurs. J’ai donc du mettre en place un script de démarrage personnalisé du service Squid remplaçant celui d’origine et plaçant les droits nécessaires au proxy sur le dossier posant problème (voir dans le script d’installation de squid)

LOUSSOUARN Mikaël Page 16 05/02/2008

Page 17: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

5.2. Mise en œuvre d’un serveur OpenLDAP avec Réplication avec l’annuaire Active Directory

Afin de préparer l’installation du serveur de messagerie Postfix et de lui permettre de

reconnaître les utilisateurs du domaine le cahier des charges demande la mise en place d’un serveur d’annuaire sur la distribution Linux en réplication avec l’annuaire Active directory du serveur contrôleur de domaine. Problème rencontré : synchronisation des mots de passes

L’installation d’un serveur OpenLdap sur la distribution Linux n’a pas posé de problèmes. La synchronisation des comptes utilisateurs a été faite avec un script bash interrogeant Active directory, comparant les différences avec l’annuaire OpenLDAP et modifiant l’annuaire openLDAP comme nécessaire.

Lien vers le script de mise à jour des comptes page 166

Toutefois il ne m’a pas été possible de synchroniser les mots de passes des utilisateurs et ce malgré plus d’une semaine de recherche de solutions. Le projet à pris à ce moment un retard important.

J’ai exploré la piste de l’authentification SASL ou Kerberos des utilisateurs OpenLDAP auprès de l’annuaire Active directory mais cela n’a pas abouti.

Il m’est apparu que l’annuaire OpenLDAP, au mieux ne posséderait qu’un répliquât des comptes utilisateurs sans synchronisation des mots de passes, hors je disposais déjà d’un système d’authentification des utilisateurs Linux auprès du contrôleur de domaine Windows. J’ai donc pensé utiliser Winbind et Samba pour permettre l’intégration complète des utilisateurs du domaine sur mon serveur Debian Linux. J’ai pu ainsi aborder à la suite du projet, à savoir l’installation du serveur de messagerie Postfix et du logiciel de travail collaboratif EgroupWare.

LOUSSOUARN Mikaël Page 17 05/02/2008

Page 18: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

5.3. Installation du serveur de messagerie PostFix Topologie attendue sur le site CEFOC :

LOUSSOUARN Mikaël Page 18 05/02/2008

Page 19: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Topologie de la plateforme de test :

Le logiciel Postfix est un MTA (mail transfert Agent) il est capable d’envoyer et de recevoir du courrier électronique. L’envoie de courrier vers l’extérieur du réseau est assuré par le protocole SMTP vers le MTA du destinataire. La distribution du courrier reçu est assurée par un MDA (mail delivery agent) qui dans notre cas est un serveur IMAP (courier-imap).Le protocole IMAP est préféré au protocole POP car il sera nécessaire au logiciel EgroupWare. La solution Postfix a été retenue car c’est une solution gratuite, stabilisée, largement utilisée et bien documentée. Le projet impose la création d’un compte de courrier pour chacun des utilisateurs du domaine, il faut donc que les utilisateurs du domaine possèdent dès leur première connexion au serveur de messagerie leur propre boite mail et qu’ils soient correctement authentifiés comme autorisés par le service de messagerie et le serveur IMAP. Une petite manipulation sur les fichiers de configuration d’authentification du serveur Linux (fichiers du dossier /etc/pam.d) m’a permis d’accepter les connexion distantes authentifiées par le deamon winbind sur le serveur Linux comme ci il s’agissait d’utilisateurs locaux. Restait le problème de la création automatique des boites de courrier IMAP, j’ai contourné cette difficulté en créant un script de connexion de lecteur réseau depuis l’ordinateur client du domaine Windows sur un partage SAMBA du serveur Linux.

LOUSSOUARN Mikaël Page 19 05/02/2008

Page 20: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

La connexion SAMBA autorise, grâce à la modification des fichiers pam, la création d’un répertoire utilisateur selon le squelette prédéfini placé sur le serveur linux à l’emplacement /etc/skel .Sur ce squelette j’ai crée les boites de courriers IMAP nécessaires.

Afin de pouvoir rapatrier les courriers qui se trouvent hébergés chez un prestataire de messagerie j’ai utilisé le logiciel Fetchmail qui récolte à intervalles réguliers les mails du domaine que le prestataire a rassemblé dans un compte collecteur. Postfix prend ensuite en charge ces courriers et en confie la distribution à procmail. Enfin, pour assurer la sécurité des courriers électroniques j’ai mis en place un filtrage des messages par un logiciel antivirus (clamav), un logiciel anti-spams (spamassassin) et un filtrage des entêtes et corps de messages.

LOUSSOUARN Mikaël Page 20 05/02/2008

Page 21: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Schéma simplifié du fonctionnement du serveur de messagerie mis en oeuvre:

La description des manipulations faites est en annexe : Installation du serveur de messagerie Postfix page 119

LOUSSOUARN Mikaël Page 21 05/02/2008

Page 22: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

5.4. Installation d’un serveur Web Apache2 supportant le langage PHP.

Afin de permettre l’installation et le fonctionnement du logiciel EgroupWare j’ai du mettre

en place un serveur Web Apache2 supportant l’interprétation du langage PHP sur le serveur Debian. Cette installation est suffisamment documentée et aisée pour ne pas avoir posé de difficultés.

L’installation est détaillée en annexe : Installation du serveur Web page 146

5.5. Installation d’un serveur gestionnaire de bases de données MySQL

Egroupware fonctionnant sur une base de données il nécessite l’installation d’un service

de gestion de bases de données, MySQL est supporté par EgroupWare, gratuit et suffisamment documenté.

L’installation et la configuration de MySQL ne représente pas de difficulté sur une

distribution Linux comme la Debian utilisée, il faut juste bien prendre soin de sécuriser son accès en interdisant un accès distant à la base (seul Egroupware y accèdera, et EgroupWare est une application locale au serveur) et en définissant un compte d’administrateur sécurisé (l’administrateur root de la base de données doit devoir entrer un mot de passe)

L’installation est détaillée en annexe : Installation du serveur mysql page 146

LOUSSOUARN Mikaël Page 22 05/02/2008

Page 23: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

5.6. Installation du logiciel de travail collaboratif EgroupWare

Egroupware est un logiciel de travail collaboratif gratuit qui est conçu nativement avec une interface Web qui permet son accès depuis n’importe quel poste client quelque soit sont système d’exploitation ou bien qu’il soit situé sur le réseau interne ou externe.

Egroupware permet un accès depuis des solutions mobiles comme un téléphone portable ou encore un PDA.

Il permet la gestion de calendriers partagés, d’une messagerie personnelle, des contacts, de

projets collaboratifs, d’accéder à des fichiers partagés et bien d’autres choses. C’est une solution adaptée au fonctionnement d’une entreprise et le Lycée l’utilise déjà pour

la formation des BTS. L’usage de ce logiciel pour les stagiaires du CEFOC est intéressant puisque ceux-ci ne sont

pas en permanence sur le site de formation et qu’ils sont destinés au secteur tertiaire. J’ai donc du mettre en place sur la maquette la solution Egroupware appuyée sur le logiciel

de messagerie Postfix et avec une authentification centralisée par l’annuaire active directory. L’image VmWare ainsi obtenu a pu être installée sur le site du CEFOC et est actuellement

en cours de test. Différents problèmes ont été rencontré, l’installation d’Egroupware n’est pas des plus aisée :

Il a fallu installer les modules dont le logiciel a besoin, les modules pear. Il a fallu modifier un formulaire dans le gestionnaire de mail car celui d’origine ne

fonctionnait pas Il a fallu modifier le module de création de graphiques et installer des polices de

caractères. Enfin, lors des premiers essais, l’authentification sur le domaine Active directory était

effective mais les nouveaux utilisateurs n’étaient pas créés automatiquement sur la base de données d’Egroupware. Après plusieurs essais il c’est avéré qu’il fallait impérativement que l’utilisateur Active directory possède un nom renseigné pour être créé dans la base par Egroupware ce qui n’était pas le cas sur ma plateforme d’essai.

L’installation d’Egroupware est détaillée en annexe : Installation d’egroupware page 172

LOUSSOUARN Mikaël Page 23 05/02/2008

Page 24: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Schéma de fonctionnement d’Egroupware sur le site CEFOC :

LOUSSOUARN Mikaël Page 24 05/02/2008

Page 25: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

5.7. Mise en place de la solution sur le site du CEFOC

L’installation de la solution a eu lieu sur le site du CEFOC assisté de M. Olivier LE GRAND.

Afin de faciliter cette mise en place j’ai au préalable réalisé une image VmWare de la solution développée sur la plateforme de test à laquelle j’ai inclus un script de configuration en bash permettant de configurer rapidement le serveur virtuel à son environnement réseau.

Les explications sur les manipulations à réaliser pour installer le serveur sont en

annexes : lien page 168 Lien vers les sources du script Bash présent en annexes : lien page 169

Désormais le serveur est en exploitation sur le site du CEFOC, M. Olivier LE GRAND se chargera de la période d’observation.

L’image du serveur virtuel est livrée au lycée et disponibles pour d’autres établissements éventuellement intéressés.

LOUSSOUARN Mikaël Page 25 05/02/2008

Page 26: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

LOUSSOUARN Mikaël Page 26 05/02/2008

5.8. Réalisation d’un script pour un projet de diffusion multicast de vidéo

M. Olivier LE GRAND travaillait sur un projet de diffusion de vidéo en réseau lors de

ma période d’application, il s’agissait de pouvoir diffuser une vidéo depuis l’ordinateur d’un professeur vers les postes des élèves de la salle de cours. Le logiciel VLC permet la diffusion multicast de flux vidéo sur un réseau, M. Olivier LE GRAND a développé un logiciel s’appuyant sur cette fonctionnalité pour accomplir son projet.

Il m’a confié la charge de créer un script permettant de faire une découverte du réseau (commande net view de microsoft) et de trier les ordinateurs en fonction de leur salle d’implantation. Ce script a été réalisé en langage AutoIt que je manipulais pour la première fois, je me suis appuyé sur le fait que les noms netbios des ordinateurs finissent tous sur le lycée par « S » suivi du numéro de salle. Mon travail a été incorporé au projet désormais fonctionnel de M. Olivier LE GRAND. Capture d’écran du logiciel créé dans sa version 1.4 :

Page 27: Rapport Stage Light

6. Bilan récapitulatif de l’ensemble des activités Le schéma suivant présente une vue d’ensemble de ce qui est désormais fonctionnel sur le serveur virtuel Debian Etch mit en exploitation au CEFOC.

Les flèches montrent les différentes interactions entre les composants du projet.

Page 28: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Le tableau suivant récapitule les actions demandées par le cahier des charges et leurs résultats : Activité Terminée En cours Non réalisées Installer une plateforme de test représentant le site CEFOC

oui

Installer le serveur mandataire proxy avec filtrage

oui

Tests du filtrage Internet

oui

Création d’un script pour l’installation de la solution de serveur mandataire sur site

oui

Test du script d’installation

oui

Rédaction de la documentation pour l’installation du serveur mandataire

oui

Installer un serveur d’annuaire OpenLDAP sur le serveur Debian

oui

Réplication entre l’annuaire Active directory et l’annuaire OpenLDAP

Après recherches

Mise en place d’un serveur de messagerie Postfix avec boites IMAP

oui

Tests du serveur de messagerie

oui

Mise en place d’un serveur Web Apache2 supportant Php

oui

Mise en place d’un serveur de gestion de base de données MySQL

oui

Mise en place du logiciel de travail collaboratif Egroupware

oui

Tests du logiciel Egroupware

En cours

Rédaction de la documentation pour l’installation de la solution Postfix/Egroupware

oui

Création d’un script d’installation pour la solution postfix/Egroupware

oui

Rédaction d’une documentation sur l’utilisation d’Egroupware

En cours

Etablissement d’une stratégie de sauvegarde pour le serveur

Non demandée mais

souhaitable Déploiement sur le site CEFOC du serveur virtuel

oui

Période d’observation du serveur sur site Hors délais du stage

LOUSSOUARN Mikaël Page 28 05/02/2008

Page 29: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

7. Conclusion

Le projet est arrivé à son terme, le serveur est opérationnel sur le site du CEFOC qui dispose désormais de son propre serveur mandataire, d’un serveur de messagerie et de travail collaboratif.

Une image du serveur accompagnée d’un script de configuration permet d’appliquer cette

solution sur d’autres sites. L’idée est de proposer au-delà du site CEFOC une solution aisée à mettre en place sur

d’autres établissements scolaires : Une solution gratuite de serveur mandataire, de serveur de courrier et de travail collaboratif. D’autres acteurs de l’informatique dans l’enseignement privé se sont montrés intéressés par la solution proposée dans ce projet.

Un point important qui n’a pas été abordé est la création d’une stratégie de sauvegarde, c’est

une chose essentielle qu’il faudra envisager de mettre en place rapidement. Ce stage fut dès plus intéressant et formateur au vu des solutions qu’il a fallu trouver pour

centraliser l’authentification des utilisateurs sur le domaine Active Directory. Il fut toutefois trop court pour permettre d’aboutir à une solution complètement portable.

La force de ce projet est de proposer une solution gratuite aux établissements scolaires

bénéficiant déjà d’un domaine Active Directory. Il est d’ailleurs envisagé de proposer ce type de serveur à d’autres établissements du secteur de l’éducation privé.

LOUSSOUARN Mikaël Page 29 05/02/2008

Page 30: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8. Annexes techniques

8.1. Installation de Windows 2003 Server dans sa version en 2 CD ROM.

Ce document détaille pas à pas l’installation d’un système Windows 2003 Server Standard édition R2.

Insérer le CDROM n°1 dans le lecteur. Faire <Entrer>

Accepter la licence du logiciel en tapant <F8>

Choisir l’espace disque destinataire du système. Faire <C> pour créer la partition système.

LOUSSOUARN Mikaël Page 30 05/02/2008

Page 31: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Renseigner la taille de la partition système en méga octets. Faire <Entrer>

Sélectionner la partition créée précédemment. Faire <Entrer>

Choisir de formater la partition en utilisant le système de fichiers NTFS. Faire <Entrer>

Le formatage de la partition s’effectue.

LOUSSOUARN Mikaël Page 31 05/02/2008

Page 32: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Le programme copie les fichiers nécessaires à l’installation sur le disque dur.

L’ordinateur doit redémarrer pour débuter la partie graphique de l’installation.

Début de la partie graphique de l’installation.

LOUSSOUARN Mikaël Page 32 05/02/2008

Page 33: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

L’installation à ce niveau est automatique.

Renseigner au besoin les paramètres régionaux. Faire <Suivant>

Renseigner le nom de l’utilisateur et le nom de l’organisation. Faire <Suivant>

LOUSSOUARN Mikaël Page 33 05/02/2008

Page 34: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Entrer la clé de licence du produit. Faire <Suivant>

Renseigner le mode de licence. Ici il a été choisi le mode par périphérique ou par utilisateur imposant a chaque client du serveur de posséder sa propre licence. Faire <Suivant>

Entrer le nom de l’ordinateur. Entrer le mot de passe administrateur. Confirmer ce mot de passe. (retenir ce mot de passe) Faire <Suivant>

LOUSSOUARN Mikaël Page 34 05/02/2008

Page 35: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Régler la date, l’heure et le fuseau horaire. Faire <Suivant>

L’installation continue.

Choisir les paramètres réseaux, ici ils sont laissés par défauts et seront configurés en fin d’installation. Faire <Suivant>

LOUSSOUARN Mikaël Page 35 05/02/2008

Page 36: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Définir le groupe de travail de l’ordinateur. Ici WORKGROUP. Faire <Suivant>

L’installation continue. Puis l’ordinateur redémarre automatiquement.

Au redémarrage il faut appuyer simultanément sur les touches Crtl+Alt+suppr

LOUSSOUARN Mikaël Page 36 05/02/2008

Page 37: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Une boîte de dialogue invite l’administrateur de la machine à entrer son mot de passe. Entrer le mot de passe et faire <Ok>

Une boîte de dialogue invite l’administrateur à insérer le second CDROM d’installation. . Insérer le second CDROM Faire <Ok>

Faire <Suivant>

LOUSSOUARN Mikaël Page 37 05/02/2008

Page 38: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Faire <Suivant>

L’installation est automatique

L’installation est terminée. Faire <Terminer>

LOUSSOUARN Mikaël Page 38 05/02/2008

Page 39: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Détail des paramètres réseau à configurer dans le cadre de la plateforme de test du projet. Cette boîte de dialogue est accessible via Menu démarrer> Clic droit sur favoris réseaux > choisir Propriétés. Puis sur la connexion réseau faire un clic droit et choisir propriétés comme indiqué ci-dessous :

etour au chapitreR

LOUSSOUARN Mikaël Page 39 05/02/2008

Page 40: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.2. Promotion du serveur Windows 2003 en contrôleur de domaine Active Directory.

Ce document détaille pas à pas la création d’un nouveau domaine d’une nouvelle forêt par la promotion d’un serveur Windows 2003 en contrôleur de domaine.

Dans le menu démarrer, choisir Exécuter. Entrer dans le champ ouvrir de la boîte de dialogue « dcpromo » comme ci à côté. Faire <Ok>

Un assistant d’installation d’Active Directory démarre. Faire <Suivant>

Une information sur la compatibilité s’affiche. Faire <Suivant>

LOUSSOUARN Mikaël Page 40 05/02/2008

Page 41: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Choisir Contrôleur de domaine pour un nouveau domaine. Faire <Suivant>

Choisir Domaine d’une nouvelle forêt. Faire <Suivant>

Entrer le nom pleinement qualifié du domaine (image non visible dans ce document) Ici le nom pleinement qualifié est stage.local Ici le nom pleinement qualifié est stage.local puis dans l’écran si contre valider le nom net bios en cliquant sur suivant.

LOUSSOUARN Mikaël Page 41 05/02/2008

Page 42: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Choisir les espace disque hébergeant les données de la base d’annuaire et les journaux. Note : il peut-être intéressant de choisir un disque différent du système pour prévoir les risques de pannes matériel. Faire <Suivant>

Choisir le chemin du volume partagé. (celui par défaut convient la plupart du temps) Ici le nom pleinement qualifié est stage.local

Un domaine nécessite un service de noms DNS pour fonctionner. L’assistant n’ayant pas découvert de service DNS valide propose d’en installer un sur le contrôleur de domaine. Choisir installer et configurer le serveur DNS et faire <Suivant> Note : un autre document traite de la configuration du DNS postérieurement à cette installation.

LOUSSOUARN Mikaël Page 42 05/02/2008

Page 43: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Choisir le mode d’autorisations Ici a été choisi les autorisations compatibles uniquement avec les systèmes d’exploitation serveur 2000 ou Windows Server 2000. Faire <Suivant>

Entrer le mot de passe de restauration du système. Bien conserver ce mot de passe !! Faire <Suivant>

Un résumé fait état des choix faits lors du déroulement de l’assistant. Faire <Suivant>

LOUSSOUARN Mikaël Page 43 05/02/2008

Page 44: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Création de l’annuaire Active Directory.

Fin de l’installation. Faire <Terminer>

Un redémarrage de l’ordinateur est nécessaire. Choisir <Redémarrer maintenant>

Retour au chapitre

LOUSSOUARN Mikaël Page 44 05/02/2008

Page 45: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.3. Configuration post-installation du service de noms DNS Ce document détaille pas à pas les manipulations nécessaires sur le service DNS suite à son installation automatique sur le contrôleur de domaine lors de la création du domaine Active Directory (voir document sur la création de l’annuaire active directory).

Ouvrir la console d’administration du serveur DNS : Menu démarrer> outils d’administration > DNS.

Sélectionner dans les zones de recherches directes la zone portant le nom du domaine, ici stage.local. Faire un clic droit Choisir « Propriétés »

LOUSSOUARN Mikaël Page 45 05/02/2008

Page 46: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Dans l’onglet « général » des propriétés cliquer sur <Modifier> dans la ligne Type

Cocher Zone principale Cocher la case Enregistrer la zone dans Active Directory Note : normalement les deux cases sont déjà cochées Faire <Ok>

Valider le choix par <Oui> si demandé. Ensuite faire <Ok>

LOUSSOUARN Mikaël Page 46 05/02/2008

Page 47: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Dans le champ « mise à jour dynamiques : » choisir « non sécurisé et sécurisé « Clique sur <Appliquer> Note : si vous souhaitez conserver le mode sécurisé, vous devrez ajouter manuellement l’entrée DNS correspondant au serveur Linux Debian.

Il faut maintenant créer une zone de recherche inversée pour permettre au service DNS de répondre à une requête de nom depuis une adresse IP. Sélectionner « Zones de recherches inversées », cliquer droit, choisir « Nouvelle zone »

LOUSSOUARN Mikaël Page 47 05/02/2008

Page 48: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Un assistant guide l’installation de la nouvelle zone. Faire <Suivant>

Choisir « Zone principale » Cocher « enregistrer la zone dans Active Directory »

LOUSSOUARN Mikaël Page 48 05/02/2008

Page 49: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Renseigner l’ID réseau. Pour la plateforme de tests du projet il s’agit de 192.168.254 correspondant à l’adresse réseau de la plateforme. Faire <Suivant>

Laisser le choix sur « créer un nouveau fichier nommé :… » Faire <Suivant>

LOUSSOUARN Mikaël Page 49 05/02/2008

Page 50: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Cocher « autoriser à la fois les mises à jours dynamiques sécurisées et non sécurisées » Faire <Suivant>

L’installation de la zone de recherche inversée est terminée. Faire « Terminer »

Retour au chapitre

LOUSSOUARN Mikaël Page 50 05/02/2008

Page 51: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.4. Manipulation de contrôle de la résolution DNS Pour s’assurer que le service DNS du serveur fonctionne correctement il faut faire une requête de Ping avec un nom netbios d’hôte (ici pcvirtw2003svr) et s’assurer que la réponse à la commande est bien de forme nom pleinement qualifié (ici pcvirtw2003svr.stage.local) comme le montre la figure ci-dessous.

Note : pour entrer la commande ping, lancer le menu démarrer et choir exécuter puis entre dans le champ « cmd » (sans guillemets) pour obtenir l’invite de commande DOS. Retour au chapitre

LOUSSOUARN Mikaël Page 51 05/02/2008

Page 52: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.5. Création des utilisateurs et des groupes dans l’annuaire Active directory.

Ce document détaille pas à pas la création via l’interface graphique des utilisateurs et groupes de l’annuaire Active directory sur un serveur contrôleur de domaine.

Sur le contrôleur de domaine Windows 2003 Server, ouvrir le menu démarrer. Choisir outils d’administration puis Utilisateurs et ordinateurs d’Active Directory.

La console de gestion des utilisateurs et ordinateurs d’Active Directory s’ouvre.

Création d’un conteneur : En sélectionnant le domaine faire un clic droit et choisir Nouveau puis Unité d’organisation.

LOUSSOUARN Mikaël Page 52 05/02/2008

Page 53: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Renseigner le nom du conteneur Faire <ok>

Création d’un utilisateur : En sélectionnant le conteneur précédemment créé faire un clic droit et choisir nouveau puis utilisateur

LOUSSOUARN Mikaël Page 53 05/02/2008

Page 54: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Renseigner le nom et les identifiants de l’utilisateur Faire <suivant>

Renseigner le mot de passe de connexion pour l’utilisateur Confirmer ce mot de passe. Cocher les options de gestion du mot de passe. Faire <suivant>

LOUSSOUARN Mikaël Page 54 05/02/2008

Page 55: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Une boite de dialogue détaille les options choisies Valider en cliquant sur <terminer>

L’utilisateur est créé Créer en d’autres pour les besoins de la plateforme de test.

Création d’un groupe : En sélectionnant le conteneur Utilisateurs, faire un clic droit puis choisir nouveau puis groupe.

LOUSSOUARN Mikaël Page 55 05/02/2008

Page 56: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Renseigner le nom du groupe, son type et son étendue. Valider par <ok>

Renseigner les membres d’un groupe : Faire un clic droit sur le groupe créé et choisir propriétés

Onglet des propriétés générales du groupe Choisir l’onglet Membres.

LOUSSOUARN Mikaël Page 56 05/02/2008

Page 57: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Faire <Ajouter>

Dans le champ de saisie, saisir le début du nom de l’utilisateur à ajouter au groupe.

LOUSSOUARN Mikaël Page 57 05/02/2008

Page 58: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Cliquer sur <vérifier les noms>

Sélectionner l’utilisateur à ajouter dans la liste proposée. Faire <ok>

Faire <ok>

LOUSSOUARN Mikaël Page 58 05/02/2008

Page 59: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Procéder comme précédemment jusqu'à avoir ajouter tous les membres au groupe.

Valider pas <ok>

Retour au chapitre

LOUSSOUARN Mikaël Page 59 05/02/2008

Page 60: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.6. Installation d’une distribution Linux Debian Etch 4.0 Ce document détaille pas à pas l’installation d’une distribution Linux Debian Etch 4.0.

Insérer le CDROM debian-40r1-i386-netinst Démarrer l’ordinateur. Presser la touche <Entrer> pour débuter l’installation.

L’installation débute.

LOUSSOUARN Mikaël Page 60 05/02/2008

Page 61: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Choisir le langage d’installation : Ici French. Sélectionner avec les touches de déplacement et valider par la touche <Entrer>

Choisir la situation régionale Ici France. Valider par <Entrer>

Choisir la disposition du clavier Ici Français (fr-latin) Valider par <Entrer>

LOUSSOUARN Mikaël Page 61 05/02/2008

Page 62: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Le programme d’installation procède à la détection du matériel.

L’installateur charge des composantes supplémentaires.

Configuration du réseau : Renseigner le nom du domaine Ici stage.local (correspondant à la situation de la plateforme de test) sélectionner <continuer> Valider par <Entrer>

LOUSSOUARN Mikaël Page 62 05/02/2008

Page 63: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Partitionnement des disques durs : Il faudra adapter les choix de partitionnement aux besoins futurs du système. Pour la plateforme de test il a été choisi « manuel » Valider par <Entrer>

Sélection du disque a partitionner Sélectionner Valider par <Entrer>

Sélectionner « oui » Valider par <Entrer>

LOUSSOUARN Mikaël Page 63 05/02/2008

Page 64: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Sélectionner l’espace libre du disque. Valider par <Entrer>

Ici il a été choisi de partitionner automatiquement l’espace disponible. Sélectionner Valider par <Entrer>

Choisir de séparer les partitions pour une administration plus précise du système. (ceci nécessite de bien appréhender les besoins futurs en espace disque de chaque partie du système !) Sélectionner Valider par <Entrer>

LOUSSOUARN Mikaël Page 64 05/02/2008

Page 65: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Valider les choix de partitionnement Choisir terminer le partitionnement et appliquer les changements. Valider par <Entrer>

Confirmer en sélectionnant « oui » Valider par <Entrer>

Entrer le mot de passe de l’administrateur (compte root) Ne pas oublier ce mot de passe ! Sélectionner « continuer » Valider par <Entrer>

LOUSSOUARN Mikaël Page 65 05/02/2008

Page 66: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Ressaisir le mot de passe administrateur pour éviter les erreurs de frappe. Sélectionner « continuer » Valider par <Entrer>

Entrer un nom d’utilisateur. Cet utilisateur ne bénéficiera pas des privilèges d’administration accordés au compte root. Sélectionner « continuer » Valider par <Entrer>

Entrer l’identifiant pour cet utilisateur (login) Sélectionner « continuer » Valider par <Entrer>

LOUSSOUARN Mikaël Page 66 05/02/2008

Page 67: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Entrer le mot de passe pour l’utilisateur. Sélectionner « continuer » Valider par <Entrer>

Ressaisir le mot de passe pour l’utilisateur. Sélectionner « continuer » Valider par <Entrer>

Installation du système de base.

LOUSSOUARN Mikaël Page 67 05/02/2008

Page 68: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Configuration de l’outil de gestion des paquets logiciels. Choisir d’utiliser un miroir sur le réseau. Sélectionner « oui » Valider par <Entrer>

Choisir le pays hébergeant le serveur miroir de paquets. Choisir le plus proche géographiquement. Ici France Valider par <Entrer>

Choisir un serveur dans la liste proposée. Valider par <Entrer>

LOUSSOUARN Mikaël Page 68 05/02/2008

Page 69: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Renseigner l’adresse réseau du serveur mandataire s’il existe sur le réseau pour permettre au gestionnaire de paquets de se connecter au serveur miroir. Dans la cadre de la plateforme de test il s’agit de : http://172.18.0.3:3128/ (bien respecter la syntaxe)

Le gestionnaire de paquets examine le miroir.

Le logiciel propose de tenir informer l’équipe de développement sur l’utilisation des paquets logiciels. Choisir sa réponse. Valider par <Entrer>

LOUSSOUARN Mikaël Page 69 05/02/2008

Page 70: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

L’installation continue.

Sélection des logiciels. Ici il est possible de choisir des logiciels dès l’installation du système. Seul le système standard est nécessaire pour notre plateforme de test. Note : les logiciels peuvent toujours être installés par la suite. Sélectionner « continuer » Valider par <Entrer>

Les paquets sélectionnés s’installent.

LOUSSOUARN Mikaël Page 70 05/02/2008

Page 71: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Choisir d’installer le programme de démarrage Grub Sélectionner « oui » Valider par <Entrer>

Installation du programme de démarrage Grub.

Fin de l’installation, l’ordinateur doit redémarrer. Sélectionner « continuer » Valider par <Entrer>

LOUSSOUARN Mikaël Page 71 05/02/2008

Page 72: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Invite de démarrage du gestionnaire Grub. Choisir Debian GNU/Linux kernel 2.6.18-5-486 Valider par <Entrer>

Le système est démarré et opérationnel.

Retour au chapitre

LOUSSOUARN Mikaël Page 72 05/02/2008

Page 73: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.7. Intégration d’un système Linux Debian Etch dans un domaine Active Directory 2003

Ce document détaille l’intégration d’un ordinateur configuré sous un système d’exploitation Linux Debian 4.0 Etch. Note : Toutes les manipulations qui suivent sont faites en tant qu’administrateur du système Linux à savoir le compte root.

8.7.1. Données propres à l’exercice (à adapter selon les besoins):

Domaine : stage.local Contrôleur de domaine :

Nom netbios : pcvirtw2003svr nom DNS : pcvirtw2003svr.stage.local @ IP : 192.168.254.128/24

Debian : Nom netbios : debian nom DNS : debian.stage.local @IP : 192.168.254.129/24

8.7.2. Logiciels nécessaires :

Distribution Linux debian Etch 4.0r de base. Pour la communication entre la distribution Linux et le serveur Windows, Samba

Installation de samba :

apt-get install samba

Pour le support du protocole de communication sécurisé utilisé par le serveur : Kerberos

apt-get install krb5-user

Pour l’authentification des utilisateurs du domaine Windows par la debian : winbind

apt-get install winbind

Pour la synchronisation de l’horloge de la Debian avec le contrôleur de domaine :

ntpdate Note : valider l’installation des dépendances nécessaires.

apt-get install ntpdate

LOUSSOUARN Mikaël Page 73 05/02/2008

Page 74: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.7.3. Configuration du réseau :

Editer le fichier /etc/network/interfaces et le renseigner comme suit (a adapter aux adresses ip de votre réseau)

# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.254.129 netmask 255.255.255.0 broadcast 192.168.254.255 gateway 192.168.254.2

Renseigner la passerelle dans le fichier /etc/networks :

echo gateway 192.168.254.2>>/etc/networks

Renseigner le nom et l’adresse IP du contrôleur de domaine dans le fichier /etc/hosts

echo 192.168.254.128 pcvirtw2003svr.stage.local pcvirtw2003svr>>/etc/hosts

Renseigner le serveur DNS ( ici il s’agit du contrôleur de domaine ) dans le fichier /etc/resolv.conf

echo nameserver 192.168.254.128>>/etc/resolv.conf

Relancer l’interface réseau

ifdown eth0 ifup eth0

LOUSSOUARN Mikaël Page 74 05/02/2008

Page 75: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.7.4. Synchronisation des horloges La synchronisation des horloges est nécessaire au fonctionnement du protocole kerberos.

Editer le fichier /etc/default/ntpdate et le modifier comme suit :

# The settings in this file are used by the program ntpdate-debian, but not # by the upstream program ntpdate. # Set to "yes" to take the server list from /etc/ntp.conf, from package ntp, # so you only have to keep it in one place. NTPDATE_USE_NTP_CONF=yes # List of NTP servers to use (Separate multiple servers with spaces.) # Not used if NTPDATE_USE_NTP_CONF is yes. NTPSERVERS="pcvirtw2003svr.stage.local" # Additional options to pass to ntpdate NTPOPTIONS="-u"

Synchroniser les horloges

/etc/init.d/ntpdate restart

LOUSSOUARN Mikaël Page 75 05/02/2008

Page 76: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.7.5. Paramétrage du client kerberos

Vérifier et renseigner le fichier /etc/krb5.conf comme suit (la casse doit être respectée) :

[logging] default = FILE10000:/var/log/krb5lib.log [libdefaults] ticket_lifetime = 24000 default_realm = STAGE.LOCAL # The following krb5.conf variables are only for MIT Kerberos. krb4_config = /etc/krb.conf krb4_realms = /etc/krb.realms kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true # The following encryption type specification will be used by MIT Kerberos # if uncommented. In general, the defaults in the MIT Kerberos code are # correct and overriding these specifications only serves to disable new # encryption types as they are added, creating interoperability problems. # default_tgs_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5 # default_tkt_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5 # permitted_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5 # The following libdefaults parameters are only for Heimdal Kerberos. v4_instance_resolve = false v4_name_convert = { host = { rcmd = host ftp = ftp } plain = { something = something-else } } fcc-mit-ticketflags = true [realms] STAGE.LOCAL = { kdc = pcvirtw2003svr.stage.local admin_server = pcvirtw2003svr.stage.local default_domaine = STAGE.LOCAL } ATHENA.MIT.EDU = { kdc = kerberos.mit.edu:88 kdc = kerberos-1.mit.edu:88 kdc = kerberos-2.mit.edu:88 admin_server = kerberos.mit.edu default_domain = mit.edu } MEDIA-LAB.MIT.EDU = { kdc = kerberos.media.mit.edu

LOUSSOUARN Mikaël Page 76 05/02/2008

Page 77: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

admin_server = kerberos.media.mit.edu } ZONE.MIT.EDU = { kdc = casio.mit.edu kdc = seiko.mit.edu admin_server = casio.mit.edu } MOOF.MIT.EDU = { kdc = three-headed-dogcow.mit.edu:88 kdc = three-headed-dogcow-1.mit.edu:88 admin_server = three-headed-dogcow.mit.edu } CSAIL.MIT.EDU = { kdc = kerberos-1.csail.mit.edu kdc = kerberos-2.csail.mit.edu admin_server = kerberos.csail.mit.edu default_domain = csail.mit.edu krb524_server = krb524.csail.mit.edu } IHTFP.ORG = { kdc = kerberos.ihtfp.org admin_server = kerberos.ihtfp.org } GNU.ORG = { kdc = kerberos.gnu.org kdc = kerberos-2.gnu.org kdc = kerberos-3.gnu.org admin_server = kerberos.gnu.org } 1TS.ORG = { kdc = kerberos.1ts.org admin_server = kerberos.1ts.org } GRATUITOUS.ORG = { kdc = kerberos.gratuitous.org admin_server = kerberos.gratuitous.org } DOOMCOM.ORG = { kdc = kerberos.doomcom.org admin_server = kerberos.doomcom.org } ANDREW.CMU.EDU = { kdc = vice28.fs.andrew.cmu.edu kdc = vice2.fs.andrew.cmu.edu kdc = vice11.fs.andrew.cmu.edu kdc = vice12.fs.andrew.cmu.edu admin_server = vice28.fs.andrew.cmu.edu default_domain = andrew.cmu.edu } CS.CMU.EDU = { kdc = kerberos.cs.cmu.edu kdc = kerberos-2.srv.cs.cmu.edu admin_server = kerberos.cs.cmu.edu } DEMENTIA.ORG = { kdc = kerberos.dementia.org kdc = kerberos2.dementia.org admin_server = kerberos.dementia.org } stanford.edu = { kdc = krb5auth1.stanford.edu

LOUSSOUARN Mikaël Page 77 05/02/2008

Page 78: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

kdc = krb5auth2.stanford.edu kdc = krb5auth3.stanford.edu admin_server = krb5-admin.stanford.edu default_domain = stanford.edu } [domain_realm] .stage.local = STAGE.LOCAL stage.local = STAGE.LOCAL .mit.edu = ATHENA.MIT.EDU mit.edu = ATHENA.MIT.EDU .media.mit.edu = MEDIA-LAB.MIT.EDU media.mit.edu = MEDIA-LAB.MIT.EDU .csail.mit.edu = CSAIL.MIT.EDU csail.mit.edu = CSAIL.MIT.EDU .whoi.edu = ATHENA.MIT.EDU whoi.edu = ATHENA.MIT.EDU .stanford.edu = stanford.edu [login] krb4_convert = true krb4_get_tickets = false

Pour tester le protocole Kerberos:

kinit Administrateur

Entrer le mot de passe de l’administrateur sur le domaine, la console ne doit pas retourner d’erreur.

LOUSSOUARN Mikaël Page 78 05/02/2008

Page 79: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.7.6. Paramétrage de samba et de winbind

Editer le fichier /etc/samba/smb.conf et le modifier comme suit : Note : (les lignes en rouge montrent les changements effectués sur le fichier d’origine)

# # Sample configuration file for the Samba suite for Debian GNU/Linux. # # # This is the main Samba configuration file. You should read the # smb.conf(5) manual page in order to understand the options listed # here. Samba has a huge number of configurable options most of which # are not shown in this example # # Any line which starts with a ; (semi-colon) or a # (hash) # is a comment and is ignored. In this example we will use a # # for commentary and a ; for parts of the config file that you # may wish to enable # # NOTE: Whenever you modify this file you should run the command # "testparm" to check that you have not made any basic syntactic # errors. # #======================= Global Settings ======================= [global] ## Browsing/Identification ### # ////////////////////////////////////////////////// # Change this to the workgroup/NT-domain name your Samba server will part of realm = STAGE.LOCAL workgroup = STAGE # /////////////////////////////////////////////// # server string is the equivalent of the NT Description field server string = %h server # Windows Internet Name Serving Support Section: # WINS Support - Tells the NMBD component of Samba to enable its WINS Server ; wins support = no # WINS Server - Tells the NMBD components of Samba to be a WINS Client # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both ; wins server = w.x.y.z # This will prevent nmbd to search for NetBIOS names through DNS. dns proxy = no # What naming service and in what order should we use to resolve host names # to IP addresses ; name resolve order = lmhosts host wins bcast

LOUSSOUARN Mikaël Page 79 05/02/2008

Page 80: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

#### Networking #### # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred ; interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. ; bind interfaces only = true #### Debugging/Accounting #### # This tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/log.%m # Put a capping on the size of the log files (in Kb). max log size = 1000 # If you want Samba to only log through syslog then set the following # parameter to 'yes'. ; syslog only = no # We want Samba to log a minimum amount of information to syslog. Everything # should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log # through syslog you should set the following parameter to something higher. syslog = 0 # Do something sensible when Samba crashes: mail the admin a backtrace panic action = /usr/share/samba/panic-action %d ####### Authentication ####### # "security = user" is always a good idea. This will require a Unix account # in this server for every user accessing the server. See # /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html # in the samba-doc package for details. # ////////////////////////////// # security = user security = ads # ///////////////////////////// # You may wish to use password encryption. See the section on # 'encrypt passwords' in the smb.conf(5) manpage before enabling. encrypt passwords = true # If you are using encrypted passwords, Samba will need to know what # password database type you are using. passdb backend = tdbsam obey pam restrictions = yes

LOUSSOUARN Mikaël Page 80 05/02/2008

Page 81: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

; guest account = nobody invalid users = root # This boolean parameter controls whether Samba attempts to sync the Unix # password with the SMB password when the encrypted SMB password in the # passdb is changed. ; unix password sync = no # For Unix password sync to work on a Debian GNU/Linux system, the following # parameters must be set (thanks to Ian Kahan <<[email protected]> for # sending the correct chat script for the passwd program in Debian Sarge). passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* . # This boolean controls whether PAM will be used for password changes # when requested by an SMB client instead of the program listed in # 'passwd program'. The default is 'no'. ; pam password change = no ########## Domains ########### # Is this machine able to authenticate users. Both PDC and BDC # must have this setting enabled. If you are the BDC you must # change the 'domain master' setting to no # ; domain logons = yes # # The following setting only takes effect if 'domain logons' is set # It specifies the location of the user's profile directory # from the client point of view) # The following required a [profiles] share to be setup on the # samba server (see below) ; logon path = \\%N\profiles\%U # Another common choice is storing the profile in the user's home directory ; logon path = \\%N\%U\profile # The following setting only takes effect if 'domain logons' is set # It specifies the location of a user's home directory (from the client # point of view) ; logon drive = H: ; logon home = \\%N\%U # The following setting only takes effect if 'domain logons' is set # It specifies the script to run during logon. The script must be stored # in the [netlogon] share # NOTE: Must be store in 'DOS' file format convention ; logon script = logon.cmd # This allows Unix users to be created on the domain controller via the SAMR # RPC pipe. The example command creates a user account with a disabled Unix # password; please adapt to your needs ; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u

LOUSSOUARN Mikaël Page 81 05/02/2008

Page 82: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

########## Printing ########## # If you want to automatically load your printer list rather # than setting them up individually then you'll need this ; load printers = yes # lpr(ng) printing. You may wish to override the location of the # printcap file ; printing = bsd ; printcap name = /etc/printcap # CUPS printing. See also the cupsaddsmb(8) manpage in the # cupsys-client package. ; printing = cups ; printcap name = cups # When using [print$], root is implicitly a 'printer admin', but you can # also give this right to other users to add drivers and set printer # properties ; printer admin = @ntadmin ############ Misc ############ # Using the following line enables you to customise your configuration # on a per machine basis. The %m gets replaced with the netbios name # of the machine that is connecting ; include = /home/samba/etc/smb.conf.%m # Most people will find that this option gives better performance. # See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/speed.html # for details # You may want to add the following on a Linux system: # SO_RCVBUF=8192 SO_SNDBUF=8192 socket options = TCP_NODELAY # The following parameter is useful only if you have the linpopup package # installed. The samba maintainer and the linpopup maintainer are # working to ease installation and configuration of linpopup and samba. ; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' & # Domain Master specifies Samba to be the Domain Master Browser. If this # machine will be configured as a BDC (a secondary logon server), you # must set this to 'no'; otherwise, the default behavior is recommended. ; domain master = auto # /////////////////////////////////////////////////////////////// # Some defaults for winbind (make sure you're not using the ranges # for something else.) password server = pcvirtw2003svr.stage.local winbind separator = / idmap uid = 10000-20000 idmap gid = 10000-20000 template shell = /bin/bash template homedir = /home/%D/%U client use spnego = yes winbind use default domain = true ; ; The following was the default behaviour in sarge ; but samba upstream reverted the default because it might induce

LOUSSOUARN Mikaël Page 82 05/02/2008

Page 83: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

; performance issues in large organizations ; See #368251 for some of the consequences of *not* having ; this setting and smb.conf(5) for all details ; winbind enum groups = yes winbind enum users = yes #/////////////////////////////////////////////////////// #======================= Share Definitions ======================= [homes] comment = Home Directories browseable = no # By default, the home directories are exported read-only. Change next # parameter to 'yes' if you want to be able to write to them. writable = no # File creation mask is set to 0700 for security reasons. If you want to # create files with group=rw permissions, set next parameter to 0775. create mask = 0700 # Directory creation mask is set to 0700 for security reasons. If you want to # create dirs. with group=rw permissions, set next parameter to 0775. directory mask = 0700 # Restrict access to home directories # to the one of the authenticated user # This might need tweaking when using external authentication schemes valid users = %S # Un-comment the following and create the netlogon directory for Domain Logons # (you need to configure Samba to act as a domain controller too.) ;[netlogon] ; comment = Network Logon Service ; path = /home/samba/netlogon ; guest ok = yes ; writable = no ; share modes = no # Un-comment the following and create the profiles directory to store # users profiles (see the "logon path" option above) # (you need to configure Samba to act as a domain controller too.) # The path below should be writable by all users so that their # profile directory may be created the first time they log on ;[profiles] ; comment = Users profiles ; path = /home/samba/profiles ; guest ok = no ; browseable = no ; create mask = 0600 ; directory mask = 0700 [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes

LOUSSOUARN Mikaël Page 83 05/02/2008

Page 84: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

public = no writable = no create mode = 0700 # Windows clients look for this share name as a source of downloadable # printer drivers [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no # Uncomment to allow remote administration of Windows print drivers. # Replace 'ntadmin' with the name of the group your admin users are # members of. ; write list = root, @ntadmin # A sample share for sharing your CD-ROM with others. ;[cdrom] ; comment = Samba server's CD-ROM ; writable = no ; locking = no ; path = /cdrom ; public = yes # The next two parameters show how to auto-mount a CD-ROM when the # cdrom share is accesed. For this to work /etc/fstab must contain # an entry like this: # # /dev/scd0 /cdrom iso9660 defaults,noauto,ro,user 0 0 # # The CD-ROM gets unmounted automatically after the connection to the # # If you don't want to use auto-mounting/unmounting make sure the CD # is mounted on /cdrom # ; preexec = /bin/mount /cdrom ; postexec = /bin/umount /cdrom

Il faut créer le dossier destiné à servir de dossier de base aux utilisateurs du domaine sur la distribution linux et lui paramétrer les bonnes autorisations

mkdir /home/STAGE chmod 777 /home/STAGE

LOUSSOUARN Mikaël Page 84 05/02/2008

Page 85: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Pour activer l’authentification winbind sur la Debian, éditer le fichier /etc/nsswitch.conf comme suit :

# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat winbind group: compat winbind shadow: compat hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis

Lancer les services samba et winbind

/etc/init.d/samba start /etc/init.d/winbind start

8.7.7. Rejoindre le domaine

Pour rejoindre le domaine

net ads join

Pour tester l’intégration la commande suivante doit retourner la liste des utilisateurs du domaine

wbinfo -u

Retour au chapitre

LOUSSOUARN Mikaël Page 85 05/02/2008

Page 86: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.8. Installation et paramétrage des logiciels Squid et Squiguard sur une Debian Etch 4.0r intégrée à un domaine Windows.

Ce document détaille la mise en œuvre d’un serveur mandataire Linux permettant un

filtrage de la navigation Internet des utilisateurs d’un domaine Windows Active Directory.

8.8.1. Pré requis : La distribution Debian devra être intégrée au domaine comme détaillé dans le chapitre

intégration d’une distribution linux Debian au domaine

Note : Toutes les manipulations qui suivent sont faites en tant qu’administrateur du système Linux à savoir le compte root.

8.8.2. Données propres à l’exercice (à adapter selon les besoins):

Domaine : stage.local Contrôleur de domaine :

Nom netbios : pcvirtw2003svr nom DNS : pcvirtw2003svr.stage.local @ IP : 192.168.254.128/24

Debian : Nom netbios : debian nom DNS : debian.stage.local @IP : 192.168.254.129/24

8.8.3. Logiciels nécessaires :

Le logiciel de service mandataire (proxy) Squid Pour l’installation faire :

apt-get install squid

Le logiciel de filtrage de navigation Internet SquidGuard

apt-get install squidGuard

LOUSSOUARN Mikaël Page 86 05/02/2008

Page 87: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.8.4. Paramétrage de Squid

Tester l’authentification des utilisateurs du domaine ntlm_auth

/usr/bin/ntlm_auth --username=administrateur

Entrer le mot de passe administrateur, NT_STATUS_OK doit être retourné par la console.

Changer les autorisations du dossier /var/run/samba/winbindd_privileged

chmod –R 777 /var/run/samba/winbindd_privileged

Editer le fichier /etc/squid/squid.conf et modifier, ajouter les lignes comme suit :

# definir comment squid identifie les utilisateurs du domaine auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp auth_param ntlm children 5 #auth_param ntlm max_challenge_reuses 0 #auth_param ntlm max_challenge_lifetime 2 minutes auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic auth_param basic children 15 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 5 hours # definition des utilisateurs ayant le droit d’acceder acl NTLMUsers proxy_auth REQUIRED http_access allow all NTLMUsers # demander a squid de se comporter comme faisant partie du groupe root cache_effective_group proxy #cache_effective_group root # rediriger le filtrage des requetes internet vers le module squidGuard redirect_program /usr/bin/squidGuard redirect_children 4

LOUSSOUARN Mikaël Page 87 05/02/2008

Page 88: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.8.5. Paramétrage de Squidguard

Création des listes de sites interdits

Nous supposons que les listes de sites interdits à la navigation seront définies comme suit : list2, list3, list4 …. Nous procéderons à la création de ces listes depuis les listes fournies par l’université de Toulouse. Manipulations de création des listes :

cd mkdir telechargement cd telechargement wget ftp://ftp.univ-tlse1.fr/blacklist/blacklists.tar.gz tar –xvzf blacklists.tar.gz cd blacklists mkdir /var/lib/squidguard/db/lists mv adult /var/lib/squidguard/db/lists/list2 mv agressif /var/lib/squidguard/db/lists/list3 mv audio-video /var/lib/squidguard/db/lists/list4 mv mobile-phone /var/lib/squidguard/db/lists/list6 mv games /var/lib/squidguard/db/lists/list7 mv drogue /var/lib/squidguard/db/lists/list8 mv cleaning /var/lib/squidguard/db/lists/list9 mv tricheur /var/lib/squidguard/db/lists/list10 mv dangerous_material /var/lib/squidguard/db/lists/list13 mv forums /var/lib/squidguard/db/lists/list14 mv gambling/var/lib/squidguard/db/lists/list15 mv hacking /var/lib/squidguard/db/lists/list16 mv liste_bu /var/lib/squidguard/db/lists/list17 mv mixed_adult /var/lib/squidguard/db/lists/list18 mv pishing /var/lib/squidguard/db/lists/list19 mv publicite /var/lib/squidguard/db/lists/list20 mv radio /var/lib/squidguard/db/lists/list21 mv reaffected /var/lib/squidguard/db/lists/list22 mv redirector /var/lib/squidguard/db/lists/list23 mv sexual_education /var/lib/squidguard/db/lists/list24 mv strict_redirector /var/lib/squidguard/db/lists/list25 mv strong_redirector /var/lib/squidguard/db/lists/list26 mv warez /var/lib/squidguard/db/lists/list27 mv webmail /var/lib/squidguard/db/lists/list28 chown –R proxy /var/lib/squidguard/db chmod –R 760 /var/lib/squidguard/db cd .. rm –R *

Note : le nom des dossiers des listes provenant de l’université de Toulouse est parfois amené à changer.

A la suite de ces manipulations nous obtenons une liste de dossiers contenants les sites interdits dans le dossier /var/lib/squidguard/db.

LOUSSOUARN Mikaël Page 88 05/02/2008

Page 89: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Correspondance entre les listes écrites dans /var/lib/squidguard/db et la dénomination de l’université de Toulouse correspondant au besoin du site de l’exercice. liste: 1 blanche 2 adults 3 agressif 4 audio-video 6 mobile-phone 7 games 8 drogue 9 cleaning 10 tricheur 13 dangerous_material 12 defaut 14 forums 15 gambling 16 hacking 17 liste_bu 18 mixed_adult 19 phishing 20 publicite 21 radio 22 reaffected 23 redirector 24 sexual_education 25 strict_redirector 26 strong_redirector 27 warez 28 webmail

LOUSSOUARN Mikaël Page 89 05/02/2008

Page 90: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Création des listes des utilisateurs Il faut désormais créer une liste des utilisateurs pour les deux groupes des domaines enseignants et élèves pour pouvoir éventuellement leur accorder des droits de navigation différents. Le script Bash suivant créé ces deux listes :

#! /bin/bash # # lister des utilisateurs d'active directory pour les groupes eleves et profs # # le 2 dec 2007 par Mikael LOUSSOUARN pour le Lycee sacre coeur Angers # ###################################################################### # creation du dossier de destination mkdir /var/lib/squidguard/db/users/ # relance du service winbind /etc/init.d/winbind restart # reccuperation des users du groupe eleves et creation de la liste getent group | grep eleves | cut -d: -f4 | tr "," "\n">/var/lib/squidguard/db/users/1.user # reccuperation des users du groupe enseignants et creation liste getent group | grep enseignants | cut -d: -f4 | tr "," "\n">/var/lib/squidguard/db/users/2.user # placement des droits sur les dossiers chown –R proxy /var/lib/squidguard/db chmod –R 760 /var/lib/squidguard/db

Il faut copier ce script dans un éditeur de texte, le sauvegarder, lui attribuer les droits d’exécution ( chmod 700 [nom du script] ) et en console lancer : sh [nom du script] Nous obtenons des listes d’utilisateurs dans le dossier /var/lib/squidguard/db/users correspondantes aux deux listes des utilisateurs des groupes élèves et enseignants du domaine.

1.user = liste des élèves 2.user = liste des enseignants

Création de la page de redirection

Il faut créer une page internet destinée à être affichée en cas de refus de la connexion par le proxy, il conviendra d’héberger cette page sur un serveur Web accessible sur le réseau local. Tester l’accès à cette page avant de continuer.

LOUSSOUARN Mikaël Page 90 05/02/2008

Page 91: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Configuration de SquidGuard

Editer le fichier de configuration de Squiguard et le renseigner comme suit : Note : renseigner l’url de la page de redirection ainsi que vos définitions de contrôle d’accès.

# # CONFIG FILE FOR SQUIDGUARD # # definition du dossier contenant les listes des utilisateurs et des sites dbhome /var/lib/squidguard/db # definition du dossier de log (journal) logdir /var/log/squid # TIME RULES: # abbrev for weekdays: # s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat # horaires de connexion autorisee time workhours { weekly mtwhf 08:00 - 17:30 date *-*-01 08:00 - 17:30 } # SOURCE ADDRESSES: # definition de la source des utilisateurs eleves source user1 { userlist users/1.user } # definition de la source des utilisateurs enseignants source user2 { userlist users/2.user } # definition des listes de filtrage # note : definir une liste pour chacune des listes de filtrage dest list2 { domainlist lists/list2/domains urllist lists/list2/urls } # DESTINATION CLASSES: # dest good { } dest local { }

LOUSSOUARN Mikaël Page 91 05/02/2008

Page 92: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

# definition des controles d’acces acl { # definition des droits d’acces des élèves user1 { #ici les élèves ont acces a tout sauf au contenu de la list2 soit la categorie adult # un ! devant le nom de la list signifie le refus a son acces pass !list2 all # en cas de rejet de la page demandee rediriger vers la page de refus d’acces redirect http://[URL de la page de redirection] } # definition des droits d’acces des enseignants user2 { pass !list2 all redirect http://[URL de la page de redirection] } # definition des droits d’acces par defaut (utilisateurs non present dans les listes default { redirect http://[URL de la page de redirection] pass none }

LOUSSOUARN Mikaël Page 92 05/02/2008

Page 93: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Construire les bases de données de SquidGuard.

squidGuard –C all

Lancer le proxy Squid

/etc/init.d/squid start

Installer Sarg

apt-get install sarg

Les journaux d’évenements du serveur mandataire seront grâce à Sarg consultable via un navigateur Web à l’adresse : http://adresse_ip_serveur_Squid /squid-reports/ Sarg s’actualise sur le serveur Squid au moyen de la commande sarg, par défaut Sarg s’actualisera chaque nuit.

8.8.6. Autre solution : Utilisation d’un script d’administration Afin de faciliter l’installation du serveur mandataire ainsi que son administration, il est possible d’utiliser le script suivant. Le dossier Proxydebian doit impérativement être copié entièrement dans un dossier de la distribution destinée à devenir serveur mandataire. Lien vers le manuel d’utilisation. Le script se lance depuis le dossier ProxyDebian avec la commande sh proxydeb3. Retour au chapitre

LOUSSOUARN Mikaël Page 93 05/02/2008

Page 94: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Sources du script :

#!/bin/sh # # Script général d'installation et de configuration # d'un proxy squid squidguard sur une debian etch intégrée dans un domaine # le filtrage de la navigation internet est basé sur les utilisateurs du domaine # # Le 4/12/2007 par Mikael LOUSSOUARN ################################################################################# # # définition des fonctions # #################################### # fonction d'attente de la pression sur la touche enter function pauseE() { echo "<PRESS ENTER>" read } ############################################### # fonction redemarrage winbind function start_winbind() { /etc/init.d/samba restart /etc/init.d/winbind restart # ouverture des droits sur winbindd_privileged chmod -R 777 /var/run/samba/winbindd_privileged } ###################################### # Installation de samba winbind krb5-user ntpdate ( pack 1) function instalpack1() { clear echo "> Installation des logiciels ...." apt-get install samba winbind krb5-user ntpdate pauseE } ####################################### # relance du proxy function relancesquid() { /etc/init.d/squid stop start_winbind /etc/init.d/squid start } ############################################ # mise en place d'un script de demarrage du proxy automatique au demarrage function demar_auto_squid() { # creation du script echo ">mise en place d'un script de démarrage automatique du proxy" echo "#!/bin/sh">/etc/init.d/proxy echo "# demarrage automatique du proxy">>/etc/init.d/proxy echo "echo \"démarrage du proxy ....................\"">>/etc/init.d/proxy echo "# ouverture des droits sur winbindd_privileged">>/etc/init.d/proxy echo "chmod -R 777 /var/run/samba/winbindd_privileged">>/etc/init.d/proxy echo "/etc/init.d/squid start">>/etc/init.d/proxy # verification du script à l'écran echo ">visualisation du script :" tail /etc/init.d/proxy # rendre le script executable chmod 777 /etc/init.d/proxy # créer un lien pour le démarrage du script automatique pour remplacer ceux de samba,winbind et squid update-rc.d -f squid remove update-rc.d -f proxy remove update-rc.d squid stop 30 0 1 6 . update-rc.d proxy start 99 2 3 4 5 . echo "> Script inscrit au démarrage" pauseE }

LOUSSOUARN Mikaël Page 94 05/02/2008

Page 95: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

######################################## # demande des variables du réseau function renseigne() { clear echo " !! toutes les REPonses devront être en minuscules !!" echo "> Nom du domaine:" read DOMAINE echo "> nom NetBios contrôleur de domaine:" read CDNETBIOS CDDNS=$CDNETBIOS"."$DOMAINE echo "> non dns contrôleur du domaine :"$CDDNS echo "> Adresse IP du controlleur de domaine:" read CDIP echo "> Nom NetBios de la Debian:" read LNETBIOS LDNS=$LNETBIOS"."$DOMAINE echo "> nom DNS de la debian :"$LDNS echo "> Adresse IP de la debian:" read LIP echo "> masque du réseau :" read NETMASK echo "> Broadcast du réseau:" read BCAST echo "> Passerelle :" read PASS echo "> Ip du serveur DNS:" read DNSIP echo "Merci :)" pauseE } ############################################## #configuration du réseau function confNet() { clear echo "> configuration du réseau ..." # definition du fichier de destination FILE="/etc/network/interfaces" #effacement du fichier d'origine rm -f $FILE # creation du fichier echo "#The looback network interface">$FILE echo "auto lo">>$FILE echo "iface lo inet loopback">>$FILE echo "# The primary network interfaces">>$FILE echo "allow-hotplug eth0">>$FILE echo "iface eth0 inet static">>$FILE echo "address "$LIP>>$FILE echo "netmask "$NETMASK>>$FILE echo "broadcast "$BCAST>>$FILE echo "gateway "$PASS>>$FILE echo "gateway "$PASS>>/etc/networks echo $CDIP" "$CDDNS" "$CDNETBIOS>>/etc/hosts echo "nameserver "$DNSIP>>/etc/resolv.conf # relance de l'interface réseau ifdown eth0 ifup eth0 # fin echo "> vérification config réseau (ifconfig) ..." pauseE ifconfig pauseE } ###################################################### # synchronisation des horloges function synchron() { clear echo "> Synchronisation de l'horloge " # vérififier si la configuration du reseau a deja ete effectuee if [ "$DOMAINE" = "///" ] then conf;echo "reconfigurer avant le réseau";return fi # definition du fichier a configurer

LOUSSOUARN Mikaël Page 95 05/02/2008

Page 96: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

FILE="/etc/default/ntpdate" # effacement du fichier d'origine rm -f $FILE # creation du nouveau fichier echo "NTPDATE_USE_NTP_CONF=yes">$FILE echo "NTPSERVERS=\""$CDDNS"\"">>$FILE echo "NTOPTIONS=\"-u\"">>$FILE # synchronisation de l'horloge avec le controleur de domaine ntpdate $CDDNS pauseE } ######################################################### # paramétrage kerberos function kerberos() { # si le nom du domaine n'est pas présent en variable alors reconfigurer le #reseau if [ "$DOMAINE" = "///" ] then confNet synchron fi clear echo "> configuration du protocole Kerberos" # definition du fichier de configuration FILE="/etc/krb5.conf" # destruction du fichier d'origine rm -f $FILE # creation du nouveau fichier echo "[logging]">$FILE echo " default = FILE10000:/var/log/krb5lib.log">>$FILE echo "[libdefaults]">>$FILE echo " ticket_lifetime = 24000">>$FILE echo " default_realm = "`echo $DOMAINE | tr "[:lower:]" "[:upper:]"`>>$FILE echo " krb4_config = /etc/krb.conf">>$FILE echo " krb4_realms = /etc/krb.realms">>$FILE echo " kdc_timesync = 1">>$FILE echo " ccache_type = 4">>$FILE echo " forwardable = true">>$FILE echo " proxiable = true">>$FILE echo " v4_instance_resolve = false">>$FILE echo " v4_name_convert = {">>$FILE echo " host = {">>$FILE echo " rcmd = host">>$FILE echo " ftp = ftp">>$FILE echo " }">>$FILE echo " plain = {">>$FILE echo " something = something-else">>$FILE echo " }">>$FILE echo " }">>$FILE echo " fcc-mit-ticketflags = true">>$FILE echo "[realms]">>$FILE echo " "`echo $DOMAINE | tr "[:lower:]" "[:upper:]"`" = {">>$FILE echo " kdc = "$CDDNS>>$FILE echo " admin_server = "$CDDNS>>$FILE echo " default_domaine = "`echo $DOMAINE | tr "[:lower:]" "[:upper:]"`>>$FILE echo " }">>$FILE echo "[domain_realm]">>$FILE echo " ."$DOMAINE" = "`echo $DOMAINE | tr "[:lower:]" "[:upper:]"`>>$FILE echo " "$DOMAINE" = "`echo $DOMAINE | tr "[:lower:]" "[:upper:]"`>>$FILE echo "[login]">>$FILE echo " krb4_convert = true">>$FILE echo " krb4_get_tickets = false">>$FILE # test du protocole kerberos echo "> test du protocole kerberos ...." echo "> à la demande entrer le mot de passe adimistrateur du domaine..." pauseE kinit Administrateur pauseE } ################################################################ # paramètrage de samba et winbind function sambawinbind() { clear echo "> configuration samba et winbind" # stop samba et winbind

LOUSSOUARN Mikaël Page 96 05/02/2008

Page 97: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

/etc/init.d/samba stop /etc/init.d/winbind stop # definition du fichier de configuration FILE="/etc/samba/smb.conf" # effacement du fichier d'origine rm -f $FILE # creation du fichier REMPLACE=`echo $DOMAINE | tr [":lower:"] [":upper:"]` sed -e "s/STAGE.LOCAL/"$REMPLACE"/g" $PWD$FILE >$PWD/tampon REMPLACE=`echo $DOMAINE | tr [":lower:"] [":upper:"] | cut -d. -f1` sed -e "s/STAGE/"$REMPLACE"/g" $PWD/tampon >$PWD/tampon2 sed -e "s/pcvirtw2003svr.stage.local/"$CDDNS"/g" $PWD/tampon2>$FILE # creation repertoire utilisateur du domaine mkdir /home/`echo $DOMAINE | tr "[:lower:]" "[:upper:]" | cut -d. -f1` chmod 777 /home/`echo $DOMAINE | tr "[:lower:]" "[:upper:]" | cut -d. -f1` # definition du fichier de configuration FILE="/etc/nsswitch.conf" # destruction du fichier d'origine rm -f $FILE # creation du nouveau fichier echo "passwd: compat winbind">$FILE echo "group: compat winbind">>$FILE echo "shadow: compat">>$FILE echo " ">>$FILE echo "hosts: files dns">>$FILE echo "networks: files">>$FILE echo " ">>$FILE echo "protocols: db files">>$FILE echo "services: db files">>$FILE echo "ethers: db files">>$FILE echo "rpc: db files">>$FILE echo " ">>$FILE echo "netgroup nis">>$FILE # redemarrage de samba et winbind start_winbind # intégration au domaine echo "> l'ordinateur va rejoindre le domaine" pauseE echo "renseigner le mot de passe admin du domaine" net join -U Administrateur -S $CDNETBIOS pauseE # test de winbind wbinfo -u echo "> Si la liste des utilisateurs du domaine c'est bien affichée c'est OK" pauseE } ########################################################## # Installation de squid squidguard et apache( pack 2) function instalpack2() { clear echo "> Installation des logiciels Squid,SquidGuard et apache" apt-get install squid squidGuard apache pauseE } ########################################################### # obtenir les utilisateurs du domaine pour les groupes a filtrer function get_user() { clear echo "> obtention des listes d'utilisateurs du domaine pour squidGuard" # netoyage des précedentes listes rm -R -f /var/lib/squidguard/db/users # creation du dossier destination mkdir /var/lib/squidguard/db/users/ # redemarrage de winbindd pour raffraichir les utilisateurs start_winbind # nom du groupe utilisateur ? echo "nom du groupe d'utilisateur ( taper *FIN* pour finir)" read GRUSER # effacement du fichier de correspondances users rm -f $PWD/users # creation de la liste pour le groupe indiqué I=1 while [ "$GRUSER" != "*FIN*" ]

LOUSSOUARN Mikaël Page 97 05/02/2008

Page 98: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

do getent group | grep $GRUSER | cut -d: -f4 | tr "," "\n" >/var/lib/squidguard/db/users/$I.user # visualisation de la liste des utilisateurs echo "> Visualisation des listes des utilisateurs :" cat /var/lib/squidguard/db/users/$I.user if [ -e $PWD/users ] then echo $GRUSER" "$I".user" >>$PWD/users else echo $GRUSER" "$I".user" >$PWD/users fi # visualisation de l'etat des correspondances echo "> correspondances:" cat $PWD/users echo "nom du groupe d'utilisateur ( taper *FIN* pour finir)" read GRUSER I=`echo $(($I+1))` done # reaffectation des droits sur la base de données squid guard chown -R proxy /var/lib/squidguard/db/ chmod -R 770 /var/lib/squidguard/db/ echo "> liste des utilisateurs créées" pauseE } ############################################################################### #telechargement des listes de filtrage de l'université de toulouse avec verification de la correspondance #( fichier de corresponsance = ./corresponsdance a éditer si necessaire) function transf_lists() { echo "> téléchargement des listes de filtrage de l'université de toulouse" # creation du chemin de destination REPT="/var/lib/squidguard/db" # copie du fichier de corresponsdance dans la zone de données de #squidguard pour info cp $PWD/correspondances $REPT/correspondances # nettoyage et creation du dossier de telechargement rm -R -f $REPT/download mkdir $REPT/download # telechargement wget ftp://ftp.univ-tlse1.fr/blacklist/blacklists.tar.gz -O $REPT/download/blacklists.tar.gz echo "> Téléchargement des archives effectué" # decompression de l'archive echo "> Decompression ... " tar -xzf $REPT/download/blacklists.tar.gz -C $REPT/download/ echo "> decompression effectuée " clear # verification des correspondances # listage des dossiers telechargés echo "> Etat de la liste telechargée :" ls -C $REPT/download/blacklists pauseE # listage du contenu de correspondance pour comparaison echo "> Etat de la liste dans le fichier /root/correspondance" while read line do set $line if [ "$1" != "NONDEF" ] then echo -n $1 " | " fi done<$PWD/correspondances echo "................................" echo "> les listes correspondent (o/n) ?" read if [ "$R" = "n" ] then echo "!!! vous devez éditer le fichier /root/correspondances" echo "pour qu'il corresponde au contenu du dossier /var/lib/squidguard/db/download/ !" fi # effacement de l'archive rm -f $REPT/download/blacklists.tar.gz echo "> fin telechargement" pauseE } ##################################################################### # fonction de renommage des lists téléchargées

LOUSSOUARN Mikaël Page 98 05/02/2008

Page 99: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

function copie_lists() { clear echo "> transfert des listes telechargées vers la base de squidguard" # definition du repertoire de travail REPT="/var/lib/squidguard/db" # creation du dossier lists destinataire rm -R -f $REPT/lists mkdir $REPT/lists # parcours de la list de correspondances et deplacement des dossiers vers la base de données while read line do set $line if [ $1 = "" ] then break fi if [ $1 = "NONDEF" ] then echo -n "." else mv $REPT/download/blacklists/$1 $REPT/lists/$2 echo -n ">" fi done<$REPT/correspondances echo ">" # effacement des fichiers telechargés rm -R -f $REPT/download echo "> Listes transférées vers la base squidguard" pauseE } ################################################################# # réatribution des droits sur la base function reatribute_droits() { REPT="/var/lib/squidguard/db" chown -R proxy:proxy $REPT chmod -R 775 $REPT } ############################################################## # reconstruction des bases squidguard actuellement utilisées par le logiciel function reconstruc_bases() { REPT="/var/lib/squidguard/db" echo "> reconstruction des bases " /usr/bin/squidGuard -C all reatribute_droits pauseE } # reconstruction des bases squidguard situées dans le fichier temporaire, non #utilisé par le logiciel # doivent etre deplacées pour devenir active ( fonction install_list) function reconstruc_bases_temp() { REPT="/var/lib/squidguard/db" echo "> reconstruction des bases " /usr/bin/squidGuard -c $PWD/compileBases.conf -C all reatribute_droits pauseE } ################################################## # relance de squid function startsquid() { chmod -R 777 /var/run/samba/winbindd_privileged /etc/init.d/squid start } ####################################################### # stop squid function stop_squid() { /etc/init.d/squid stop } #####################################################"

LOUSSOUARN Mikaël Page 99 05/02/2008

Page 100: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

# reccuperation et installation des listes de filtrage # fonction génerale procedant au telechargement et au renomage des listes function telecharge() { clear echo "> reccuperation des listes de filtrage " # repertoire de travail REPT="/var/lib/squidguard/db" # telechargement des listes et verif correspondances transf_lists echo "> téléchargement effectué " # si les listes ne correspondent pas on ne continue pas if [ "$R" = "n" ] then echo " listes non créées !! ";return fi # renommage des listes copie_lists # reconstruction des bases de données suivant la liste telechargée dans 1 fichier non utilisé par #squid echo "> reconstruction des bases temporaires, Patience .." reatribute_droits reconstruc_bases_temp pauseE } ############################################################ # fonction devenue obsolete gardée pour memoire #function get_listes() #{ # REPertoire contenant les bases pour SquidGuard #REPT="/var/lib/squidguard/db" #copie_lists #echo " deplacement des listes effectué" #reatribute_droits #echo " listes transférées ( faire entrer) " #read #} #################################################### # installation des bases de données compilées depuis le repertoire temporaire jusqu'au repertoire de travail #de squidguard function installists() { clear echo "> Installation des bases compilées pour squidguard" echo "> dans son repertoire de travail" # repertoire de travail REPT="/var/lib/squidguard/db" # arret de squid stop_squid # nettoyage des bases de travail actuelle rm -R -f $REPT/bases mkdir $REPT/bases # copie des bases cp -R $REPT/lists $REPT/bases # placement des droits chown -R proxy:proxy $REPT chmod -R 775 $REPT # fin, relance de squid echo "> bases copiées , relance de squid .." reatribute_droits startsquid pauseE } ##################################################### # paramètrage de squid function squidconf() { clear start_winbind echo "> paramétrage de squid" # test de l'authentification ntlm" echo "> vérification de l'authentification ntlm :" echo "> vous allez être invité à entrer le mot de passe admin du domaine" echo "> vous devriez voir s'afficher un NT_STATUS_OK " /usr/bin/ntlm_auth --username=administrateur

LOUSSOUARN Mikaël Page 100 05/02/2008

Page 101: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

# attribution des droits necessaires a squid sur winbindd chmod -R 777 /var/run/samba/winbindd_privileged # copie du fichier de configuration cp -f $PWD/etc/squid/squid.conf /etc/squid/squid.conf chown proxy:proxy /etc/squid/squid.conf echo "> reprendre l'integration de la machine au domaine si echec" pauseE } #########################################################"" # paramétrage de squidguard function squidguardconf() { # obtenir la liste des users depuis ad get_user # ecriture definitions listes et users dans squidguard.conf # definition du fichier de configuration FILE="/etc/squid/squidGuard.conf" # purge de l'ancien fichier rm -f $FILE # creation du nouveau fichier echo "dbhome /var/lib/squidguard/db">$FILE echo "logdir /var/log/squid">>$FILE echo "#TIMES RULES">>$FILE echo "#abbrev for weekdays:">>$FILE echo "#s = sun , m= mon , t = tue , w = wed , h = thu , f = fri , a = sat">>$FILE echo "#horaires de connexion autorises :">>$FILE echo "#time workhours {">>$FILE echo "# weekly mtwhf 08:00 - 17:30">>$FILE echo "# date *-*-01 08:00 - 17:30">>$FILE echo "#}">>$FILE echo "# source adresses:">>$FILE # definition des sources utilisateurs while read line do set $line if [ "$1" = "" ] then break fi echo "#definition de la source utilisateurs $1">>$FILE echo "source "`echo $2 | cut -d. -f2``echo $2 | cut -d. -f1`" {">>$FILE echo "userlist users/$2">>$FILE echo "}">>$FILE done<$PWD/users # definition des sources de listes while read line do set $line if [ "$1" = "" ] then break fi if [ "$1" != "NONDEF" ] then echo "#definition de la source liste $1">>$FILE echo "dest $2 {">>$FILE echo "domainlist bases/lists/$2/domains">>$FILE echo "urllist bases/lists/$2/urls">>$FILE echo "}">>$FILE fi done<$PWD/correspondances # definition des acl echo "acl {">>$FILE # url de redirection REDIRECTION="http://localhost/Pageproxy.htm" # copie de la page dans le dossier www ( serveur apache) cp $PWD/Pageproxy.htm /var/www chmod 665 /var/www/Pageproxy.htm # afficher users echo "> groupes d'utilisateurs :" while : do cat $PWD/users # selectionner user echo "> Selectionner un groupe a filtrer(entrer le type 1.user):" echo "> entrer *FIN* pour finir "

LOUSSOUARN Mikaël Page 101 05/02/2008

Page 102: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

read GROUPUSER if [ "$GROUPUSER" = "*FIN*" ] then break fi FILETEMP=$PWD"/temporaire" # effacer le fichier temporaire rm -f $FILETEMP # creer acl avec toutes listes interdites dans fichier acl echo "# droits d'accès du groupe $GROUPUSER">>$FILETEMP echo `echo $GROUPUSER | cut -d. -f2``echo $GROUPUSER | cut -d. -f1`" {">>$FILETEMP echo -n "pass ">>$FILETEMP while read line do set $line if [ "$1" = "" ] then break fi if [ "$1" != "NONDEF" ] then echo -n " !$2 ">>$FILETEMP fi done<$PWD/correspondances echo "all">>$FILETEMP echo "redirect">>$FILETEMP echo $REDIRECTION>>$FILETEMP echo "}">>$FILETEMP while : do # afficher listes echo "> listes de filtrages (retenez le numero de celle a autoriser!) :" pauseE cat $PWD/correspondances | more echo "> liste a autoriser ? ( syntax de type list1 )" echo "> entrer *FIN* pour finir " read AUTORISE if [ "$AUTORISE" = "*FIN*" ] then break fi AREMPLACER="!"$AUTORISE sed -e "s/"$AREMPLACER"/"$AUTORISE"/g" $FILETEMP >$PWD/tampon3 done clear echo " visualisation de l'acl " cat $PWD/tampon3 2>/dev/null pauseE if [ -e $PWD/tampon3 ] then cat $PWD/tampon3>>$FILE else cat $FILETEMP>>$FILE fi done # ecriture acl default dans squidguard.conf echo "# droits d'acces par defaut">>$FILE echo "default {">>$FILE echo " redirect $REDIRECTION">>$FILE echo " pass none">>$FILE echo "}">>$FILE echo "}">>$FILE # donner les droits sur le fichier au proxy chown proxy:proxy $FILE echo "> arret de squid" stop_squid echo "> redemarrage de squid" startsquid pauseE } ################################ # voir les logs d'acces au proxy function logacces() { clear; tail /var/log/squid/access.log | more pauseE }

LOUSSOUARN Mikaël Page 102 05/02/2008

Page 103: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

################################ # voir les logs de squid guard function logsquidguard() { clear; tail /var/log/squid/squidGuard.log | more pauseE } ################################# Zone principale ###############################" # marqueur de definition du reseau DOMAINE="///" # menu while : do clear echo " ----- INSTALLATION ----------" echo " 0 - Installation compète" echo " -------- OUTILS ---------------" echo " 1 _ Configuration du réseau" echo " 2 - Installation du pack logiciel pour integration domaine" echo " 3 - Intégration au domaine" echo " 4 - installation du pack logiciel pour proxy" echo " 5 - configuration squid et squid guard" echo " 6 - mise à jour des utilisateurs pour le proxy" echo " 7 - téléchargement des listes de filtrage pour le proxy" echo " 8 - installation des listes telechargées ( necessite 7 )" echo " 9 - configuration des regles de filtrages" echo " 10- recompilation des bases" echo " 11- Relance du proxy" echo " 12-Voir les logs d'accès au proxy" echo " 13-Voir les logs de squidguard" echo " --------------------------------" echo " 14- sortie." echo " Votre choix :" read CHOIX case $CHOIX in 0)renseigne;confNet;instalpack1;synchron;kerberos;sambawinbind;instalpack2;squidconf;squidguardconf;telecharge;installists;demar_auto_squid;; 1)renseigne;confNet;; 2)instalpack1;; 3)synchron;kerberos;sambawinbind;; 4)instalpack2;; 5)squidconf;squidguardconf;; 6)get_user;; 7)telecharge;; 8)installists;; 9)squidguardconf;; 10)reconstruc_bases_temp;installists;; 11)relancesquid;; 12)logacces;; 13)logsquidguard;; 14)break;; 15)demar_auto_squid;; esac done

LOUSSOUARN Mikaël Page 103 05/02/2008

Page 104: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.9. Manuel d’installation d’un serveur mandataire sur un serveur Debian Ecth au moyen d’un script dédié.

Ce document détaille l’utilisation du script proxydeb3 à des fins d’installation et de

configuration d’un serveur mandataire sur une distribution Linux Debian Ecth.

En tant que root : Pour lancer le script, aller dans le dossier ProxyDebian et entrer la commande : sh proxydeb3

Visualisation du menu d’administration : Choisir 0 pour une installation complète.

Renseigner les informations de configuration du réseau.

LOUSSOUARN Mikaël Page 104 05/02/2008

Page 105: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Le script visualise l’état de la configuration réseau, si les adresses IP ne correspondent pas quitter le script ( ctrl C ) et recommencer. Faire <entrer>

Installation des logiciels samba et winbind nécessaires à l’intégration de la machine au domaine windows. Valider l’installation par o.

Installation …

Vous pouvez ignorer cette étape. Faire <ok>

LOUSSOUARN Mikaël Page 105 05/02/2008

Page 106: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Choisir <non>

Fin de l’installation. Faire <entrer>

Synchronisation de l’horloge de la Debian avec celle du contrôleur de domaine. Faire <entrer>

LOUSSOUARN Mikaël Page 106 05/02/2008

Page 107: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Vérification du protocole KERBEROS Il s’agit d’un kinit administrateur. Entrer le mot de passe administrateur du domaine Faire <entrer>

Configuration de samba et winbind. Intégration de la Debian au domaine Windows : Faire <entrer> Entrer le mot de passe administrateur du domaine Faire <entrer>

Normalement vous obtenez un message d’accueil dans le domaine. Faire <entrer>

Visualisation de la liste des utilisateurs du domaine pour vérification de la bonne intégration au domaine. Faire <entrer> Si cela ne fonctionne pas quitter le script , stopper samba et winbind et relancer le script.

LOUSSOUARN Mikaël Page 107 05/02/2008

Page 108: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Installation des logiciels nécessaires au serveur mandataire. (squid squidguard et apache ) Accepter l’installation par o.

Installation des logiciels Faire <entrer>

Paramétrage de Squid Entrez le mot de passe administrateur du domaine pour vérifier l’authentification ntlm.

NT_STATUS_OK doit s’afficher. Faire <entrer>

LOUSSOUARN Mikaël Page 108 05/02/2008

Page 109: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Obtention de la liste des utilisateurs du domaine par groupe à filtrer par le proxy. Entrez un nom de groupe du domaine à filtrer.

La liste des membres du groupe s’affiche. Un état des correspondances entre le groupe et son numéro de liste pour squidguard s’affiche. Entrer un autre nom de groupe

Tapez *FIN* lorsque vous avez renseignez tous les groupes du domaine dont la navigation Internet devra être filtrée par le serveur mandataire.

La liste des utilisateurs est créée.

LOUSSOUARN Mikaël Page 109 05/02/2008

Page 110: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Configuration du filtrage Internet (ACL) Entrez le nom du groupe utilisateur à filtrer (Syntaxe de type 1.user) Faire <entrer>

La liste des listes de filtrages disponible va s’afficher, il faut retenir le numéro des listes que l’on souhaite autoriser. Par défauts toutes les listes sont définies comme non autorisées. Faire <entrer>

Entrer une liste a autorisé Syntaxe de type list[n° liste] Exemple : list17 Faire <entrer>

Dès que toutes les listes autorisées sont renseignées faire *FIN* Faire <entrer>

LOUSSOUARN Mikaël Page 110 05/02/2008

Page 111: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Visualisation de la règle de filtrage établie pour squidguard. Faire <entrer>

Entrer éventuellement un autre groupe à filtrer.

Opération d’autorisation de la list17 (liste_bu) pour le groupe 2.user (enseignants).

Faire *FIN* pour finir la définition des listes autorisées.

LOUSSOUARN Mikaël Page 111 05/02/2008

Page 112: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Visualisation de la règle de filtrage. Faire <entrer>

Une fois que tous les groupes a filtrer ont été définis, tapez *FIN* au lieu d’un nom de groupe. Faire <entrer>

Redémarrage de squid pour prise en compte de la nouvelle configuration de squid guard.

Téléchargement des listes de filtrage depuis l’université de Toulouse.

LOUSSOUARN Mikaël Page 112 05/02/2008

Page 113: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Vérification de la correspondance entre les listes téléchargées et celle du site d’installation. Si vous souhaitez modifier les listes du site d’installation alors vous devez modifier le fichier de correspondances qui est : ProxyDebian/correspondances

Les listes sont transférées dans un répertoire temporaire. Faire <entrer>

Les listes sont traitées pour créer des bases de données utilisables par squidguard. Cette opération peut-être longue. La compilation est faites sur le répertoire temporaire pour ne pas devoir stopper le serveur mandataire.

Fin de la reconstruction.

LOUSSOUARN Mikaël Page 113 05/02/2008

Page 114: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Les bases de données construites sont transférées vers le répertoire de travail du serveur mandataire, ceci nécessite un arrêt du proxy.

Les bases sont copiées. Le Proxy redémarre.

Modification de la séquence de démarrage du Proxy pour lui permettre d’être directement opérationnel après un redémarrage de l’ordinateur.

Retour au menu d’administration. Faire « 14 » pour en sortir. Le Proxy est opérationnel. Les outils permettent de modifier ensuite la configuration, de mettre à jour les listes ou encore de visualiser les accès.

Retour au chapitre

LOUSSOUARN Mikaël Page 114 05/02/2008

Page 115: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.10. Installation d’un serveur de messagerie Postfix sur une Debian Etch

Ce document traite de la mise en place d’un serveur de messagerie Postfix sur une distribution Linux Debian Etch pour usage dans un domaine active directory.

8.10.1. Pré requis : La distribution Debian devra être intégrée au domaine comme détaillé dans le chapitre

intégration d’une distribution linux Debian au domaine

Note : Toutes les manipulations qui suivent sont faites en tant qu’administrateur du système Linux à savoir le compte root.

8.10.2. Données propres à l’exercice (à adapter selon les besoins):

Domaine : stage.local Contrôleur de domaine :

Nom netbios : pcvirtw2003svr nom DNS : pcvirtw2003svr.stage.local @ IP : 192.168.254.128/24

Debian : Nom netbios : debian nom DNS : debian.stage.local @IP : 192.168.254.129/24

Prestataire collecteur de courriers depuis l’extérieur : Gmail : serveur pop : Port : Login : [email protected] mot de passe: XXXXXXX

Prestataire pour l’envoi du courrier via service smtp : Smtp.wanadoo : 193.252.22.91

8.10.3. Logiciels nécessaires : Le service de messagerie électronique Postfix

apt-get install postfix

Note : dans l’interface de configuration de l’installation choisir type internet par FAI Le service d’accès aux messages électroniques IMAP courier-imap apt-get install courier-imap

LOUSSOUARN Mikaël Page 115 05/02/2008

Page 116: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Le logiciel de distribution de courriers électroniques Procmail Inclus dans l’installation de postfix Le service de récupération de courriers électroniques Fetchmail

apt-get install fetchmail

L’antivirus Clamav (et amavis pour permettre l’interaction entre postfix et clamav)

apt-get install amavisd-new clamav clamav-daemon clamav-freshclam

L’anti-spam spamassassin

apt-get install spamassassin

8.10.4. Paramétrage de Postfix Le fichier principal de configuration de Postfix est /etc/postfix/main.cf, Editer ce fichier au moyen d’un éditeur de texte (vi ou nano par exemple). Commande : #nano /etc/postfix/main.cf (en bleu les données propres à votre site)

# See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no setgid_group = postdrop mail_owner = postfix # utiliser un alias pour envoyer du courrier ( juste pour plateforme test) sender_canonical_maps = hash:/etc/postfix/sender_canonical # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h myhostname = debian.stage.local

LOUSSOUARN Mikaël Page 116 05/02/2008

Page 117: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

mydomain = [ICI METTRE LE NOM DE VOTRE DOMAINE RECONNU SUR LE NET] masquerade_domains = $mydomain alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = $mydomain mydestination = debian.stage.local, localhost.stage.local, localhost, $mydomain relay_domain = $mydomain relayhost = 193.252.22.91 mynetworks = 127.0.0.0/8 192.168.254.0/24 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all # Nous indiquons que les Boîtes e-mail (au format maildir) des utilisateurs seront stockées # # dans $HOME/Maildir/ home_mailbox = Maildir/ # TLS parameters smtpd_tls_cert_file=/etc/ssl/cert/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_cache smtp_tls_session_cache_database = btree:${queue_directory}/smtp_cache #Paramètre pour l'intéraction avec Amavis pour le filtrage avec ClamAV : #content_filter = smtp-amavis:[127.0.0.1]:10024 # Sécurisation avancée de Postfix : mécanismes de filtrages internes smtpd_proxy_ehlo = antispam.securitysage.com smtp_send_xforward_command = yes smtpd_client_connection_count_limit=10 disable_vrfy_command = yes smtpd_etrn_restriction = reject message_size_limit = 32768000 bounce_size_limit = 65536 header_size_limit = 32768 smtpd_recipient_limit = 128 smtpd_timeout = 180 strict_rfc821_envelopes = yes allow_untrusted_routing = no smtpd_soft_error_limit = 10 smtpd_hard_error_limit = 20 smtpd_error_sleep_time = 1s smtpd_data_restrictions = reject_unauth_pipelining smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains,reject_unauth_destination, reject_unknown_sender_domain, reject_unknown_recipient_domain,reject_non_fqdn_sender, reject_non_fqdn_recipient,

LOUSSOUARN Mikaël Page 117 05/02/2008

Page 118: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

reject_unauth_pipelining,reject_unverified_sender, reject_unverified_recipient, reject_multi_recipient_bounce,reject_rhsbl_client blackhole.securitysage.com, reject_rhsbl_sender blackhole.securitysage.com,reject_rbl_client relays.ordb.org smtpd_helo_required = yes smtpd_helo_restrictions = smtpd_client_restrictions = smtpd_sender_restrictions = header_checks = regexp:/etc/postfix/header_checks body_checks = regexp:/etc/postfix/body_checks Enregistrer et quitter le fichier.

8.10.5. Sécurité Pour indiquer à Postfix qu’il doit utiliser le service Amavis pour contrôler les mails envoyés, il faut rajouter à la fin du fichier /etc/postfix/main.cf les lignes suivantes :

# demander d'utiliser amavis pour le filtrage antivirus content_filter = smtp-amavis:[127.0.0.1]:10024

Enregistrer et quitter le fichier. Il faut modifier le fichier /etc/postfix/master.cf pour permettre l’interaction entre Postfix et l’antivirus Clamav via Amavis Il faut rajouter les lignes suivantes à la fin du fichier /etc/postfix/master.cf

#Amavis smtp-amavis unix - - y - 2 smtp -o smtp_data_done_timeout=1200 -o disable_dns_lookups=yes 127.0.0.1:10025 inet n - y - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes Note: attention de bien laisser au moins un espace pour les lignes commençant par –o Enregistrer et quitter le fichier.

LOUSSOUARN Mikaël Page 118 05/02/2008

Page 119: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Si le serveur de messagerie doit rediriger certaines adresses au moyen d’alias ceci ce configure dans le fichier /etc/aliases sous la syntaxe : alias :Nom_de_compte_mail[, Nom_de_compte_mail, …] Pour faire prendre en compte les alias à postfix il faut exécuter la commande : # newaliases si le serveur de messagerie reçoit un mail pour alias@domaine il le transmet à Nom_de_compte_mail@domaine. Afin de scanner les en-têtes et les corps de messages transitant par le serveur de messagerie il faut installer deux fichiers, à savoir body_checks et header_checks Les commandes suivantes permettent de télécharger ces deux fichiers et de les copier dans le répertoire /etc/postfix

# cd /etc/postfix # wget http://miguelmary.free.fr/howto/files/body_checks # wget http://miguelmary.free.fr/howto/files/header_checks

Ces deux fichiers contiennent une liste d’entêtes ou de contenus connus pour être du courrier indésirable, il est possible d’adapter ces listes aux besoins du site de mise en œuvre. (Merci à l’auteur http://miguelmary.free.fr ) Il faut ensuite faire indexer ces deux fichiers par postfix au moyen des commandes suivantes :

# postmap /etc/postfix/body_checks # postmap /etc/postfix/header_checks Ces deux commandes sont à relancer à chaque nouvelle mise à jour des deux fichiers de filtrage. Note : afin de vérifier qu’il n’y a pas des mails importants rejetés par cette politique de filtrage, il convient d’exécuter de temps à autre la commande suivante :

# egrep ‘(reject|error|fatal|panic):’ /var/log/mail.log | less Configuration de spamassassin pour compléter le traitement des courriels indésirables : Editer le fichier /etc/spamassassin/local.rf et le modifier comme suit :

LOUSSOUARN Mikaël Page 119 05/02/2008

Page 120: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

# This is the right place to customize your installation of SpamAssassin. # # See 'perldoc Mail::SpamAssassin::Conf' for details of what can be # tweaked. # # Only a small subset of options are listed below # ########################################################################### # Add *****SPAM***** to the Subject header of spam e-mails # rewrite_subject 1 rewrite_header Subject *****SPAM***** # Save spam messages as a message/rfc822 MIME attachment instead of # modifying the original message (0: off, 2: use text/plain instead) # # report_safe 1 # Set which networks or hosts are considered 'trusted' by your mail # server (i.e. not spammers) # # trusted_networks 212.17.35. # Set file-locking method (flock is not safe over NFS, but is faster) # # lock_method flock # Set the threshold at which a message is considered spam (default: 5.0) # # required_score 5.0 required_hits 3.1 ok_language fr en # Use Bayesian classifier (default: 1) # use_bayes 1 # Bayesian classifier auto-learning (default: 1) # # bayes_auto_learn 1 auto_learn 1

LOUSSOUARN Mikaël Page 120 05/02/2008

Page 121: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

# Set headers which may provide inappropriate cues to the Bayesian # classifier # # bayes_ignore_header X-Bogosity # bayes_ignore_header X-Spam-Flag # bayes_ignore_header X-Spam-Status Enregistrer et quitter: Modifier comme suit également le fichier /etc/default/spamassassin # /etc/default/spamassassin # Duncan Findlay # WARNING: please read README.spamd before using. # There may be security risks. # Change to one to enable spamd ENABLED=1 # Options # See man spamd for possible options. The -d option is automatically added. # SpamAssassin uses a preforking model, so be careful! You need to # make sure --max-children is not set to anything higher than 5, # unless you know what you're doing. OPTIONS="--create-prefs --max-children 5 --helper-home-dir" # Pid file # Where should spamd write its PID to file? If you use the -u or # --username option above, this needs to be writable by that user. # Otherwise, the init script will not be able to shut spamd down. PIDFILE="/var/run/spamd.pid" # Set nice level of spamd #NICE="--nicelevel 15" Enregistrer et quitter

LOUSSOUARN Mikaël Page 121 05/02/2008

Page 122: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.10.6. Configuration du serveur IMAP (hébergement des courriers utilisateurs)

La configuration du logiciel courier-imap est fonctionnelle par défaut mais il faut créer les dossiers de courrier des utilisateurs. Aucun utilisateur du domaine n’étant encore créé sur le serveur Linux il est possible de configurer une création automatique du dossier imap à la première connexion de l’utilisateur. La connexion de l’utilisateur du domaine se fera via le service de partage de fichier SAMBA mais ceci est détaillé dans un autre chapitre : Pour créer automatiquement un dossier de courrier pour chaque nouvel utilisateur faire :

#cd /etc/skel #maildirmake Maildir #maildirmake -f envois Maildir #maildirmake -f brouillons Maildir #maildirmake -f poubelle Maildir #maildirmake -f modeles Maildir #maildirmake -f spam Maildir Puisque nos utilisateurs ne se connecteront sur le serveur de messagerie via une connexion distante authentifiée auprès d’Active Directory au moyen du service winbind il faut autoriser l’authentification winbind auprès du service IMAP. Ceci ce configure via le fichier /etc/pam.d/imap qu’il faut renseigner comme suit :

#%PAM-1.0 auth sufficient /lib/security/pam_winbind.so account sufficient /lib/security/pam_winbind.so session required /lib/security/pam_mkhomedir.so umask=0022 auth sufficient pam_unix.so nullok account sufficient pam_unix.so password sufficient pam_unix.so session required pam_unix.so Note : pour les utilisateurs bénéficiant déjà d’un répertoire home sur la machine serveur de messagerie, il convient de créer les boîtes de courrier IMAP à la racine de leur home via la commande maildirmake.

LOUSSOUARN Mikaël Page 122 05/02/2008

Page 123: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.10.7. Configuration de procmail (service de distribution des courriers électroniques)

Le service procmail inclus dans le logiciel Postfix est en charge de la distribution des courriers électroniques dans les boîtes mail des destinataires. A ce niveau il est possible de préciser à procmail de dialoguer avec le logiciel spamassassin afin de filtrer une nouvelle fois les mails pouvant être indésirables (spam). Un fichier de configuration procmail pour chacun des utilisateurs est nécessaire, il est intéressant une nouvelle fois de placer un fichier de configuration type dans le répertoire squelette servant à la construction des répertoires homes des futurs utilisateurs. Ainsi, comme pour les boîtes de courrier celui-ci sera créé à chaque nouvel utilisateur connecté au serveur. Il faut donc créer un fichier .procmailrc dans /etc/skel et le renseigner comme suit :

SHELL=/bin/bash MAILDIR=$HOME/Maildir/ DEFAULT=$MAILDIR/ LOGFILE=/var/log/procmailrc.log LOCKFILE=$HOME/lockfile.lock ASSASSINLOCK=$HOME/assassin.lock SPAM=$HOME/Maildir/.spam/ TRASH=$HOME/Maildir/.poubelle VERBOSE=yes LOGABSTRACT=all :0 * ^To:.*[email protected] * < 256000 { :0c: spamassassin.spamlock | sa-learn --spam :0 $SPAM } :0 * ^To:.*[email protected] * < 256000 { :0c: spamassassin.hamlock | sa-learn --ham :0 $TRASH } :0fw: $ASSASSINLOCK | spamc :0 * ^X-Spam-Flag: YES

LOUSSOUARN Mikaël Page 123 05/02/2008

Page 124: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

$SPAM Enregistrer et quitter. Note: un utilisateur spam devra être créé sur le serveur afin de réceptionner les mails indésirables (il appartiendra à l’administrateur de purger régulièrement cette boîte de courrier) Important : il faut donner au fichier créé .procmail les droits d’accès nécessaires via la commande :

# chmod 600 /etc/skel/.procmailrc Il faut aussi créer le fichier destinataire du journal de procmail:

# touch /var/log/procmailrc.log # chmod 666 /var/log/procmailrc.log

8.10.8. Configuration du service de récolte des courriers auprès du prestataire de messagerie : Fetchmail.

Afin que fetchmail se comporte comme un service et qu’il puisse se lancer automatiquement à la mise en route du serveur il convient de renseigner le fichier /etc/default/fetchmail comme suit :

# This file will be used to declare some vars for fetchmail # # Uncomment the following if you dont want localized log messages # export LC_ALL=C # Declare here if we want to start fetchmail. 'yes' or 'no' START_DAEMON=yes Ensuite le fichier de configuration /etc/fetchmailrc permet de renseigner comment fetchmail doit se comporter (fréquence de prise des mails) et comment il doit se connecter au serveur du prestataire.

# /etc/fetchmailrc for system-wide daemon mode # This file must be chmod 0600, owner fetchmail # Daemon configuration # These two are set in /etc/default/fetchmail set daemon 1500 # Pool every 5 minutes #set syslog # log through syslog facility set no bouncemail # avoid loss on 4xx errors # on the other hand, 5xx errors get # more dangerous... #############################################

LOUSSOUARN Mikaël Page 124 05/02/2008

Page 125: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

############################# # Hosts to pool ########################################################################## # Defaults =============================================================== # Set antispam to -1, since it is far safer to use that together with #no bouncemail defaults: antispam -1 batchlimit 100 #poll foo.bar.org with protocol pop3 # user baka there is localbaka here; poll pop.gmail.com with protocol pop3 port 995 localdomains stage.local envelope X-Envelope-To user [email protected] password XXXXXX is * ssl Pour que ceci fonctionne un utilisateur collecteur devra avoir un compte chez le prestataire de messagerie sous le compte [email protected] (gmail est un exemple) et ce compte devra collecter l’ensemble des mails destinés aux utilisateurs du domaine. Enregistrer et quitter le fichier. Il faut donner au fichier créé, fetchmailrc, les droits d’accès nécessaires via la commande :

# chmod 600 /etc/fetchmailrc

LOUSSOUARN Mikaël Page 125 05/02/2008

Page 126: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.10.9. Configuration du service de connexion réseau et de partage de fichiers SAMBA

Une problématique importante de notre serveur de messagerie est qu’il doit être capable de reconnaître les utilisateurs du domaine et de les identifier, cette authentification est réalisée par winbind comme décrit dans le chapitre intégration d’une distribution debian au domaine Active directory. Nos utilisateurs du domaine sont reconnus sur le serveur mais n’existent pas réellement en tant qu’utilisateurs locaux du serveur toutefois nos utilisateurs du domaine doivent sur le serveur de messagerie posséder impérativement chacun une boite courrier et ce dès leur première connexion au serveur. Un moyen de créer les boîtes courrier dès la première connexion au serveur est de connecter un lecteur réseau sur un dossier partagé du serveur de messagerie. Il convient alors de créer un script d’ouverture de session sur l’annuaire active directory connectant un lecteur réseau automatiquement sur le partage samba. Pour le réaliser il faut faire les manipulations suivantes : Créer un fichier d’extension .bat contenant les lignes suivantes (avec notepad par exemple) : net use Z: \\debian\netlogon net use Z: /delete Enregistrer ce fichier dans le répertoire partagé : \\Pcvirtw2003svr\NETLOGON Où Pcvirtw2003svr est le nom netbios de votre contrôleur de domaine. Dans l’exemple il est nommé mapping_mx.bat Note : Il faut adapter la lettre du lecteur réseau aux éventuels lecteurs existants sur les ordinateurs du domaine (prendre une lettre non utilisée).

Sur le contrôleur de domaine : Ouvrir une session en tant qu’administrateur du domaine Ouvrir la console utilisateurs et ordinateurs d’active directory

LOUSSOUARN Mikaël Page 126 05/02/2008

Page 127: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Sélectionner l’unité d’organisation contenant vos utilisateurs du domaine.

Faire clic droit puis Propriétés

Sélectionner l’onglet Stratégie de groupe Cliquer sur Nouveau

Donner un nom explicite à la stratégie créée Double cliquer sur la stratégie créée

LOUSSOUARN Mikaël Page 127 05/02/2008

Page 128: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Sélectionner la racine de la stratégie

Faire un clic droit, choisir propriétés

LOUSSOUARN Mikaël Page 128 05/02/2008

Page 129: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Cocher désactiver les paramètres de configuration de l’ordinateur Faire ok puis appliquer

Sélectionner dans configuration utilisateur les paramètres windows Puis sélectionner Scripts (ouverture, fermeture de session) Double cliquer

LOUSSOUARN Mikaël Page 129 05/02/2008

Page 130: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Double cliquer sur ouverture de session

Cliquer sur ajouter

LOUSSOUARN Mikaël Page 130 05/02/2008

Page 131: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Cliquer sur parcourir

Parcourir le dossier NETLOGON pour y sélectionner le script mapping_mx.bat

Faire ok

LOUSSOUARN Mikaël Page 131 05/02/2008

Page 132: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Faire appliquer puis ok

Clic droit sur la stratégie de groupe puis sélectionner Ne pas passer outre Faire ok Fermer la console.

LOUSSOUARN Mikaël Page 132 05/02/2008

Page 133: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Il rester à configurer les dossiers partagés auprès du service SAMBA sur le serveur LINUX La configuration de SAMBA s’effectue par le fichier /etc/samba/smb.conf qu’il convient de modifier comme suivant : (les instructions en rouges montrent les changements à effectuer)

# # Sample configuration file for the Samba suite for Debian GNU/Linux. # # # This is the main Samba configuration file. You should read the # smb.conf(5) manual page in order to understand the options listed # here. Samba has a huge number of configurable options most of which # are not shown in this example # # Any line which starts with a ; (semi-colon) or a # (hash) # is a comment and is ignored. In this example we will use a # # for commentary and a ; for parts of the config file that you # may wish to enable # # NOTE: Whenever you modify this file you should run the command # "testparm" to check that you have not made any basic syntactic # errors. # #======================= Global Settings ======================= [global] ## Browsing/Identification ### # ////////////////////////////////////////////////// # Change this to the workgroup/NT-domain name your Samba server will part of realm = STAGE.LOCAL workgroup = STAGE # /////////////////////////////////////////////// # server string is the equivalent of the NT Description field server string = %h server # Windows Internet Name Serving Support Section: # WINS Support - Tells the NMBD component of Samba to enable its WINS Server ; wins support = no # WINS Server - Tells the NMBD components of Samba to be a WINS Client # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both ; wins server = w.x.y.z # This will prevent nmbd to search for NetBIOS names through DNS. dns proxy = no

LOUSSOUARN Mikaël Page 133 05/02/2008

Page 134: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

# What naming service and in what order should we use to resolve host names # to IP addresses ; name resolve order = lmhosts host wins bcast #### Networking #### # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred ; interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. ; bind interfaces only = true #### Debugging/Accounting #### # This tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/log.%m # Put a capping on the size of the log files (in Kb). max log size = 1000 # If you want Samba to only log through syslog then set the following # parameter to 'yes'. ; syslog only = no # We want Samba to log a minimum amount of information to syslog. Everything # should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log # through syslog you should set the following parameter to something higher. syslog = 0 # Do something sensible when Samba crashes: mail the admin a backtrace panic action = /usr/share/samba/panic-action %d ####### Authentication ####### # "security = user" is always a good idea. This will require a Unix account # in this server for every user accessing the server. See # /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html # in the samba-doc package for details. # ////////////////////////////// # security = user

LOUSSOUARN Mikaël Page 134 05/02/2008

Page 135: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

security = ads # ///////////////////////////// # You may wish to use password encryption. See the section on # 'encrypt passwords' in the smb.conf(5) manpage before enabling. encrypt passwords = true # If you are using encrypted passwords, Samba will need to know what # password database type you are using. passdb backend = tdbsam obey pam restrictions = yes ; guest account = nobody invalid users = root # This boolean parameter controls whether Samba attempts to sync the Unix # password with the SMB password when the encrypted SMB password in the # passdb is changed. ; unix password sync = no # For Unix password sync to work on a Debian GNU/Linux system, the following # parameters must be set (thanks to Ian Kahan <<[email protected]> for # sending the correct chat script for the passwd program in Debian Sarge). passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* . # This boolean controls whether PAM will be used for password changes # when requested by an SMB client instead of the program listed in # 'passwd program'. The default is 'no'. ; pam password change = no ########## Domains ########### # Is this machine able to authenticate users. Both PDC and BDC # must have this setting enabled. If you are the BDC you must # change the 'domain master' setting to no # ; domain logons = yes # # The following setting only takes effect if 'domain logons' is set # It specifies the location of the user's profile directory # from the client point of view) # The following required a [profiles] share to be setup on the # samba server (see below) ; logon path = \\%N\profiles\%U # Another common choice is storing the profile in the user's home directory ; logon path = \\%N\%U\profile

LOUSSOUARN Mikaël Page 135 05/02/2008

Page 136: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

# The following setting only takes effect if 'domain logons' is set # It specifies the location of a user's home directory (from the client # point of view) ; logon drive = H: ; logon home = \\%N\%U # The following setting only takes effect if 'domain logons' is set # It specifies the script to run during logon. The script must be stored # in the [netlogon] share # NOTE: Must be store in 'DOS' file format convention ; logon script = logon.cmd # This allows Unix users to be created on the domain controller via the SAMR # RPC pipe. The example command creates a user account with a disabled Unix # password; please adapt to your needs ; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u ########## Printing ########## # If you want to automatically load your printer list rather # than setting them up individually then you'll need this ; load printers = yes # lpr(ng) printing. You may wish to override the location of the # printcap file ; printing = bsd ; printcap name = /etc/printcap # CUPS printing. See also the cupsaddsmb(8) manpage in the # cupsys-client package. ; printing = cups ; printcap name = cups # When using [print$], root is implicitly a 'printer admin', but you can # also give this right to other users to add drivers and set printer # properties ; printer admin = @ntadmin ############ Misc ############ # Using the following line enables you to customise your configuration # on a per machine basis. The %m gets replaced with the netbios name # of the machine that is connecting ; include = /home/samba/etc/smb.conf.%m # Most people will find that this option gives better performance. # See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/speed.html # for details # You may want to add the following on a Linux system:

LOUSSOUARN Mikaël Page 136 05/02/2008

Page 137: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

# SO_RCVBUF=8192 SO_SNDBUF=8192 socket options = TCP_NODELAY # The following parameter is useful only if you have the linpopup package # installed. The samba maintainer and the linpopup maintainer are # working to ease installation and configuration of linpopup and samba. ; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' & # Domain Master specifies Samba to be the Domain Master Browser. If this # machine will be configured as a BDC (a secondary logon server), you # must set this to 'no'; otherwise, the default behavior is recommended. ; domain master = auto # /////////////////////////////////////////////////////////////// # Some defaults for winbind (make sure you're not using the ranges # for something else.) password server = 192.168.254.128 winbind separator = / idmap uid = 10000-20000 idmap gid = 10000-20000 template shell = /bin/bash template homedir = /home/%D/%U client use spnego = yes winbind use default domain = true ; ; The following was the default behaviour in sarge ; but samba upstream reverted the default because it might induce ; performance issues in large organizations ; See #368251 for some of the consequences of *not* having ; this setting and smb.conf(5) for all details ; winbind enum groups = yes winbind enum users = yes #/////////////////////////////////////////////////////// #======================= Share Definitions ======================= [homes] comment = Home Directories browseable = no # By default, the home directories are exported read-only. Change next # parameter to 'yes' if you want to be able to write to them. writable = yes # File creation mask is set to 0700 for security reasons. If you want to # create files with group=rw permissions, set next parameter to 0775. create mask = 0700

LOUSSOUARN Mikaël Page 137 05/02/2008

Page 138: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

# Directory creation mask is set to 0700 for security reasons. If you want to # create dirs. with group=rw permissions, set next parameter to 0775. directory mask = 0700 # Restrict access to home directories # to the one of the authenticated user # This might need tweaking when using external authentication schemes valid users = %S # Un-comment the following and create the netlogon directory for Domain Logons # (you need to configure Samba to act as a domain controller too.) [netlogon] comment = Network Logon Service path = /home/netlogon writable = no browseable = no create mask = 0755 directory mask = 0755 # Un-comment the following and create the profiles directory to store # users profiles (see the "logon path" option above) # (you need to configure Samba to act as a domain controller too.) # The path below should be writable by all users so that their # profile directory may be created the first time they log on ;[profiles] ; comment = Users profiles ; path = /home/samba/profiles ; guest ok = no ; browseable = no ; create mask = 0600 ; directory mask = 0700 [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes public = no writable = no create mode = 0700 # Windows clients look for this share name as a source of downloadable # printer drivers [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no # Uncomment to allow remote administration of Windows print drivers.

LOUSSOUARN Mikaël Page 138 05/02/2008

Page 139: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

# Replace 'ntadmin' with the name of the group your admin users are # members of. ; write list = root, @ntadmin # A sample share for sharing your CD-ROM with others. ;[cdrom] ; comment = Samba server's CD-ROM ; writable = no ; locking = no ; path = /cdrom ; public = yes # The next two parameters show how to auto-mount a CD-ROM when the # cdrom share is accesed. For this to work /etc/fstab must contain # an entry like this: # # /dev/scd0 /cdrom iso9660 defaults,noauto,ro,user 0 0 # # The CD-ROM gets unmounted automatically after the connection to the # # If you don't want to use auto-mounting/unmounting make sure the CD # is mounted on /cdrom # ; preexec = /bin/mount /cdrom ; postexec = /bin/umount /cdrom Ensuite, il faut créer le dossier correspondant au partage réseau, Faire en ligne de commande sur le serveur linux :

# mkdir /home/netlogon Puis attribuer les droits nécessaires sur ce dossier

# chown -R root:root /home/netlogon # chmod –R 0755 /home/netlogon

LOUSSOUARN Mikaël Page 139 05/02/2008

Page 140: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Enfin pour permettre à l’utilisateur de créer en local sur le serveur ses dossiers personnels selon le squelette prévu, il faut configurer le module PAM de la debian pour permettre à une connexion authentifiée via winbind (et donc samba) d’obtenir la création des dossiers personnels de l’utilisateur. Ceci ce configure dans les fichiers suivants qu’ils faudra renseigner comme suit : Fichier /etc/pam.d/common-account # # /etc/pam.d/common-account - authorization settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authorization modules that define # the central access policy for use on the system. The default is to # only deny service to users whose accounts are expired in /etc/shadow. # account sufficient pam_winbind.so account sufficient pam_unix.so Fichier /etc/pam.d/common-password # # /etc/pam.d/common-password - password-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define the services to be #used to change user passwords. The default is pam_unix # The "nullok" option allows users to change an empty password, else # empty passwords are treated as locked accounts. # # (Add `md5' after the module name to enable MD5 passwords) # # The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in # login.defs. Also the "min" and "max" options enforce the length of the # new password. password required pam_unix.so nullok obscure min=4 max=8 md5 # Alternate strength checking for password. Note that this # requires the libpam-cracklib package to be installed. # You will need to comment out the password line above and # uncomment the next two in order to use this. # (Replaces the `OBSCURE_CHECKS_ENAB', `CRACKLIB_DICTPATH') # # password required pam_cracklib.so retry=3 minlen=6 difok=3 # password required pam_unix.so use_authtok nullok md5

LOUSSOUARN Mikaël Page 140 05/02/2008

Page 141: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Fichier /etc/pam.d/common-auth # # /etc/pam.d/common-auth - authentication settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authentication modules that define # the central authentication scheme for use on the system # (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the # traditional Unix authentication mechanisms. # auth sufficient pam_winbind.so auth sufficient pam_unix.so nullok_secure Fichier /etc/pam.d/common-session # # /etc/pam.d/common-session - session-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define tasks to be performed # at the start and end of sessions of *any* kind (both interactive and # non-interactive). The default is pam_unix. # session required pam_unix.so session required pam_mkhomedir.so umask=0022 skel=/etc/skel Fichier /etc/pam.d/samba @include common-auth @include common-account @include common-session Relancer le serveur Debian Le serveur de messagerie est désormais opérationnel Il est possible maintenant de mettre en place le serveur internet pour accueillir l’application EgroupWare. Retour au chapitre

LOUSSOUARN Mikaël Page 141 05/02/2008

Page 142: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.11. Installation du serveur Web, Php et MySQL sur une Debian Etch

Ce document traite de la mise en place d’un serveur Web Apache2 sur une distribution Linux Debian Etch avec la prise en charge de PHP et du SGBD MySQL dans le but de faire fonctionner l’application php Egroupware. Pré requis : Une distribution Linux Debian Etch installée

Note : Toutes les manipulations qui suivent sont faites en tant qu’administrateur du système Linux à savoir le compte root.

8.11.1. Logiciels nécessaires : Le serveur Web Apache2

# apt-get install apache2 Le serveur PHP avec les extensions qui seront nécessaires à EgroupWare

# apt-get install php5 php5-mysql php5-imap php-pear php5-gd Le serveur de gestion de bases de données mySQL

# apt-get install mysql-server

8.11.2. Configuration du serveur PHP Editer le fichier de configuration : /etc/php5/apache2/php.ini Modifier ce fichier comme suit :

(...) max_execution_time = 30 max_input_time = 60 memory_limit = 1024M mbstring.func_overload = 7 post_max_size = 1020M upload_max_filesize = 1018M safe_mode = On (...) sql.safe-mode=Off (…) Enregistrer puis quitter.

LOUSSOUARN Mikaël Page 142 05/02/2008

Page 143: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Redémarrer le serveur Apache2 En ligne de commande faire :

# /etc/init.d/apache2 restart

8.11.3. Configuration du serveur de gestion de bases de données MySQL

Il faut sécuriser le serveur MySQL : Attribuer un mot de passe à l’administrateur mySQL En ligne de commande faire :

# mysqladmin –u root password ‘mysqlpassword’ Et restreindre l’accès au serveur SQL localement: Editer le fichier /etc/mysql/my.conf et le modifier comme suit :

(…) bind-address = 127.0.0.1 (…) Enregistrer et quitter Redémarrer le serveur mysql En ligne de commande faire :

# /etc/init.d/mysql restart Retour au chapitre

LOUSSOUARN Mikaël Page 143 05/02/2008

Page 144: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.12. Installation d’EgroupWare Ce document traite de l’installation du logiciel de travail collaboratif EgroupWare sur une distribution Linux Debian Etch

8.12.1. Pré requis : Un serveur de messagerie avec gestion des dossiers IMAP doit être installé et

fonctionnel. Un serveur Web acceptant le PHP doit être installé sur le serveur Un serveur de gestion de base de données mySQl doit être installé sur le serveur.

Note : Toutes les manipulations sur la distribution Linux sont faites en tant qu’administrateur du système Linux à savoir le compte root.

8.12.2. Données propres à l’exercice (à adapter selon les besoins):

Domaine : stage.local Contrôleur de domaine :

Nom netbios : pcvirtw2003svr nom DNS : pcvirtw2003svr.stage.local @ IP : 192.168.254.128/24

Debian : Nom netbios : debian nom DNS : debian.stage.local @IP : 192.168.254.129/24

Rôles : serveur de messagerie Postfix , serveur IMAP, serveur WEB apache2, serveur PHP5, serveur de base de données MySQL.

8.12.3. Préparation de l’installation d’EgroupWare. Le logiciel EgroupWare nécessite l’installation de la bibliothèque de logiciels Pear. En ligne de commande en tant que root sur le serveur Debian, faire :

# pear install log # pear install –fa HTTP_WebDAV_server

LOUSSOUARN Mikaël Page 144 05/02/2008

Page 145: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.12.4. Installation d’EgroupWare

Préparation sur le serveur en ligne de commandes. Téléchargement et décompression de EgroupWare 1.4 En ligne de commande en tant que root sur le serveur Debian, faire : #wget http://ovh.dl.sourceforge.net/sourceforge/egroupware/eGroupWare-1.4.002.tar.gz # tar xvfz eGroupWare-1.4.002.tar.gz –C /var/www/

Ainsi les fichiers d’EgroupWare sont installés à la racine du serveur Web Apache2. Il reste quelques modifications à y effectuer pour modifier le comportement d’un formulaire qui est défaillant, pour installer un nouveau module pear et pour modifier le module de création de graphiques. En ligne de commande en tant que root sur le serveur Debian, faire : #wget http://www.nabble.com/file/p13359215/composeForm.tpl # cp –f composeForm.tpl /var/www/egroupware/felamimail/templates/default/

Le formulaire défaillant est ainsi remplacé. En ligne de commande en tant que root sur le serveur Debian, faire : #wget http://ovh.dl.sourceforge.net/sourceforge/egroupware/eGroupWare-egw-pear-1.4.002.tar.gz # tar xvfz eGroupWare-egw-pear-1.4.002.tar.gz # cp –R egroupware/egw-pear /var/www/egroupware/

Le module supplémentaire pear pour EgroupWare est installé En ligne de commande en tant que root sur le serveur Debian, faire : #wget http://moravel.100webspace.net/egroupware/jpgraph_scr.tar.gz # tar xvfz jpgraph_scr.tar.gz # cp –f R jpgraph_scr/scr /var/www/egroupware/projectmanager/inc/jpgraph-1.5.2

Le module de création de graphiques jpgraph est ainsi corrigé

LOUSSOUARN Mikaël Page 145 05/02/2008

Page 146: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Il faut également installer une police de caractère particulière : En ligne de commande en tant que root sur le serveur Debian, faire :

#wget http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.tar.gz # tar xvfz ttf-bitstream-vera-1.10.tar.gz # cp –f R ttf-bitstream-vera-1.10/* /usr/X11R6/lib/X11/fonts/truetype

Il reste à placer les droits nécessaires sur les fichiers (le serveur web doit pouvoir accéder aux fichiers d’egroupware) En ligne de commande en tant que root sur le serveur Debian, faire : #chown –R www-data:www-data /var/www/egroupware

Il faut également créer deux dossiers qui seront nécessaires à Egroupware : En ligne de commande en tant que root sur le serveur Debian, faire : #mkdir /var/egwfiles #mkdir /backup # chown –R www-data:www-data /var/egwfiles # chown –R www-data:www-data /backup

Installation graphique via navigateur Internet

Sur un ordinateur du réseau local lancer un navigateur Internet (IE, Firefox) et entrer l’adresse suivante:

http://192.168.254.129/egroupware/setup Note : ici 192.168.254.129 est l’adresse Ip du serveur Debian hébergeant EgroupWare.

Choisir la langue du logiciel : ici français puis cliquer sur Démarrage de la procédure de vérification

LOUSSOUARN Mikaël Page 146 05/02/2008

Page 147: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Vérification de l’installation :

Si des erreurs apparaissent il faut les corriger (ici les droits sur les fichiers d’Egroupware sont en lecture écriture pour tous, ce n’est pas souhaitable)

Cliquer sur continuer vers la configuration de l’entête

LOUSSOUARN Mikaël Page 147 05/02/2008

Page 148: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

LOUSSOUARN Mikaël Page 148 05/02/2008

Page 149: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Ici on procède à la configuration du fichier d’entête d’Egroupware, il convient de renseigner les champs suivants :

Identifiant Administrateur pour le gestionnaire d’entête : Administrateur (correspondra au compte administrateur du domaine dans notre exemple)

Mot de passe de l’administrateur pour le gestionnaire d’entête : XXXXXX (mot de

passe de l’administrateur du domaine sur le domaine)

Domaine : stage.local

Nom de la base de données : egroupware

Utilisateur de la base de données : egroupware

Mot de passe d’accès à la base de données : XXXXXX (mot de passe root pour mysql)

Identifiant de configuration : Administrateur

Mot de passe de configuration : XXXXXX

Cliquer ensuite sur Ecrire pour générer le fichier d’entête.

LOUSSOUARN Mikaël Page 149 05/02/2008

Page 150: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Cliquer sur continuer

Ecran de configuration :

Entrer le login Administrateur et son mot de passe dans les champs page de connexion pour la configuration et l’installation.

Cliquer sur Login

LOUSSOUARN Mikaël Page 150 05/02/2008

Page 151: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Dans le champ DB root password entrer le mot de passe root de mysql Cliquer sur Créer la base de données

Cliquer sur revérifier mon installation

LOUSSOUARN Mikaël Page 151 05/02/2008

Page 152: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Cliquer sur Installer toutes les applications

Cliquer sur revérifier mon installation

LOUSSOUARN Mikaël Page 152 05/02/2008

Page 153: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Cliquer sur Modifier ma configuration actuelle

LOUSSOUARN Mikaël Page 153 05/02/2008

Page 154: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

LOUSSOUARN Mikaël Page 154 05/02/2008

Page 155: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Renseigner les champs comme suit (pour authentification via active directory) :

Entrez le chemin complet pour les fichiers temporaires : /tmp Entrez le chemin complet pour les fichiers d'utilisateurs et de groupes :/var/egwfiles Entrez le chemin complet vers le répertoire de sauvegarde : /backup Entrez le nom de la machine sur laquelle ce serveur s'exécute: 192.168.254.129 Nom d'hôte ou adresse IP du serveur de messagerie POP/IMAP: 192.168.254.129 Protocole Mail server: IMAP Domaine Mail (pour Virtual mail manager): [Domaine du site reconnu sur Internet, ex : cefoc49.com] Nom d'hôte ou adresse IP du serveur SMTP: 192.168.254.129 Choisissez quel type d'authentification vous utilisez: ADS Choisissez où vous voulez stocker/récupérer les informations de comptes utilisateurs: SQL Connexion automatique avec utilisateur anonyme: OUI Permettre la migration des mots de passe: OUI Créer automatiquement les enregistrements de comptes pour les utilisateurs authentifiés:OUI Les comptes d'utilisateur auto-créés expirent: JAMAIS Ajouter les utilisateurs auto-créés à ce groupe ('Par défaut' sera tenté si ceci est vide.):groupe Hôte/IP du contrôleur de Domaine: 192.168.254.128 Nom du domaine: stage.local

Cliquer sur enregistrer

LOUSSOUARN Mikaël Page 155 05/02/2008

Page 156: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Cliquer sur Création du compte administrateur

Renseigner les renseignements sur l’administrateur et cliquer sur Enregistrer

LOUSSOUARN Mikaël Page 156 05/02/2008

Page 157: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

EgroupWare est désormais installé et fonctionnel. Cliquer sur Revenir à l’accueil utilisateur. Il reste à configurer le site et particulièrement le groupe qui accueillera tous les

nouveaux utilisateurs d’egroupware

Entrer le login et le mot de passe de l’administrateur du domaine Cliquer sur Login

LOUSSOUARN Mikaël Page 157 05/02/2008

Page 158: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Cliquer sur l’icône de configuration

LOUSSOUARN Mikaël Page 158 05/02/2008

Page 159: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Cliquer sur groupes utilisateurs

Cliquer sur Ajouter

LOUSSOUARN Mikaël Page 159 05/02/2008

Page 160: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Entrer le nom du groupe, sélectionner les utilisateurs membres de ce groupe Rappel : les nouveaux utilisateurs seront par défaut membres de ce groupe.

Cocher les autorisations pour ce groupe Cliquer sur soumettre les changements

LOUSSOUARN Mikaël Page 160 05/02/2008

Page 161: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

Vous pouvez utiliser désormais Egroupware avec n’importe quel utilisateur déclaré sur le domaine, il bénéficiera d’un compte egroupware et d’un compte de messagerie du type Login@domaine (compte de messagerie actif auprès du serveur postfix installé avant Egroupware)

Note Importante : Les utilisateurs du domaine doivent avoir obligatoirement leurs noms renseignés dans l’objet utilisateur Active Directory, dans le cas contraire EgroupWare ne créer pas automatiquement un utilisateur dans sa base de données à la connexion. Retour au chapitre

LOUSSOUARN Mikaël Page 161 05/02/2008

Page 162: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.13. Script bash de synchronisation des comptes Active Directory / OpenLDAP

#!/bin/bash # # obtenir la liste des utilisateurs de l'annuaire ldap # # le 12/12/2007 par mikael Loussouarn ########################## # définition de la variable domaine DOMAINE="stage.local" DC1=`echo $DOMAINE | cut -d. -f1` DC2=`echo $DOMAINE | cut -d. -f2` DC="dc=${DC1},dc=${DC2}" ADMIN="cn=admin,dc=${DC1},dc=${DC2}" PASS="adminpw" ############################# # fonction obtenir la liste des utilisateurs présents dans le Ldap # liste mise dans fichier UserLdap.txt function GetUserLdap() { SORTIE=${PWD}"/UserLdap.txt" rm -f $SORTIE touch $SORTIE # recherche dans l'annuaire , sortie d'un listing complet avec attributs ldapsearch -x -b $DC "objectClass=inetOrgPerson" -LLL >tampon # reccupération dans le listing du seul attribut cn: while read line do CHAMP=`echo $line | cut -d: -f2` MARQUE=`echo $line | cut -d: -f1` if [ "$MARQUE" = "cn" ] then echo $CHAMP>>$SORTIE fi done <tampon # effacement des lignes vides sed "/ /d" $SORTIE>tampon cat tampon>$SORTIE # effecament du fichier tampon rm -f tampon } #################################### # fonction interroger AD pour obtenir la liste des utilisateurs # liste mise dans fichier UserAd.txt function GetUserAd() { # redémarrage de winbind pour mise à jour users /etc/init.d/winbind restart sleep 5 # definition du fichier de sorie SORTIE=${PWD}"/UserAd.txt" # intérrogation des users du domaine AD par winbind wbinfo -u >$SORTIE # suppression du compte invité sed -e "/invit*/d" $SORTIE>tampon cat tampon>$SORTIE } ################ # fonction ajouter l'utilisateur dans LDAP function ajoutUser() { # definition du fichier de configuration ldap LDIF=${PWD}"/fichier.ldif" # purge d'un eventuel fichier existant rm -f $LDIF # renseignement du fichier echo "dn: cn=$USER,dc=$DC1,dc=$DC2">$LDIF echo 'userPassword: "{SASL}${USER}@${DOMAINE}"'>>$LDIF echo "objectClass: inetOrgPerson">>$LDIF

LOUSSOUARN Mikaël Page 162 05/02/2008

Page 163: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

echo "cn: $USER">>$LDIF echo "givenName: $USER">>$LDIF echo "sn: $USER">>$LDIF # ajout des fiches du fichier à l'annuaire LDAP ldapadd -x -D $ADMIN -w $PASS -f $LDIF } ####################### # fonction effacer utilisateur dans LDAP function supprUser() { # definition du fichier de configuration ldap LDIF=${PWD}"/fichier.ldif" # purge d'un eventuel fichier existant rm -f $LDIF # renseignement du fichier echo "dn: cn=$USER,dc=$DC1,dc=$DC2">$LDIF echo "changetype: delete">>$LDIF # suppression fiches du fichier à l'annuaire LDAP ldapadd -x -D $ADMIN -w $PASS -f $LDIF } #################### # corps de programme # comparaison entre utilisateurs ad et ldap # maj des utilisateurs de ldap depuis ceux d'ad ########################## # definition des fichiers d'etat users ad et ldap USERLDAP=${PWD}"/UserLdap.txt" USERAD=${PWD}"/UserAd.txt" # obtenir les utilisateurs de AD GetUserAd # obtenir les utilisateurs de ldap GetUserLdap # comparer les utilisateurs ad avec ceux ldap , au besoin ajouter user dans ldap while read line do USER=$line if grep $USER $USERLDAP>/dev/null then echo " ">/dev/null else ajoutUser fi done<$USERAD # comparer les utilisateurs ldap avec ceux ad , au besoin supprimer user dans ldap while read line do USER=$line if grep $USER $USERAD>/dev/null then echo " ">/dev/null else supprUser fi done<$USERLDAP Retour au chapitre

LOUSSOUARN Mikaël Page 163 05/02/2008

Page 164: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.14. Installer l’image serveur virtuel

Sur le contrôleur de domaine créer l’entrée DNS correspondant au serveur du projet (enregistrement de type A)

Copier sur le disque dur de l’hôte le fichier disque virtuel et son fichier de configuration (voir capture ci-dessous)

Lancer VmWare player (logiciel gratuit) . Choisir « open » Sélectionner le fichier de configuration (.vmx) correspondant au serveur à installer Lancer l’ordinateur virtuel Se loguer en tant que root (administrateur du serveur) Exécuter le script /root/configuration/configuration.sh avec la commande :

# sh configuration.sh Répondre aux questions du script une à une A la fin du script l’ordinateur redémarre Se reloguer en tant que root Lancer les commandes suivantes (pour créer les boîtes mails de l’administrateur et

du compte destiné à recevoir le spam) : # su administrateur (où administrateur est l’administrateur du domaine) # exit # su spam ( où spam est le nom de compte que vous avez choisi pour recevoir le spam) # exit

Suivre la documentation sur l’installation finale du logiciel EgroupWare depuis un navigateur Internet d’un ordinateur de votre réseau en suivant les instructions que vous trouverez à l’adresse http://IP_DE_VOTRE_SERVEUR_INSTALLE/instal.htm

Votre serveur mandataire et de travail collaboratif est opérationnel. Retour au chapitre

LOUSSOUARN Mikaël Page 164 05/02/2008

Page 165: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

8.15. Sources du script de configuration de l’image virtuelle : #!/bin/sh # # Script général de configuration d'un serveur proxy / messagerie / egroupware # A partir d'une image debian pré-établie # # # Le 22/01/2007 par Mikael LOUSSOUARN Pour le lycée Sacré Coeur d'Angers ############################################### # # définition des fonctions # #################################### # fonction d'attente de la pression sur la touche enter function pauseE() { echo "<PRESS ENTER>" read } ############################################### # fonction redemarrage winbind function start_winbind() { /etc/init.d/samba restart /etc/init.d/winbind restart # ouverture des droits sur winbindd_privileged chmod -R 777 /var/run/samba/winbindd_privileged sleep 10 } ####################################### # relance du proxy function relancesquid() { /etc/init.d/squid stop start_winbind /etc/init.d/squid start } ######################################## # demande des variables du réseau function renseigne() { clear echo " !! toutes les Réponses devront être en minuscules !!" echo "> Nom du domaine:" read DOMAINE echo "> nom NetBios contrôleur de domaine:" read CDNETBIOS CDDNS=$CDNETBIOS"."$DOMAINE echo "> non dns contrôleur du domaine :"$CDDNS echo "> Adresse IP du controlleur de domaine:" read CDIP echo "> Nom NetBios de la Debian:" read LNETBIOS LDNS=$LNETBIOS"."$DOMAINE echo "> nom DNS de la debian :"$LDNS echo "> Adresse IP de la debian:" read LIP echo "> masque du réseau :" read NETMASK echo "> Broadcast du réseau:" read BCAST echo "> Passerelle :" read PASS echo "> Ip du serveur DNS:" read DNSIP echo "> IP du serveur Smtp pour courrier sortant ( exemple wanadoo c'est : 193.252.22.91 ) :" read SMTP echo "> Adresse du réseau ( exemple : 192.168.254.0/24 , respecter la syntaxe ! :" read RESEAU echo "> Adresse mail pour les spams ( sous la forme spam@domaine )" read SPAMMAIL echo "> Adresse mail de l'administrateur ( sous la forme administrateur@domaine ) :" read ADMINMAIL

LOUSSOUARN Mikaël Page 165 05/02/2008

Page 166: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

echo "> Adresse mail du compte collecteur chez le prestataire de messagerie :" read COLLECTOR echo "> Nom du serveur pop du prestataire de messagerie ( exemple pop.gmail.com ) :" read POP echo "> numéro de port du serveur pop du prestataire de messagerie :" read PORTPOP echo "> mot de passe du compte collecteur de messagerie (caractère ? non supporté par l'installateur):" read PASSPOP echo "> Délai entre deux collectes des mails auprès du prestataire de messagerie (en secondes) :" read FREQFETCH echo "> Entrer le nom de domaine reconnu comme domaine valide à l'extérieur :" read DOMRECON echo "Merci :)" pauseE } ############################################## #configuration du réseau function confNet() { clear echo "> configuration du réseau ..." # definition du fichier de destination FILE="/etc/network/interfaces" #effacement du fichier d'origine rm -f $FILE # creation du fichier echo "#The looback network interface">$FILE echo "auto lo">>$FILE echo "iface lo inet loopback">>$FILE echo "# The primary network interfaces">>$FILE echo "allow-hotplug eth0">>$FILE echo "iface eth0 inet static">>$FILE echo "address "$LIP>>$FILE echo "netmask "$NETMASK>>$FILE echo "broadcast "$BCAST>>$FILE echo "gateway "$PASS>>$FILE echo "gateway "$PASS>>/etc/networks echo $CDIP" "$CDDNS" "$CDNETBIOS>>/etc/hosts echo "search localdomain" >/etc/resolv.conf echo "nameserver "$DNSIP>>/etc/resolv.conf # relance de l'interface réseau ifdown eth0 ifup eth0 # fin echo "> vérification config réseau (ifconfig) ..." pauseE ifconfig pauseE } ###################################################### # synchronisation des horloges function synchron() { clear echo "> Synchronisation de l'horloge " # vérififier si la configuration du reseau a deja ete effectuee if [ "$DOMAINE" = "///" ] then conf;echo "reconfigurer avant le réseau";return fi # definition du fichier a configurer FILE="/etc/default/ntpdate" # effacement du fichier d'origine rm -f $FILE # creation du nouveau fichier echo "NTPDATE_USE_NTP_CONF=yes">$FILE echo "NTPSERVERS=\""$CDDNS"\"">>$FILE echo "NTOPTIONS=\"-u\"">>$FILE # synchronisation de l'horloge avec le controleur de domaine ntpdate $CDDNS pauseE } ######################################################### # paramétrage kerberos function kerberos() {

LOUSSOUARN Mikaël Page 166 05/02/2008

Page 167: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

# si le nom du domaine n'est pas présent en variable alors reconfigurer le reseau if [ "$DOMAINE" = "///" ] then confNet synchron fi clear echo "> configuration du protocole Kerberos" # definition du fichier de configuration FILE="/etc/krb5.conf" # destruction du fichier d'origine rm -f $FILE # creation du nouveau fichier echo "[logging]">$FILE echo " default = FILE10000:/var/log/krb5lib.log">>$FILE echo "[libdefaults]">>$FILE echo " ticket_lifetime = 24000">>$FILE echo " default_realm = "`echo $DOMAINE | tr "[:lower:]" "[:upper:]"`>>$FILE echo " krb4_config = /etc/krb.conf">>$FILE echo " krb4_realms = /etc/krb.realms">>$FILE echo " kdc_timesync = 1">>$FILE echo " ccache_type = 4">>$FILE echo " forwardable = true">>$FILE echo " proxiable = true">>$FILE echo " v4_instance_resolve = false">>$FILE echo " v4_name_convert = {">>$FILE echo " host = {">>$FILE echo " rcmd = host">>$FILE echo " ftp = ftp">>$FILE echo " }">>$FILE echo " plain = {">>$FILE echo " something = something-else">>$FILE echo " }">>$FILE echo " }">>$FILE echo " fcc-mit-ticketflags = true">>$FILE echo "[realms]">>$FILE echo " "`echo $DOMAINE | tr "[:lower:]" "[:upper:]"`" = {">>$FILE echo " kdc = "$CDDNS>>$FILE echo " admin_server = "$CDDNS>>$FILE echo " default_domaine = "`echo $DOMAINE | tr "[:lower:]" "[:upper:]"`>>$FILE echo " }">>$FILE echo "[domain_realm]">>$FILE echo " ."$DOMAINE" = "`echo $DOMAINE | tr "[:lower:]" "[:upper:]"`>>$FILE echo " "$DOMAINE" = "`echo $DOMAINE | tr "[:lower:]" "[:upper:]"`>>$FILE echo "[login]">>$FILE echo " krb4_convert = true">>$FILE echo " krb4_get_tickets = false">>$FILE # test du protocole kerberos echo "> test du protocole kerberos ...." echo "> à la demande entrer le mot de passe adimistrateur du domaine..." pauseE kinit Administrateur pauseE } ################################################################ # paramètrage de samba et winbind function sambawinbind() { clear echo "> configuration samba et winbind" # stop samba et winbind /etc/init.d/samba stop /etc/init.d/winbind stop # definition du fichier de configuration FILE="/etc/samba/smb.conf" # creation du fichier REMPLACE=`echo $DOMAINE | tr [":lower:"] [":upper:"]` sed -e "s/STAGE.LOCAL/"$REMPLACE"/g" $FILE >$PWD/tampon REMPLACE=`echo $DOMAINE | tr [":lower:"] [":upper:"] | cut -d. -f1` sed -e "s/STAGE/"$REMPLACE"/g" $PWD/tampon >$PWD/tampon2 sed -e "s/pcvirtw2003svr.stage.local/"$CDDNS"/g" $PWD/tampon2>$FILE sed -e "s/192.168.254.128/"$CDIP"/g" $FILE >$PWD/tampon2 cp -f $PWD/tampon2 $FILE # creation repertoire utilisateur du domaine mkdir /home/`echo $DOMAINE | tr "[:lower:]" "[:upper:]" | cut -d. -f1` chmod 777 /home/`echo $DOMAINE | tr "[:lower:]" "[:upper:]" | cut -d. -f1`

LOUSSOUARN Mikaël Page 167 05/02/2008

Page 168: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

# redemarrage de samba et winbind start_winbind # intégration au domaine echo "> l'ordinateur va rejoindre le domaine" pauseE echo "renseigner le mot de passe admin du domaine" net join -U Administrateur -S $CDNETBIOS pauseE # test de winbind # redemarrage de samba et winbind until wbinfo -u >&1 do echo "> tentative d'interrogation d'active directory" echo "Entrer oui pour abandonner (echec de la configuration)" echo " Abandon?" read ABANDON if [ "$ABANDON" = "oui" ] then break fi start_winbind done echo "> affichage des utlisateurs du domaine :" wbinfo -u pauseE clear } ########################################################### # obtenir les utilisateurs du domaine pour les groupes a filtrer function get_user() { clear echo "> obtention des listes d'utilisateurs du domaine pour squidGuard" # netoyage des précedentes listes rm -R -f /var/lib/squidguard/db/users # creation du dossier destination mkdir /var/lib/squidguard/db/users/ # redemarrage de winbindd pour raffraichir les utilisateurs # redemarrage de samba et winbind until wbinfo -u >&1 do echo "> tentative d'interrogation d'active directory" echo "Entrer oui pour abandonner (echec de la configuration)" echo " Abandon?" read ABANDON if [ "$ABANDON" = "oui" ] then break fi start_winbind done # nom du groupe utilisateur ? echo ">affichage des groupes du domaine :" wbinfo -g echo " > nom du groupe d'utilisateur ( taper *FIN* pour finir)" read GRUSER # effacement du fichier de correspondances users rm -f $PWD/users # creation de la liste pour le groupe indiqué I=1 while [ "$GRUSER" != "*FIN*" ] do getent group | grep $GRUSER | cut -d: -f4 | tr "," "\n" >/var/lib/squidguard/db/users/$I.user # visualisation de la liste des utilisateurs echo "> Visualisation des listes des utilisateurs :" cat /var/lib/squidguard/db/users/$I.user if [ -e $PWD/users ] then echo $GRUSER" "$I".user" >>$PWD/users else echo $GRUSER" "$I".user" >$PWD/users fi # visualisation de l'etat des correspondances echo "> correspondances:" cat $PWD/users echo "nom du groupe d'utilisateur ( taper *FIN* pour finir)"

LOUSSOUARN Mikaël Page 168 05/02/2008

Page 169: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

read GRUSER I=`echo $(($I+1))` done # reaffectation des droits sur la base de données squid guard chown -R proxy /var/lib/squidguard/db/ chmod -R 770 /var/lib/squidguard/db/ echo "> liste des utilisateurs créées" pauseE } ############################################################################### #telechargement des listes de filtrage de l'université de toulouse avec verification de la correspondance ( fichier de corresponsance = ./corresponsdance a éditer si necessaire) function transf_lists() { echo "> téléchargement des listes de filtrage de l'université de toulouse" # creation du chemin de destination REPT="/var/lib/squidguard/db" # copie du fichier de corresponsdance dans la zone de données de squidguard pour info cp $PWD/correspondances $REPT/correspondances # nettoyage et creation du dossier de telechargement rm -R -f $REPT/download mkdir $REPT/download # telechargement wget ftp://ftp.univ-tlse1.fr/blacklist/blacklists.tar.gz -O $REPT/download/blacklists.tar.gz echo "> Téléchargement des archives effectué" # decompression de l'archive echo "> Decompression ... " tar -xzf $REPT/download/blacklists.tar.gz -C $REPT/download/ echo "> decompression effectuée " clear # verification des correspondances # listage des dossiers telechargés echo "> Etat de la liste telechargée :" ls -C $REPT/download/blacklists pauseE # listage du contenu de correspondance pour comparaison echo "> Etat de la liste dans le fichier /root/correspondance" while read line do set $line if [ "$1" != "NONDEF" ] then echo -n $1 " | " fi done<$PWD/correspondances echo "................................" echo "> les listes correspondent (o/n) ?" read if [ "$R" = "n" ] then echo "!!! vous devez éditer le fichier /root/correspondances" echo "pour qu'il corresponde au contenu du dossier /var/lib/squidguard/db/download/ !" fi # effacement de l'archive rm -f $REPT/download/blacklists.tar.gz echo "> fin telechargement" pauseE } ##################################################################### # fonction de renommage des lists téléchargées function copie_lists() { clear echo "> transfert des listes telechargées vers la base de squidguard" # definition du repertoire de travail REPT="/var/lib/squidguard/db" # creation du dossier lists destinataire rm -R -f $REPT/lists mkdir $REPT/lists # parcours de la list de correspondances et deplacement des dossiers vers la base de données while read line do set $line if [ $1 = "" ] then break

LOUSSOUARN Mikaël Page 169 05/02/2008

Page 170: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

fi if [ $1 = "NONDEF" ] then echo -n "." else mv $REPT/download/blacklists/$1 $REPT/lists/$2 echo -n ">" fi done<$REPT/correspondances echo ">" # effacement des fichiers telechargés rm -R -f $REPT/download echo "> Listes transférées vers la base squidguard" pauseE } ################################################################# # réatribution des droits sur la base function reatribute_droits() { REPT="/var/lib/squidguard/db" chown -R proxy:proxy $REPT chmod -R 775 $REPT } ############################################################## # reconstruction des bases squidguard actuellement utilisées par le logiciel function reconstruc_bases() { REPT="/var/lib/squidguard/db" echo "> reconstruction des bases " /usr/bin/squidGuard -C all reatribute_droits pauseE } # reconstruction des bases squidguard situées dans le fichier temporaire, non utilisé par le logiciel # doivent etre deplacées pour devenir active ( fonction install_list) function reconstruc_bases_temp() { REPT="/var/lib/squidguard/db" echo "> reconstruction des bases " /usr/bin/squidGuard -c $PWD/compileBases.conf -C all reatribute_droits pauseE } ################################################## # relance de squid function startsquid() { chmod -R 777 /var/run/samba/winbindd_privileged /etc/init.d/squid start } ####################################################### # stop squid function stop_squid() { /etc/init.d/squid stop } #####################################################" # reccuperation et installation des listes de filtrage # fonction génerale procedant au telechargement et au renomage des listes function telecharge() { clear echo "> reccuperation des listes de filtrage " # repertoire de travail REPT="/var/lib/squidguard/db" # telechargement des listes et verif correspondances transf_lists echo "> téléchargement effectué " # si les listes ne correspondent pas on ne continue pas if [ "$R" = "n" ] then echo " listes non créées !! ";return

LOUSSOUARN Mikaël Page 170 05/02/2008

Page 171: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

fi # renommage des listes copie_lists # reconstruction des bases de données suivant la liste telechargée dans un fichier non utilisé par squid echo "> reconstruction des bases temporaires, Patience .." reatribute_droits reconstruc_bases_temp pauseE } #################################################### # installation des bases de données compilées depuis le repertoire temporaire jusqu'au repertoire de travail de squidguard function installists() { clear echo "> Installation des bases compilées pour squidguard" echo "> dans son repertoire de travail" # repertoire de travail REPT="/var/lib/squidguard/db" # arret de squid stop_squid # nettoyage des bases de travail actuelle rm -R -f $REPT/bases mkdir $REPT/bases # copie des bases cp -R $REPT/lists $REPT/bases # placement des droits chown -R proxy:proxy $REPT chmod -R 775 $REPT # fin, relance de squid echo "> bases copiées , relance de squid .." reatribute_droits startsquid pauseE } ##################################################### # paramètrage de squid function squidconf() { # rien à modifier de ce côté là return } #########################################################"" # paramétrage de squidguard function squidguardconf() { # obtenir la liste des users depuis ad get_user # ecriture definitions listes et users dans squidguard.conf # definition du fichier de configuration FILE="/etc/squid/squidGuard.conf" # purge de l'ancien fichier rm -f $FILE # creation du nouveau fichier echo "dbhome /var/lib/squidguard/db">$FILE echo "logdir /var/log/squid">>$FILE echo "#TIMES RULES">>$FILE echo "#abbrev for weekdays:">>$FILE echo "#s = sun , m= mon , t = tue , w = wed , h = thu , f = fri , a = sat">>$FILE echo "#horaires de connexion autorises :">>$FILE echo "#time workhours {">>$FILE echo "# weekly mtwhf 08:00 - 17:30">>$FILE echo "# date *-*-01 08:00 - 17:30">>$FILE echo "#}">>$FILE echo "# source adresses:">>$FILE # definition des sources utilisateurs while read line do set $line if [ "$1" = "" ] then break fi echo "#definition de la source utilisateurs $1">>$FILE echo "source "`echo $2 | cut -d. -f2``echo $2 | cut -d. -f1`" {">>$FILE

LOUSSOUARN Mikaël Page 171 05/02/2008

Page 172: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

echo "userlist users/$2">>$FILE echo "}">>$FILE done<$PWD/users # definition des sources de listes while read line do set $line if [ "$1" = "" ] then break fi if [ "$1" != "NONDEF" ] then echo "#definition de la source liste $1">>$FILE echo "dest $2 {">>$FILE echo "domainlist bases/lists/$2/domains">>$FILE echo "urllist bases/lists/$2/urls">>$FILE echo "}">>$FILE fi done<$PWD/correspondances # definition des acl echo "acl {">>$FILE # url de redirection REDIRECTION="http://localhost/Pageproxy.htm" # afficher users echo "> groupes d'utilisateurs :" while : do cat $PWD/users # selectionner user echo "> Selectionner un groupe a filtrer(entrer le type 1.user):" echo "> entrer *FIN* pour finir " read GROUPUSER if [ "$GROUPUSER" = "*FIN*" ] then break fi FILETEMP=$PWD"/temporaire" # effacer le fichier temporaire rm -f $FILETEMP # creer acl avec toutes listes interdites dans fichier acl echo "# droits d'accès du groupe $GROUPUSER">>$FILETEMP echo `echo $GROUPUSER | cut -d. -f2``echo $GROUPUSER | cut -d. -f1`" {">>$FILETEMP echo -n "pass ">>$FILETEMP while read line do set $line if [ "$1" = "" ] then break fi if [ "$1" != "NONDEF" ] then echo -n " !$2 ">>$FILETEMP fi done<$PWD/correspondances echo "all">>$FILETEMP echo "redirect">>$FILETEMP echo $REDIRECTION>>$FILETEMP echo "}">>$FILETEMP while : do # afficher listes echo "> listes de filtrages (retenez le numero de celle a autoriser!) :" pauseE cat $PWD/correspondances | more echo "> liste a autoriser ? ( syntax de type list1 )" echo "> entrer *FIN* pour finir " read AUTORISE if [ "$AUTORISE" = "*FIN*" ] then cp -f $FILETEMP $PWD/tampon3 break fi AREMPLACER="!"$AUTORISE

LOUSSOUARN Mikaël Page 172 05/02/2008

Page 173: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

sed -e "s/"$AREMPLACER"/"$AUTORISE"/g" $FILETEMP >$PWD/tampon3 cp -f $PWD/tampon3 $FILETEMP done clear echo " visualisation de l'acl " cp -f $FILETEMP $PWD/tampon3 cat $PWD/tampon3 2>/dev/null pauseE if [ -e $PWD/tampon3 ] then cat $PWD/tampon3>>$FILE else cat $FILETEMP>>$FILE fi done # ecriture acl default dans squidguard.conf echo "# droits d'acces par defaut">>$FILE echo "default {">>$FILE echo " redirect $REDIRECTION">>$FILE echo " pass none">>$FILE echo "}">>$FILE echo "}">>$FILE # donner les droits sur le fichier au proxy chown proxy:proxy $FILE echo "> arret de squid" stop_squid echo "> redemarrage de squid" startsquid pauseE } ##################################" # fonction configuration postfix function postfix() { # postfix echo "paramétrage de postfix et de fetchmail" # definition du fichier à modifier FILE="/etc/postfix/main.cf" # remplacement du caractère special / par un caractère neutre ? cat $FILE | tr '/' '?' >$PWD/tampon cp -f $PWD/tampon $FILE # subsitutions des paramètres locaux à l'installation REMPLACE=$LDNS sed -e "s/debian.stage.local/"$REMPLACE"/g" $FILE >$PWD/tampon REMPLACE=$DOMRECON sed -e "s/stage.local/"$REMPLACE"/g" $PWD/tampon >$FILE REMPLACE="localhost."$DOMAINE sed -e "s/localhost.stage.local/"$REMPLACE"/g" $FILE >$PWD/tampon REMPLACE=$SMTP sed -e "s/193.252.22.91/"$REMPLACE"/g" $PWD/tampon >$FILE REMPLACE=`echo $RESEAU | tr '/' '?'` CHERCHE="192.168.254.0?24" sed -e "s/"$CHERCHE"/"$REMPLACE"/g" $FILE >$PWD/tampon # remplacement du caractère ? par / cat $PWD/tampon | tr '?' '/' >$FILE #procmail # definition du fichier à modifier FILE="/etc/skel/.procmailrc" # subsitutions des paramètres locaux à l'installation REMPLACE=$SPAMMAIL CHERCHE="[email protected]" sed -e "s/"$CHERCHE"/"$REMPLACE"/g" $FILE >$PWD/tampon REMPLACE=$ADMINMAIL CHERCHE="[email protected]" sed -e "s/"$CHERCHE"/"$REMPLACE"/g" $PWD/tampon >$FILE # placement des droits sur le fichier chmod 600 $FILE # fetchmail # definition du fichier à modifier FILE="/etc/fetchmailrc" # remplacement du caractère special / par un caractère neutre ? cat $FILE | tr '/' '?' >$PWD/tampon cp -f $PWD/tampon $FILE # subsitutions des paramètres locaux à l'installation REMPLACE=$POP

LOUSSOUARN Mikaël Page 173 05/02/2008

Page 174: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

CHERCHE="pop.gmail.com" sed -e "s/"$CHERCHE"/"$REMPLACE"/g" $FILE >$PWD/tampon REMPLACE=$PORTPOP CHERCHE="995" sed -e "s/"$CHERCHE"/"$REMPLACE"/g" $PWD/tampon >$FILE REMPLACE=$DOMAINE sed -e "s/stage.local/"$REMPLACE"/g" $FILE >$PWD/tampon REMPLACE=$COLLECTOR CHERCHE="[email protected]" sed -e "s/"$CHERCHE"/"$REMPLACE"/g" $PWD/tampon >$FILE REMPLACE=`echo $PASSPOP | tr '/' '?'` CHERCHE="motdepasse?73" sed -e "s/"$CHERCHE"/"$REMPLACE"/g" $FILE >$PWD/tampon REMPLACE=$FREQFETCH CHERCHE="1500" sed -e "s/"$CHERCHE"/"$REMPLACE"/g" $PWD/tampon >$FILE # remplacement du caractère ? par / cat $FILE | tr "?" "/" >$PWD/tampon cp -f $PWD/tampon $FILE # placement des droits sur le fichier chmod 600 $FILE pauseE # configuration des alias mails pour rediriger les mail de root vers le mail administrateur FILE="/etc/aliases" ADMIN=`echo $ADMINMAIL | cut -d@ -f1` echo "root :"$ADMIN >>$FILE newaliases # création du compte spam SPAM=`echo $SPAMMAIL | cut -d@ -f1` echo "> création du compte destiné à recevoir le spam :" useradd $SPAM echo "> Entrez le mot de passe de ce nouveau compte :" passwd $SPAM echo "> ATTENTION: à la fin du script vous devrez connecter les utilisateurs "$SPAM" et "$ADMIN echo "> au moyen des commandes suivantes:" echo " su "$SPAM echo "exit" echo " su "$ADMIN echo "exit" echo " notez ces commandes :)" pauseE } #################################################### ###################################################" # Corps de programme ( appel des fonctions ) ########################################### #test du premier démarrage # test du paramètre de démarrage # execution de la configuration # marqueur de definition du reseau DOMAINE="///" renseigne confNet synchron kerberos sambawinbind squidconf squidguardconf telecharge installists postfix PauseE clear echo " La configuration du serveur est terminée ," echo " Vous êtes invités à suivre le tutoriel" echo "pour la configuration d'EgroupWare" echo " Ce tutoriel est fourni dans les fichiers de ce script," echo "voir dans /root/configuration/" echo " La configuration d'EgroupWare se fera au moyen " echo "d'un navigateur WEB sur un poste extérieur à ce serveur" echo " en tapant l'adresse http/IP_DE_VOTRE_SERVEUR/egroupware/setup" echo " la doc d'installation est visible" echo "à l'adresse http/IP_DE_VOTRE_SERVEUR/instal.htm"

LOUSSOUARN Mikaël Page 174 05/02/2008

Page 175: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

pauseE #copie de la doc d'install egroupware sur le serveur web cp -fR $PWD/ins* /var/www/ chown -R www-data:www-data /var/www/ echo " Le serveur va se relancer pour prendre en compte les modifications" pauseE # on marque l'execution première du script en créant le fichier test reboot echo " Configuration déjà effectuée, creer le fichier /ConfigNonFaite" echo " et relancer le script /root/configuration/configuration.sh " echo "si vous voulez relancer la configuration du serveur"

Retour au chapitre

LOUSSOUARN Mikaël Page 175 05/02/2008

Page 176: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

9. Glossaire —A— ACL,

Access Control List (ACL), en français liste de contrôle d'accès active directory,

Active Directory est l'implémentation par Microsoft de services d'annuaire AFPA,

L'Association nationale pour la formation professionnelle des adultes (AFPA) est un organisme français de formation professionnelle.

Amavis, Amavis est un logiciel de scan antivirus de mail http://www.amavis.org/ Apache2, Apache2 est un serveur Web http://httpd.apache.org/ APLON,

APLON est une suite logicielle dévellopée par une association pour l'enseignement privé http://www.aplon.org/accueil.aspx?pnav=2

AutoIt, AutoIT est un langage de programmation sous envirronement Windows http://www.autoitscript.com/autoit3/

—B— bash, Bash, acronyme de Bourne-again shell, il s'agit d'un langage LINUX BCDI, 8 Solution documentaire pour les écoles http://bcdi.crdp2-poitiers.org/site/index.php BTS, Brevet de technicien supérieur —C— Call-Center, Centre d'appel CDROM, Support physique de données CEFOC, CENTRE DE FORMATION CONTINUE PAR L’ALTERNANCE Cisco, 9 Constucteur de matériels réseaux http://www.cisco.com/ clamav, Antivirus du monde du logiciel libre http://www.clamav.net/ courier-imap, Logiciel serveur de courrier IMAP http://www.courier-mta.org/imap/ CRM MISMO, Progiciel de gestion http://www.mismo.fr/ —D— Debian, Distribution LINUX http://www.debian.org/index.fr.html DNS,

Domain Name System, système de résolution de noms d'ordinateurs à partir de l'adresse IP http://fr.wikipedia.org/wiki/Domain_Name_System

LOUSSOUARN Mikaël Page 176 05/02/2008

Page 177: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

—E— EDU4, Logiciel d'enseignement de langues http://www.edu4.com/ EgroupWare, Logiciel de travail collaboratif http://www.egroupware.org/ Exchange,

Microsoft Exchange Server est un logiciel collaboratif pour serveur de messagerie électronique créé par Microsoft http://www.microsoft.com/france/exchange/default.mspx

—F— fetchmail, Fetchmail est un logiciel permettant de reccupérer des mails sur un serveur distant http://www.fetchmail.info/ —I— IMAP,

Internet Message Access Protocol est un protocole utilisé par les serveurs de messagerie électronique http://fr.wikipedia.org/wiki/Imap

IP, Internet Protocol, c’est un protocole utilisé pour le routage des paquets sur les réseaux http://fr.wikipedia.org/wiki/Internet_Protocol

—J— jpgraph,

C'est une librairie logicielle destinée à la création de graphiques par le langage PHP http://www.aditus.nu/jpgraph/

—K— kerberos, Kerberos est un protocole d'identification réseau http://fr.wikipedia.org/wiki/Kerberos —L— ldap,

Lightweight Directory Access Protocol (LDAP) est un protocole permettant l'interrogation et la modification des services d'annuaire http://fr.wikipedia.org/wiki/Ldap

log, Journal d'évenements —M— MDA, Mail Delivery Agent http://fr.wikipedia.org/wiki/Mail_Delivery_Agent MTA, Mail Transfer Agent http://fr.wikipedia.org/wiki/Mail_Transfer_Agent MySQL, Service de gestion de bases de données (SGBD) OpenSource

http://www-fr.mysql.com/ —N— Net source, Logiciel dédié aux établissements scolaires http://www.net-concept.fr/produits/ netbios, Netbios est un protocole de transfert de fichiers http://fr.wikipedia.org/wiki/Netbios

LOUSSOUARN Mikaël Page 177 05/02/2008

Page 178: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

NETOP SCHOOL, Logiciel de téléformation http://www.logiciels-netop.fr/ ntpdate, Logiciel de synchronisation d'horloge http://www.linux-france.org/ —O— OpenLDAP, Service d'annuaire opensource http://www.openldap.org/ —P— PAM,

Pluggable Authentication Modules (modules d'authentification enfichables) http://fr.wikipedia.org/wiki/Pluggable_authentication_module

PCIE, Passeport de compétences informatiques Européen http://www.pcie.tm.fr/ PDA, Personal Digital Assistant ou assistant personnel http://fr.wikipedia.org/wiki/Pda Pear,

PEAR (pour PHP Extension and Application Repository) est un framework (ensemble de bibliothèques logicielles) de composants PHP. http://fr.wikipedia.org/wiki/PEAR

PHP, PHP (acronyme récursif pour PHP: Hypertext Preprocessor), est un langage de scripts libre principalement utilisé pour produire des pages web dynamiques via un serveur HTTP http://www.php.net/

POP, Post Office Protocol , protocole de reception des courriers électroniques http://fr.wikipedia.org/wiki/Post_Office_Protocol

Postfix, Postfix est un logiciel serveur de messagerie électronique http://www.postfix.org/ Procmail,

Procmail est un composant de Postfix qui est en charge de la distribution des courriers vers les boites des destinataires http://www.linux-france.org/

proxy, Un proxy est un logiciel assurant un service mandataire de navigation Internet http://fr.wikipedia.org/wiki/Proxy —S— Samba,

Samba est un service logiciel permettant la communication entre les systèmes Linux et Windows via le réseau http://us4.samba.org/samba/

SASL, Simple Authentication and Security Layer ou Couche d'authentification et de sécurité simple est un mécanisme d'authentification http://fr.wikipedia.org/wiki/SASL

SMTP, Simple Mail Transfer Protocol ou Protocole simple de transfert de courrier est un protocole de transfert du courrier électronique http://fr.wikipedia.org/wiki/Smtp

spamassassin, C'est un logiciel de filtrage des courriers indésirables (spams ou pourriels) http://spamassassin.apache.org/ SQL,

Structured query language ou langage structuré de requêtes est un langage d'interrogation de bases de données http://fr.wikipedia.org/wiki/SQL

LOUSSOUARN Mikaël Page 178 05/02/2008

Page 179: Rapport Stage Light

Stage au lycée Sacré-Cœur d’Angers

LOUSSOUARN Mikaël Page 179 05/02/2008

Squid, Squid est un logiciel de serveur mandataire http://www.squid-cache.org/ SquidGuard,

SquidGuard est un logiciel de filtrage de navigation Internet http://www.squidguard.org/

streaming, Lecture en continue de flux de données http://fr.wikipedia.org/wiki/Streaming synchroparc, Logiciel de sauvegarde et de restauration des postes informatiques

http://www.crdp-reims.fr/synchroparc/ —T— TellMeMore, Logiciel d'apprentissage des langues http://fr.tellmemore.com/ —U— url,

Uniform Resource Locator ou localisateur uniforme de ressource est une chaîne de caractère utilisée pour adressé des ressources internet. http://fr.wikipedia.org/wiki/Url

—V— VLC,

Lecteur de fichiers multimédias avec des fonctionnalités serveur de flux http://www.videolan.org/

VmWare, Logiciel de virtualization d'ordinateur http://www.vmware.com/fr/ —W— Webmin, Interface graphique d'administration de systèmes Linux fonctionnant par serveur Web http://www.webmin.com/ Winbind,

Winbind est un logiciel permettant une authentification des utilisateurs et groupes utilisateurs depuis un système Linux sur un domaine Microsoft Active Directory

http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/winbind.html