• Aucun résultat trouvé

Installation configuration et sécurisation d un serveur web et ftp

N/A
N/A
Protected

Academic year: 2022

Partager "Installation configuration et sécurisation d un serveur web et ftp"

Copied!
78
0
0

Texte intégral

(1)

Rapport de stage

IUT de La Rochelle Département GTR Promotion 2003/2005

Par RABOUIN Geoffroy Sous la tutelle de Monsieur Octavien Yves

Installation configuration

et

sécurisation

d’un serveur web et ftp

LYCEE BEL-AIR,

FONTENAY LE COMTE

(2)

Geoffroy Rabouin Page 2 le 09/06/2005 Lycée Bel Air

Maître de stage : Octavien Yves

Enseignant-tuteur : Augeraud Michel

Stage d’une durée de 10 semaines

sur la période du 4 avril 2005 au 10 juin 2005

LEGTA Bel-Air Bd Hoche – C.P. 287

80205 Fontenay Le Comte Cedex

(3)

Geoffroy Rabouin Page 3 le 09/06/2005 Lycée Bel Air

Remerciements :

Je voudrais en premier lieu remercier M. A-Chick Vui (Assistant

d’éducation en informatique) pour m’avoir permis de prendre confiance en moi lors de mon arrivé, et à M. Octavien Yves pour m’avoir accordé sa confiance en me laissant libre de mes choix.

Je voudrais remercier toutes les personnes du Lycée Bel-Air pour leur

convivialité durant tout le stage et pour l'accueil qu'il m'ont fait au sein de leur

établissement.

(4)

Geoffroy Rabouin Page 4 le 09/06/2005 Lycée Bel Air

I- Le contexte

page 5

1- Sujet du stage

page 5

2- État de l’existant

page 5

3- Le lycée

page 5

4- Les nouveaux outils

page 6

II- Déroulement

page 6

1- Préliminaire

page 6

2- Free-EOS, solution clé en main

page 6

3- Serveur Debian, le changement

page 7

a- L’aspect matériel, sécurisation

page 8

b- OpenSSH, la sécurisation logiciel

page 9

c- Apache, le serveur web

page 10

d- Vsftpd, le serveur FTP

page 11

e- Samba, le partage pour Windows

page 12

f- MySQL, le serveur de base de données

page 13

g- Test de stabilité et de failles

page 13

h- Passage de woody vers sarge

page 16

4- Symantec Ghost et l’open source

page 17

a- Unatended

page 17

b- ANI

page 17

c- PartImage

page 18

d- g4u

page 18

e- Conclusion

page 18

5- Le forum des anciens BTS

page 19

a- La base

page 19

b- Les modifications

page 19

1- Arcade page 20

2- Attach’mod page 20

3- Thèmes page 20

6- Audit du réseau

page 21

(5)

Geoffroy Rabouin Page 5 le 09/06/2005 Lycée Bel Air

7- IpCOP, un firewall très efficace

page 22

a- Généralités sur les firewalls

page 22

b- Fonctionnement

page 23

c- Ajouts

page 23

III- Avis personnel

page 23

1- L’Humain

page 23

2- La Machine

page 23

IV- Annexes

page 27

1- Création d’un serveur Web et FTP pour le lycée Bel-Air, Fontenay

Le Comte

page 28

Ce document a été remis au responsable informatique du lycée pour lui permettre de choisir quelle était la solution qui conviendrait le mieux.

2- Introduction à FileZilla

page 36

Ce document sera remis aux professeurs de l’établissement pour leur permettre de configurer le logiciel FileZilla.

3- Fichiers de configuration

page 44

a- OpenSSH

page 45

/etc/ssh/sshd_config

b- Apache

page46

/etc/apache-ssl/Httpd.conf

c- VsFTPd

page54

/etc/vsftpd.conf

d- Samba

page55

/etc/samba/smb.conf

e- MySQL

page56

/etc/mysql/my.cnf

f- Divers

page57

1- /etc/hosts page57

2- /etc/resolv.conf page57

3- /etc/shutdown.allow page57

g- Apt

page58

1- /etc/apt/apt-conf page58

2- /etc/apt/preferences page58

3- /etc/apt/sources.list.old page58

4- /etc/apt/sources.list page59

(6)

Geoffroy Rabouin Page 6 le 09/06/2005 Lycée Bel Air

4- Scripts

page 60

creer2.sh qui nous permettra de créer les utilisateurs et leurs mots de passes système et samba d’après une liste.

user.txt qui est la liste de tous les identifiants et mots de passe des utilisateurs

5- Règles du forum

page 63

Ce sont les règles à observer sur le forum des anciens BTS, tout utilisateur ne s’y conformant pas sera susceptible de se voir supprimer son compte sans préavis.

6- Les risques, les attaques

page 66

a. Le DoS, Denial of Service (déni de service)

page 67 1- Déni de service par consommation

de Bande Passante page 67

2- Déni de service par la consommation

d’une autre ressource page 67

b. L'IP Spoofing

page 67

1- L’ICMP Spoofing page 67

2- L’UDP Spoofing page 68

3- Le TCP Spoofing page 68

c. Le cheval de troie

page 69

(7)

Geoffroy Rabouin Page 7 le 09/06/2005 Lycée Bel Air

I- Le contexte

1- Sujet du stage

Le lycée Bel-Air m’a demandé de créer un serveur web accessible de l’extérieur ainsi qu’un système permettant aux professeurs de déposer leurs fichiers personnels sur ce même serveur.

Il faut de plus que ces fichiers soient accessibles depuis les postes clients à l’intérieur du lycée. Il m’a également été demandé d’installer un firewall (IpCop) sur la connexion de l’exploitation dépendant du lycée (Boisse), dans un futur proche un VPN est prévu, il faut donc que ce firewall permette sa réalisation sans trop de configuration et de manipulation sur site, en effet l’exploitation est située à plusieurs kilomètres du lycée. Il m’a également été demandé dans un autre temps de regarder les solutions de remplacement de l’utilitaire de sauvegarde des disques durs Norton Ghost par une solution gratuite et/ou open source. On m’a également confié la tâche de mettre en place un système de vérification et de contrôle des impressions, en effet les élèves et le personnel ont tendance à abuser de l’impression couleur, Il a donc fallu instaurer un système de quota d’impression.

2- État de l’existant

Le lycée dispose d’une salle serveur comprenant 6 serveurs sous Windows et un sous linux Mandrake 10.0. Ces serveurs servent pour la gestion des utilisateurs et de leur mot de passe pour le domaine, de stockage pour les fichiers du profil, de serveur pour fournir une interface web pour rentrer les notes des élèves, ainsi que pour fournir les images de postes sauvegardés.

Le lycée dispose d’une connection internet fournie par Oléane (France Télécom) de type ADSL 512/128, cette connection passe par un routeur fourni par Oléane situé sur le site du lycée, nous n’avons pas connaissance du mot de passe pour administrer ce routeur. Le lycée compte environ 250 postes dont une quinzaine en libre service. L’accès à internet sur les postes libres service est interdit par le serveur squid situé sur le firewall tant qu’aucun enseignant n’en a fait la demande.

(8)

Geoffroy Rabouin Page 8 le 09/06/2005 Lycée Bel Air

3- Le lycée

Le lycée Bel-Air est un lycée d’éducation général et technologique agricole (LEGTA), il est situé à Fontenay Le Comte en Vendée. Il accueille 300 élèves durant toute l’année scolaire dans différentes sections, Service Aux Personnes, Vente, ... L’équipe enseignante est

relativement dynamique et l’ambiance au sein de ce site est particulièrement agréable tant au niveau de l’administration que des élèves ou de l’équipe enseignante. Ce lycée forme

principalement aux différents métiers liés à la vente ou à la fabrication de produits agricoles, pour cela il est directement lié à une exploitation agricole qui assure la production et la transformation de canards et de pigeonneaux. Le lycée possède également une section

sportive très dynamique, elle propose même des formations BAFA, surveillant de baignade,…

Ce lycée dispose de trois pôles, commerce, services et sciences.

4- Les nouveaux outils

Durant ce stage j’ai pu développer mes connaissances sur le monde Linux, en particulier la distribution Debian réputée pour sa stabilité et sa sécurisation extrême. J’ai perfectionné ma connaissance du shell ainsi que des diverses commandes d’administration, que ce soit pour la maintenance à distance ou pour la gestion des firewall iptables. J’ai également découvert l’existence de logiciels développés spécialement pour l’éducation nationale (Magret, EducHorus, …). Ces logiciels sont pour la plupart libres de droits, donc gratuits. Ils ont été conçus par des universités, Poitiers en a d’ailleurs crée une multitude. J’ai également beaucoup utilisé des scripts PHP qui ont de multiples utilités :

- recensement automatique des ordinateurs du parc

- inventaire des licences et demande de mise à jour si elles vont expirer - gestion des notes par internet et impression des bulletins automatique - gestion d’une base de données MySQL via interface web

- …

J’ai pareillement utilisé des logiciels d’audit de sécurité, ces logiciels analysent les

ordinateurs du réseau pour y trouver de potentiels failles, ce type de logiciel nous a permis aussi de détecter les PC rarement allumés ou restant allumés à la fin des cours.

II- Déroulement 1- Préliminaire

Lors de la première rencontre avec le lycée, le responsable informatique du lycée m’a demandé de créer un cahier des charges pour la mise en place d’un serveur web ainsi qu’un serveur FTP, le rapport que j’ai rendu est fourni en annexe 1. Les solutions retenues sont une

(9)

Geoffroy Rabouin Page 9 le 09/06/2005 Lycée Bel Air

solution clé en main, Free-EOS et une solution personnalisée basée sur un système Linux sur lequel on greffe les modules souhaités.

2- Free-EOS, solution clé en main

Le responsable du service informatique a pris parti pour la solution basée sur une distribution Free-EOS (Espace Ouvert de Services). Ce choix est motivé par la facilité extrême de sa configuration, en effet toutes les modifications se font par interface graphique via un site internet.

Le serveur dispose d’une carte réseau intégrée à la carte mère et nous voulons l’utiliser pour éviter de devoir rajouter une carte en plus (raison financière principalement), pour ce faire il est nécessaire d’incorporer au système d’exploitation le pilote de cette carte. Dans l’univers Linux lors de l’ajout d’un nouveau périphérique il est nécessaire de compiler (transformer du langage de programmation en langage machine) le programme qui pilotera ce périphérique.

Pour ce faire, il est nécessaire d’avoir certains logiciels pour programmer (gcc par exemple), n’étant pas fourni directement par cette distribution il va être nécessaire de les incorporer.

Devant la masse de travail que cela représente, je me suis penché sur le bien fondé de ce choix.

Le protocole FTP qui sert à transférer des fichiers entre deux machines est connu pour faire circuler en clair (sans cryptage) les mots de passe et les identifiants de connexion, il est donc impossible compte tenu de la volonté de sécuriser le système d’utiliser un serveur FTP classique. De plus le serveur apache (serveur web) ne fournit pas la sécurisation par SSL (via SSH 2), cela veut dire qu’il sera nécessaire d’incorporer une couche de plus pour l’effectuer.

Après une capture de trames par le sniffer de réseau « ethereal », le maître de stage est convaincu de la faiblesse de ce système, il est efficace pour des gens qui n’ont pas un besoin extrême en sécurité. La situation présente nous interdit d’utiliser ce système, en effet les données qui circuleront sur le réseau seront les notes des élèves, les comptes de

l’administration et les résultats financiers pour l’exploitation qui dépend du lycée.

Je décide donc de remplacer la solution dite « facile » par la solution que l’on peut surnommée « mains dans le cambouis », le maître de stage m’accorde sa confiance et me laisse libre de mes choix futurs, je suis donc dorénavant le responsable de l’avancement, cela me motive et j’ai à cœur de fournir un travail impeccable.

(10)

Geoffroy Rabouin Page 10 le 09/06/2005 Lycée Bel Air

3- Serveur Debian, le changement

La solution que je retiens est une distribution Linux réputée pour sa stabilité et sa sécurisation extrême, c’est la distribution Debian. Sa prise en main est réputée difficile, c’est pourquoi je me dois de faire une installation simple et complète, je dois prévoir toutes les possibilités pour ne pas laisser les responsables informatiques dans le flou en cas de changement de version ou de mise à jour de logiciels. Pour cela il faudra que je commente énormément tous les

paramètres des fichiers de configuration en expliquant le pourquoi des choix que j’ai effectuer.

Il fallait axer le serveur sur la sécurité, en aucun cas il ne faut qu’un utilisateur puisse avoir accès à des données ne lui étant pas destinées, et de plus il doit être impossible d’usurper l’identité du serveur web. Pour cela j’ai décidé d’utiliser le protocole SSH dans sa version 2, cela permet d’utiliser un certificat qui prouve que le serveur est bien celui du lycée Bel-Air et permet aussi de crypter les transferts entre les deux postes (identifiants, mot de passe et données sont cryptés). Pour assurer cette sécurité, j’ai décidé de me baser sur des logiciels connus et open source, cela dans le but de pouvoir m’assurer que le code source est sûr et que les bugs de sécurités sont bien supprimés. J’ai décidé de prendre Apache en tant que serveur web, vsftpd pour le serveur FTP, ces deux logiciels se verront dotés d’une couche SSL fournie par openSSH, le serveur SQL sera un MySQL, le partage des fichiers entre le serveur Linux et les clients Windows sera effectué par le serveur samba.

a- L’aspect matériel, sécurisation

Il ne faut pas négliger le matériel dans le choix d’un serveur, ainsi, comme je l’avais suggéré dans le cahier des charges, le serveur dispose d’un système de Raid en version 5 avec trois disque durs de 160Go, cela veut dire que les disques seront mis en commun pour ne former qu’un seul gros disque de taille 320Go (soit (3 – 1) x 160Go), les informations seront

réparties sur les 3 disques, ainsi le temps de recherche en sera grandement diminué (divisé par 3). De plus, ce système assure une tolérance aux pannes grande, en effet si un disque dur venait à tomber, il est tout a fait possible de le remplacer par un disque vierge de même taille, les données manquantes seront automatiquement reconstruites à partir des deux autres

disques.

Le Linux Debian fonctionnant sur l’ordinateur serveur sera énormément sécurisé, mais il est utile de s’inquiéter également de la possibilité d’exploiter une faille potentiel du bios sur les différents périphériques du serveur (gestion de l’USB, de la carte son et réseau intégrée, …) ainsi que sur la possibilité de démarrer sur un autre système (à partir d’une clé USB, d’un Cdrom, voire même à partir d’un autre disque dur).

(11)

Geoffroy Rabouin Page 11 le 09/06/2005 Lycée Bel Air

J’ai donc pris soin de désactiver le support de l’USB, du support du son ainsi que la carte réseau intégrée, en effet au vu des prix des cartes réseaux il est ridicule de se priver d’une carte réseau de marque connue et réputée (surtout dans une utilisation serveur).

J’ai également changé la séquence de démarrage de manière à ce que ce soit uniquement le disque dur Raid qui puisse démarrer, les autres périphériques étant incapables de démarrer (cela veut bien dire que les périphériques tels que CD et disquette ne pourront pas démarrer même si le disque dur raid n’est pas présent). J’ai de plus empêché la modification des disques en interdisant à un utilisateur de modifier la configuration des ports IDE (support des disques durs et des lecteurs de Cdrom), tous les ports étant mis en arrêt sauf le port du lecteur de Cdrom qui est le seul activé, il est lui-même bloqué en lecteur Cdrom et ne détectera pas de disque dur s’il est remplacé par celui-ci.

Toutes ces modifications auraient été rendu inutiles si tout un chacun pouvait modifier à son gré le BIOS (Basic Input Output System, tous ce qui gère le cœur matériel du PC), ainsi, j’ai ajouté un mot de passe sur ce BIOS afin que seul l’administrateur du système est le pouvoir de changer un paramètre.

Lors de l’installation du système d’exploitation Debian, il est également installé un logiciel capable de gérer le démarrage depuis plusieurs partitions, il m’a également été nécessaire de le verrouiller pour ne démarrer que depuis le noyau du système désiré (le mien) et non sur un noyau personnalisé d’une personne tierce. J’ai également bloqué le shell (logiciel servant à interpréter les commandes de l’utilisateur) sur un shell éprouvé « bash », en effet il est tout à fait possible sur un ordinateur Linux classique de démarrer sur un shell autre et de se mettre administrateur du post.

Il m’a semblé également souhaitable qu’aucun utilisateur (hormis l’administrateur du

système) ne puisse éteindre ou redémarrer le serveur. Cela peut sembler contraignant, mais il faut savoir qu’un serveur éteint ne sert plus à rien. Il faut savoir que par défaut tout un chacun peut éteindre le serveur, il suffit de taper la commande standard pour éteindre un ordinateur Linux (shutdown –h now). Pour remédier à ce gros problème j’ai donc créé un fichier qui indique les utilisateurs ayant le droit de redémarrer et d’éteindre le serveur, voir annexe 3-f-3.

La seule manière pour éteindre l’ordinateur est d’être administrateur (root) ou d’avoir un accès physique à l’ordinateur et de le débrancher.

Pour pouvoir changer le système que démarre le serveur la seule solution est de remplacer les trois disques durs du Raid pour les remplacer par trois autres disques personnels, cela limite énormément les éventualités.

(12)

Geoffroy Rabouin Page 12 le 09/06/2005 Lycée Bel Air

b- OpenSSH, la sécurisation logiciel

N’étant pas continuellement devant la machine serveur, j’ai du penser à une solution permettant d’effectuer la mise à jour et la maintenance du système à distance, la meilleure solution pour ceci a été l’utilisation de SSH. Il existe d’autres outils pour effectuer cette tâche, Telnet ou rlogin mais ces deux utilitaires ne sécurisent aucunement la connexion et les mots de passe circulent en clair sur le réseau. Ainsi un utilisateur malveillant peut très bien écouter le réseau pour voir les mots de passe et ensuite se faire passer pour un autre utilisateur dans le but de changer les notes ou bien encore de détruire des données. Pour ces raisons le choix de OpenSSH m’a paru judicieux. De plus il permet d’ajouter une couche sur le serveur web apache et sur le serveur ftp vsftpd pour sécuriser les transferts de données, ainsi tout ce qui circule sur le réseau sera crypté (mots de passe, identifiants et données). OpenSSH fournit un serveur nommé sshd qui sert à remplacer telnet pour les connections à distance, le fichier de configuration utilisé se trouve en annexe 3-a, ce fichier permet de configurer ssh pour fonctionner sur un port différent du défaut (un attaquant scannant le port par défaut ne

trouvera rien, il pensera donc que ssh n’est pas lancé, il ne pourra donc pas effectuer de brute force) en interdisant l’utilisateur administrateur, cela dans le but d’empêcher les mêmes attaques que précédemment, si une personne connaît le mot de passe administrateur, elle ne pourra pas se connecter, il faut absolument s’identifier sur un autre compte (ici « belair ») puis effectuer un changement d’utilisateur (via la commande « su »), cela oblige les attaquants à connaître les deux mots de passe, la sécurité en est doublée.

Afin de vérifier toute cette théorie, j’ai mis en place un ordinateur qui écoute toutes les trames circulant sur le réseau, il capture bien évidemment les trames de données envoyées, mais elles sont inexploitables car complètement cryptées, de plus on ne sait pas quelle application utilise ces données, il est donc totalement impossible d’en déduire quoi que ce soit.

(13)

Geoffroy Rabouin Page 13 le 09/06/2005 Lycée Bel Air

c- Apache, le serveur web

Le but premier du serveur est de permettre d’héberger de multiples sites internet, ce serveur doit pouvoir accepter le langage HTML, et PHP. Pour cela, il m’a semblé normal de prendre le serveur Apache, sa fiabilité est désormais universellement reconnue et il est tout à fait possible de lui ajouter des modules pour permettre d’augmenter ses capacités. Ce serveur possède également un système intégré permettant d’empêcher les attaques par dénis de

services (DoS, Denial of Service en anglais), cela est mis en place par la limitation du nombre de connections simultanées par adresse IP et sur la globalité. Il est également possible

d’enregistrer tous les accès pour, en cas d’attaque, avoir les adresses des assaillants de manière à pouvoir porter plainte contre ces personnes, les fichiers journaux tenant compte de preuves devant un tribunal. Ce serveur dispose de la possibilité de se voir apposer différents modules, ici je lui ai ajouté un module pour gérer le PHP (langage puissant de programmation pour les sites internet), et un module pour gérer la sécurisation par SSL qui est fourni par OpenSSH, il n’est pas utile de lui adjoindre un module pour le HTML car Apache le gère en natif.

J’ai également défini des hôtes virtuels, ce sont des sites différents hébergés sur la même machine et accessibles par des adresses différentes, par exemple le lien www.lyceebelair.fr peut rediriger le navigateur sur le dossier /lycee et le lien www.ressource.lyceebelair.fr rediriger vers le dossier /ressource sur le même ordinateur. Cela est très utile car multiplie les sites sur le même serveur (moins de coût de matériel), cela ralentit légèrement le traitement des requêtes pour accéder au serveur, mais il n’est pas prévu une masse de connections simultanées importantes, donc cela n’est pas gênant. Dans le cas du lycée il y a besoin de quatre hôtes virtuels (pour la gestion des salles et de la base de données, du site principal du lycée, et un dernier pour la gestion des stages).

J’ai ensuite paramétré ce serveur pour qu’il crypte par défaut toutes les connections, ceci dans le but d’empêcher un utilisateur malintentionné de comprendre ce qui se passe sur le réseau.

Ainsi si le créateur d’un site web futur oublie de sécuriser son code source, il sera protégé par le serveur en lui-même, si l’utilisateur ne le souhaite pas il lui est bien sûr tout à fait possible de désactiver cette protection.

Pour empêcher une personne de se faire passer pour le serveur web du lycée, j’ai décidé de créer un certificat de sécurité, ce certificat va prouver que l’on est bien le serveur et non quelqu'un qui veut se faire passer pour lui. Ce certificat sera affiché à chaque connection sur la partie sécurisée du site et un cadenas ou une clé (symbole de sécurité) seront affichés en bas du navigateur pour certifier à l’usager que la connection est bel et bien sécurisée et qu’il peut avoir confiance dans le site qu’il visite. Cette technique est largement utilisée dans les sites de ventes ou par les banques, preuve de sa fiabilité.

Le certificat possède un champ pour indiquer à l’utilisateur si le site qu’il visite est vérifié par un organisme indépendant (Verisign pas exemple), dans le cas présent, cela ne m’a pas

(14)

Geoffroy Rabouin Page 14 le 09/06/2005 Lycée Bel Air

semblé utile, en effet l’utilisateur disposera sur le certificat des informations sur le lycée qui lui suffiront pour juger par lui-même si le site est de confiance ou non, de plus les utilisateurs amenés à se connecter sont pour la plupart des professeurs et élèves qui ne prendront pas la peine de lire ce certificat, donc il me semble justifié de ne pas le faire certifier par un autre organisme, le certificat sera donc auto signé.

Le fichier comprenant toutes ces informations pour le serveur se trouve en annexe 3-b, on peut y voir les différentes options décrites plus haut ainsi que les différentes options moins importantes.

d- Vsftpd, le serveur FTP

Il est souhaitable, devant la démocratisation de l’internet haut débit, que les professeurs puissent accéder depuis chez eux à un répertoire situé sur le site du lycée, pour cela la solution la plus évidente est d’installer un serveur FTP. J’ai, en premier lieu, installé un serveur

classique (ProFTPd), celui-ci est réputé pour sa stabilité, certes il a réussi avec brio les tests que je lui ai fait subir, mais il lui est impossible d’assurer un transport sécurisé de

l’information entre deux points. Les données appelées à se déplacer sont les sujets de devoirs, les corrigés et les différents outils personnels que les professeurs utilisent pour faire leurs cours, il est hors de question qu’un élève puisse trouver ces données en écoutant le réseau d’une manière ou d’une autre.

Pour cela il m’a été nécessaire de trouver un serveur ftp qui puisse assurer un transfert des données fiable et sécurisé, et il me fallait de plus un serveur qui ne puisse pas être attaqué facilement, si le serveur succombait aux attaques répétées d’un pirate, il ne servirait plus à rien. Ainsi, après moult recherches et tests, le serveur répondant le mieux à toutes ses demandes était Vsftpd (Very Secure File Transfert Protocol deamon), en effet il propose de crypter les données en rajoutant une couche SSL (fourni par OpenSSH) et aucune faille de sécurité n’a été découverte sur ce logiciel depuis plus de quatre ans.

Ce serveur propose également de chrooter les utilisateurs dans un répertoire, c'est-à-dire de les empêcher de pouvoir naviguer dans les répertoires du système, cela dans le but de les

empêcher de pouvoir lire les fichiers de configuration du système. Le serveur OpenSSH fournit une solution similaire nommée sftp, mais il est difficile de bloquer les utilisateurs dans un répertoire, et de plus les utilisateurs auront un accès (très limité mais un accès quand même) aux fichiers librairies. Le choix du serveur vsftpd a donc été la meilleure solution, de plus certains grands fournisseurs et associations lui accordent leur confiance (RedHat, Debian, Kde, Gnome, kernel.org, …).

J’ai configuré (annexe 3-c) le serveur vsftpd de manière à ce qu’il donne accès en lecture et écriture aux répertoire maison (/homes/nom_utilisateur) de chaque utilisateur à son

propriétaire, j’ai laissé un accès en lecture et exécution aux autres personnes mais cet accès est rendu impossible car l’accès en anonyme est interdit et le parcours des répertoires

impossible, il est donc impossible pour un utilisateurs de voir les fichiers des autres. L’accès anonyme est donc interdit pour empêcher quelqu'un d’extérieur au lycée de se connecter, cela oblige un attaquant potentiel à connaître l’identifiant d’un professeur pour tenter une attaque par brute force sur le serveur ftp.

(15)

Geoffroy Rabouin Page 15 le 09/06/2005 Lycée Bel Air

Le serveur FTP va enregistrer toutes les opérations sur le serveur, l’entrée de quelqu'un, ce qu’il y fait (envoie de fichier, suppression, …), le temps de connexion et l’heure de départ, tout ceci dans le but de prouver que tel utilisateur a effectué telle manipulation à telle heure pour les cas de litige sur un fichier qui aurait disparu ou aurait été modifié.

Le deuxième avantage de ce serveur est qu’il crypte la connexion via SSL, ainsi les mots de passe seront cryptés et les données également, tout ceci rendant impossible l’écoute du réseau pour y trouver des mot de passe, ce système s’appelle FTPs (FTP secure ou bien encore FTPoS, FTP over SSL). De même que sur le serveur Apache, un système de certificat vient prouver l’authenticité du serveur. Si un attaquant arrive à se faire passer pour le serveur web en arrivant à reproduire le certificat, l’utilisateur en sera averti par un message d’alerte car le certificat ne peut pas être le même, un champ de celui-ci est basé sur le matériel qui compose l’ordinateur (de plus le certificat est basé sur une clé aléatoire de 1024 bits rendant sa copie très ardue)

Pour accéder à ce type de serveur qui utilise une connexion avec une couche SSL, il est nécessaire d’utiliser un client FTP qui gère la sécurisation par SSL (FileZilla par exemple), il est nécessaire d’indiquer au client FTP que le connexion qu’il va établir est sécurisée et que la sélection pour le port FTP-data doit se faire en passif, cela veut dire que c’est le serveur qui sélectionnera le port. Le serveur FTP étant situé derrière un firewall, il est obligatoire que ce soit le serveur qui décide du port à ouvrir, le firewall (iptables) bloque les demandes venant de l’extérieur mais autorise les ouvertures dynamiques de ports depuis la zone sécurisée. J’ai réalisé une documentation à l’intention de l’équipe enseignante afin qu’elle puisse configurer FileZilla (client FTP libre et gratuit) pour se connecter sur le serveur du lycée, cette

documentation se trouve en annexe 2.

L’accès de l’intérieur du lycée est également possible par la même méthode mais il m’a semblé plus judicieux d’ajouter un partage pour les utilisateurs, ainsi ils pourront accéder à leur dossier sur le ftp via le partage classique des fichiers de windows.

e- Samba, le partage pour Windows

Il m’a semblé souhaitable, voir nécessaire que les professeurs puisse accéder à leur dossier sur le ftp depuis une station Windows, pour ce faire, la solution la plus efficace est le serveur Samba. Il permet d’effectuer la copie de fichier par simple glisser-déposer entre le PC

Windows et le serveur Linux, ainsi il suffit de rentrer le serveur samba sur le groupe de travail du lycée pour que celui-ci apparaisse pour tous.

(16)

Geoffroy Rabouin Page 16 le 09/06/2005 Lycée Bel Air

J’ai configuré le serveur samba de manière à accéder au même répertoire que les dossiers du serveur FTP, c'est-à-dire le répertoire ‘home’ des utilisateurs. Les droits d’accès sont complets pour le propriétaire et limités à la lecture seule pour les autres utilisateurs, ceux-ci ne peuvent d’ailleurs pas voir le partage car il est caché dans le voisinage réseau de Windows.

J’ai défini la journalisation des évènements par ordinateur, ainsi, on saura quel ordinateur a accédé à quelle ressource et à quelle heure. Cela permettra de dénouer les conflits entre les personnes qui accuseront une autre d’avoir modifié ou supprimé un fichier. Le dossier partagé sera monté à chaque démarrage par le script qui monte les autres répertoires partagés liés aux diverses ressources fournies aux enseignants. Le fichier de configuration qui a pour tâche de réaliser cela se situe en annexe 3-d.

Samba va refuser l’accès à tous les utilisateurs ne disposant pas d’un compte sur le serveur, cela empêchera les accès anonyme et également les accès aux élèves pour qui se service n’est pas nécessaire, pour cela il a suffit de créer les utilisateurs nécessaires (l’intégralité de

l’équipe enseignante) et de leurs attribuer un même groupe afin de faciliter la gestion des quotas de place disque occupée.Il aurait été possible de les créer un par un, mais cela aurait été fastidieux, ainsi, j’ai créé un script qui va les créer à l’aide d’un fichier texte passé en paramètre, ce script va créer les utilisateurs, attribuer le même mot de passe que sur les autres applications, et donner accès à Samba en validant leur compte. Ce script est fourni en annexe 4 avec le fichier servant de modèle pour créer les utilisateurs.

f- MySQL, le serveur de base de données

Une base de données est une entité dans laquelle il est possible de stocker des données de façon structurée et avec le moins de redondance possible. Ces données doivent pouvoir être utilisées par des programmes (tel PHP) et par des utilisateurs différents. Le serveur web devant héberger du contenu en PHP qui nécessite un accès à une base de données, il m’a semblé logique de choisir le serveur de base de données MySQL, il est réputé pour sa stabilité et son interaction avec PHP. En effet il est très simple de créer une page PHP qui modifie ou accède à une base de données. J’ai pris partie de bien séparer les pouvoirs et les droits des utilisateurs, ainsi j’ai créer un utilisateur et une base par site, un utilisateur n’a pas accès à deux bases et aucune base n’est géré par deux utilisateurs. Seul l’utilisateur root

(l’administrateur du système) peut avoir un accès illimité et donner des droits sur la base.

Le fichier de configuration de MySQL est fourni en annexe 3-e, on peut y voir que j’ai du modifier la configuration pour permettre un accès depuis le réseau (local ou internet) à la base, j’y est également définit le mot de passe pour accéder en root au serveur (il est ici

(17)

Geoffroy Rabouin Page 17 le 09/06/2005 Lycée Bel Air

remplacer par un autre pour des raisons de sécurités évidentes) ainsi que le port sur lequel le serveur MySQL écoutera, ici le port par défaut.

Pour faciliter l’accès à la base de données, j’ai également mis en place un système pour accéder graphiquement aux bases de données, cela évite de devoir permettre aux utilisateurs d’accéder en ligne de commande au serveur (raison de sécurité également car pour autoriser la ligne de commande, il aurait fallu autoriser les utilisateurs à accéder au serveur par SSH, avec le risque de les voir accéder aux fichiers systèmes). Cet utilitaire s’appelle PhpMyAdmin, il est largement utilisé dans le milieu des hébergeurs professionnels. Il offre lors de la

connexion de rentrer son mot de passe, et suivant les droit qui nous sont accordés nous affiche la ou les bases sur lesquelles nous avons des droits. De plus, étant un utilitaire entièrement graphique, n’importe quel utilisateur ignorant les commandes SQL peut tout de même modifier sa base de données sans aide extérieure.

g- Test de stabilité et de failles

Une fois le serveur mis en place, il est nécessaire de le tester pour savoir s’il est apte à prendre la place qui lui est due dans le lycée. Afin de vérifier ce point là, je décide donc de tenter d’attaquer ce serveur par moi-même, ou plutôt en utilisant la multitude de scripts présents sur internet.

Je décide d’essayer trois rootkits (logiciels servant à se mettre les privilèges administrateurs sur un poste, les liens ainsi que les noms de ces logiciels ne seront pas fournis pour des raisons évidentes de sécurité), deux de ceux-ci sont tenus automatiquement en échec, mais le troisième (sorti la veille du test) passe sans aucun problème, je décide donc de modifier la politique de sécurité. Après quelques recherche je découvre le moyen de me prémunir contre ce type d’attaque, il faut pour cela installer un logiciel qui s’occupera de scanner

régulièrement le système à la recherche de ces scripts (il utilise une méthode heuristique, cela veut dire qu’il détecte la manière d’agir et la compare avec sa base de connaissance, si le processus utilise les mêmes instructions, il sera supprimé). Ce logiciel se nomme chkrootkit (cela signifie check rootkits, recherche de rootkits), je décide de le lancer par une tâche

« cron ». Cron est un service sous Linux équivalent du planificateur de tâche sous Windows, cela permet de lancer un processus ou un script à un instant donné, il se paramètre par

« crontab –e » (pour avoir de la documentation, taper « man crontab » dans une console).

Chkrootkit va analyser le système et écrire dans le fichier /chk_result les fichiers suspects trouvés (pour cela il faut utiliser « chkrootkit > /chk_result »), je programme ce test tous les jours dans la nuit pour ne pas gêner les utilisations. Après un autre test, le rootkit est détecté et mis hors d’état de nuire.

Dans un deuxième temps je décide d’analyser les ports ouverts sur l’extérieur, ainsi, je me procure le logiciel Nmap, utilitaire très efficace pour détecter les ports ouvert sur un ordinateur. Ce logiciel est capable de scanner un PC sans que ce dernier ne sache quel ordinateur est en train de l’analyser, il effectue une détection de telle manière que même les connexions refusées soit listées (les connexions refusées le sont la plupart du temps car elles nécessitent un mot de passe). Une fois ce test lancé, j’obtiens comme résultat que les ports correspondant aux services « echo », « discard » et « daytime »sont ouvert, pour les

(18)

Geoffroy Rabouin Page 18 le 09/06/2005 Lycée Bel Air

supprimer, il suffit de désactiver les services qui les exploitent, les services étant gérés par /etc/inetd.conf, il suffit de commenter les lignes concernant ces services (ce sont des services vieux et inutilisés avec les applications récentes). Je relance une analyse des ports ouverts et ne trouve que les ports normaux :

PORT STATE SERVICE

21/tcp open ftp #serveur FTP

80/tcp open http #serveur web 139/tcp open netbios-ssn #serveur samba 443/tcp open https #serveur web sécurisé 3306/tcp open mysql # serveur MySQL

Ainsi, je peux assurer que les attaques potentielles ne viendront pas de services inutilisés, mais seulement des services lancés volontairement, cela limite énormément le risque de faille compte tenu que les service retenus pour fonctionner sur ce serveur sont les plus sécurisés actuellement.

Je me suis ensuite attelé au serveur web en lui-même, pour cela j’ai utilisé un logiciel qui analyse le serveur pour trouver les failles potentielles, après plusieurs heures de test intensif, le résultat est sans appel aucune faille connue n’est exploitable. Pour continuer à assurer une maintenance aussi efficace, il est nécessaire de surveiller les rapports de bug et les alertes de sécurité (par exemple grâce au site http://www.frsirt.com), dès la sortie d’une faille ou d’un danger potentiel il sera nécessaire de porter une attention toute particulière aux fichiers journaux afin de s’assurer qu’aucun trafic suspect n’est présent.

Il est sécurisant et rassurant de savoir que l’équipe Debian est à l’affût de ces problèmes et est prompte à réagir, ainsi, lors de la découverte d’une faille, il faudra en moyenne 12 à 24 heures pour qu’un correctif soit publié, pour appliquer ce correctif, il suffit juste d’effectuer deux commandes :

apt-get update # cela va mettre à jour la base des paquets

apt-get upgrade #cela va mettre à jour les paquets installés avec les dernières versions disponibles

J’ai également ajouté dans mon cron une tâche qui va effectuer cette mise à jour toutes les 24 heures (dans la nuit également), ainsi, il sera inutile aux responsables du service informatique de lancer cette mise à jour manuellement, ils devront cependant (cela ne peut pas et ne sera jamais possible) vérifier manuellement régulièrement que les mises à jour se sont bien installées, et ceci environ une fois tous les deux mois.

Afin de vérifier l’utilité de tous les systèmes de cryptage mis en place, je décide d’analyser tous les flux circulant sur le réseau. Je branche le PC espion directement sur la même zone que le serveur web grâce à un hub (il va donc répéter sur tous les ports ce qu’il reçoit, ainsi, je suis sûr de voir les mêmes informations que le serveur web), sur ce PC je lance ethereal pour analyser le flux. Je lance à partir d’un PC client diverses commandes (accès FTPs, HTTP, HTTPs, samba, et MySQL), je retourne sur l’ordinateur espion et analyse les informations reçues. Les requêtes http, MySQL et Samba apparaissent en clair, mais cela n’est pas important car les mots de passe sont cryptés et ne sont utilisé qu’une seule fois (il faut donc écouter au bon moment et il est pratiquement impossible de décrypter un mot de passe si on

(19)

Geoffroy Rabouin Page 19 le 09/06/2005 Lycée Bel Air

ne dispose que d’un seul terme crypté). Les requêtes et toutes les transactions FTPs et HTTPs sont cryptées et il est impossible actuellement pour un utilisateur normal de décrypter le protocole SSH2 (pour exemple il faut 3 semaine pour décrypter une clé SSH2 de 128bits, en trois semaines, les informations ne sont plus confidentielles).

Le dernier test, mais également le plus difficile à mettre en œuvre a été la résistance à une attaque de type buffer overflow par consommation de bande passante suivi d’une attaque elle aussi par buffer overflow mais celle-ci par consommation de ressources système. Afin

d’effectuer ces test, j’ai du envoyer des paquets erronés (IP spoofing) à tous les postes du réseau pour qu’ils renvoient au serveur web une requête que j’ai défini moi-même par avance, cette attaque a pour but de faire tomber le serveur, j’ai donc dû attendre la fin des cours et le départ de toute l’administration pour me lancer dans cette aventure. L’idée pour effectuer cette attaque n’est pas spécialement dure, il suffit d’envoyer une requête à tous les PC du parc en leurs demandant de répondre à cette requête en même temps sur un seul post, ceci dans le but de rendre le serveur web inopérationnel, soit car le réseau est saturé, soit car le serveur web n’arrive plus à fournir les informations à toutes ces demandes.

Le test pour faire une consommation de toute la bande passante s’est résumé à envoyer un paquet forgé par mes soins à tous les postes du même réseau. Ce paquet contenait une requête ping (c’est un paquet qui une fois reçu ‘oblige’ le receveur à renvoyer un paquet à l’émetteur pour accuser réception) avec pour adresse source (l’émetteur du paquet à qui il faut répondre) l’adresse du serveur web. Ainsi le serveur web sera saturé de réponse de tous les utilisateurs en même temps. Après avoir lancé cette requête le serveur a reçu une multitude de paquets simultanément, le réseau étant en 100Mbps, le réseau a vite été saturé, mais le noyau du linux ayant été compilé (par mes soins) de manière à supporter les attaques de ce genre (IP: TCP syncookie support = disabled, Network packet filtering (replaces ipchains)=true, IPsec user configuration interface=true, Socket and Networking Security Hooks=true) il est resté fonctionnel une fois l’attaque passée.

Le test servant à consommer la plupart des ressources systèmes est effectué grâce à l’envoi de paquets http sur le serveur, les paquets envoyés contiennent des informations GET, cela va obliger le serveur à répondre à ces requêtes, le but de cette attaque est de saturer le serveur afin que sa puissance de calcul ne soit plus assez suffisante pour assurer les réponses aux différents clients. Le serveur Apache est configuré de manière à refuser les accès en cas de demandes trop importantes, ainsi ce serveur est protégé contre les attaques de type déni de service par consommation de ressources. Les autres serveurs nécessitant une identification, il est impossible de les saturer, sauf bien entendu en cas d’attaque sur un niveau nettement plus grand (par exemple une attaque simultanée de centaines de postes). De plus ce serveur est situé derrière un firewall, donc les attaques extérieures sont rendues caducs grâce aux filtrages que celui-ci opère.

On s’aperçoit donc ici que l’attaque la plus virulente a été l’attaque par déni de service par consommation de bande passante, cette attaque devant être mené depuis l’intérieur du réseau, elle est très improbable, donc, je peux affirmer que la sécurité est maximale (dans le cadre de mes possibilités et des moyens qui m’ont été offert).

(20)

Geoffroy Rabouin Page 20 le 09/06/2005 Lycée Bel Air

h- Passage de woody vers sarge

Pour assimiler ce qui va suivre il faut comprendre la manière de fonctionner de Debian, cette distribution se base sur trois distributions :

- la stable surnommée ‘woody’ qui est spécialement éditée pour les serveurs.

Elle est longuement testée afin de garantir un fonctionnement irréprochable.

- la testing que l’on appelle également woody est la version appelée à devenir stable, c’est elle qui sera testée afin de garantir un fonctionnement parfait.

Cette distribution est conseillée pour une utilisation familiale sur un ordinateur de bureau.

- La dernière version est la plus dangereuse à utiliser, elle dispose des paquets les plus récents, mais rien ne garantit son bon fonctionnement, les bugs ne sont pas encore découverts et les failles de sécurité y sont légion. Cette version est conseillée pour les développeurs voulant aider au développement. Son nom devrait laisser réfléchir, elle se nome ‘sid’, ce qui signifie ‘Still In

Development’, ce nom a aussi été choisi car dans ToyStory le jeune garçon qui casse tous les jouets se prénomme également Sid.

Le lundi 6 juin à 00h15, la version woody de Debian a disparu pour être remplacée par la version sarge, ainsi la nouvelle version stable s’appelle sarge. Une nouvelle version testing est apparue, elle se prénomme ‘echlt’, elle remplace donc la sarge. La distribution unstable, elle, reste unstable, et cela pour toujours.

Ainsi le fichier qui indique où prendre les mises à jour du serveur a dû être refait, ainsi vous pourrez voir les différences en allant voir les annexes 3-g-3 et 3-g-4.

4- Symantec Ghost et l’open source

Symantec Console Ghost permet de restaurer le contenu d’un disque dur dans son intégralité via le réseau, on peut remettre le système d’exploitation, les paramètres IP, adresses de DNS, nom de PC, route par défaut…

Les licences de Symantec Console Ghost revenant à 20€ par postes et par an, il est envisagé de remplacer ce logiciel par un logiciel issu du monde de l’open source et donc, du gratuit.

Pour cela, quatre solutions m’ont semblé envisageables, Unatended, ANI, PartImage et g4u.

Ces logiciels sont tous gratuits et offre des avantages et des inconvénient propres. La meilleure solution pour savoir lequel convient le mieux au besoin actuel du lycée est de les tester tous dans des conditions réelles, en effet ce type de logiciels n’est absolument pas documenté et il faut effectuer tous les tests par soi-même.

(21)

Geoffroy Rabouin Page 21 le 09/06/2005 Lycée Bel Air

a- Unatended

Ce logiciel nécessite un serveur devant héberger les fichiers images de disque des PC. Cela est réalisé par un serveur Samba accessible par le réseau, les PC sont démarrés via un disque de démarrage, cela oblige à se déplacer physiquement sur les ordinateurs clients, mais ce problème est encore tolérable. Le mode d’installation automatique de Windows via le fichier unatend.txt est court-circuité par ce logiciel, après plusieurs recherches, nous nous apercevons qu’on ne peut pas obliger à effectuer une installation automatique, il sera nécessaire de rentrer tous les paramètres manuellement, cela n’est pas acceptable compte tenu de la taille du parc informatique.

Ce logiciel est donc très utile pour les utilisateurs désirant effectuer des installations différentes par le réseau, cela est pour nous inutile, en effet nous voulons une installation automatisée.

b- ANI

Ce second logiciel crée une véritable installation automatisée de Windows, pour cela il utilise des scripts écrits en perl (un langage de programmation) pour installer à la fin de l’installation de Windows les logiciels et les patchs nécessaires. Il est possible de choisir ce que l’on veut installer avant de lancer l’installation, on peut donc ainsi multiplier les restaurations de postes multiples avec la même configuration. Ce logiciel serait parfait s’il n’installait pas perl dans Windows, en effet perl n’a pas de raison d’exister dans une installation classique de

Windows, de plus ce langage est très régulièrement mis à jour pour corriger certaines failles de sécurité. Il est donc impossible de gérer tout un parc de PC avec un logiciel inutile à mettre à jour régulièrement. Il est tout à fait possible de le désinstaller, mais un problème inhérent à Windows refait son apparition, lors d’une désinstallation certains fichiers ou clés de registres ne se suppriment pas. La volonté première étant de créer un parc d’ordinateur fiable il nous est impossible de se reposer sur un Windows bancale dès le premier démarrage.

Ce logiciel peut très bien servir aux personnes non pointilleuses n’ayant pas besoin d’un ordinateur irréprochable.

c- PartImage

PartImage est le plus connu de ce comparatif, en effet, c’est le seul à disposer d’une interface graphique permettant le réglage de tous les paramètres. Cela est beaucoup plus simple

d’utilisation pour un novice dans le monde Linux. Les différents menus nous permettent de sélectionner les partitions (et non les disques complets) et permettent aussi de sélectionner le serveur samba sur lequel on veut sauvegarder le fichier image. Il est possible de crypter les transferts d’informations si les données contenues sur l’image sont confidentielles. Mais ce système est vieillissant et certains problèmes peuvent survenir avec du matériel trop récent.

(22)

Geoffroy Rabouin Page 22 le 09/06/2005 Lycée Bel Air

La solution est d’utiliser un « live-cd » de type Knoppix, cela permet de bénéficier de pilote pour les cartes réseaux récentes mais, en contrepartie le temps de démarrage du logiciel est considérable, et de plus, il est nécessaire de passer physiquement derrière tous les PC du parc informatique. Ainsi ce logiciel est parfait pour tous ceux qui n’ont pas un ordinateur trop récent ou avec un matériel plutôt classique.

Pour l’utilisation souhaitée (PC Dell dernière génération) il aurait été nécessaire d’utiliser un cd de démarrage pour chaque PC ainsi qu’un serveur samba pour stocker les fichiers images à distance. Cette solution a donc été également rejetée.

d- g4u

Ghost-For-You ou bien encore appelé g4u est un utilitaire lancé au démarrage du PC via un disque compact, il permet d’effectuer lui aussi une sauvegarde du système sur le réseau, mais lui ne nécessite pas de serveur samba, un simple serveur FTP lui suffit. Ce système a la particularité de pouvoir copier n’importe quel système de fichier (NTFS, Fat16/32, ext2/3,

…), pour ceci il effectue une copie au niveau des clusters du disque, c'est-à-dire qu’il copie les bits tels quels, sans chercher une signification quelconque. Cela est très utile dans un environnement hétéroclite, mais plutôt lourd à l’utilisation dans un univers uniquement Windows. De plus, cette manière de procéder oblige à copier les secteurs ne contenant aucune information du disque, ceux-ci sont de taille de 40Go et sont occupés par environ 2 Go de données utiles, nous voyons donc que 38Go seront copiés sur l’image pour rien…

La place occupée par les données ayant un coût non négligeable, il est impossible de conserver cette solution.

e- Conclusion

Bien que l’open source fasse d’énormes progrès il est encore impossible d’effectuer une sauvegarde d’un système d’une façon aussi performante que Ghost. Ce logiciel est fourni avec une console qui permet de remplacer à distance les paramètres de configuration de tous les postes du réseau et de les appliquer automatiquement lors de la restauration du système. Nous allons donc continuer à utiliser cette solution tout en gardant un œil sur les solutions gratuites qui ne cessent d’évoluer.

(23)

Geoffroy Rabouin Page 23 le 09/06/2005 Lycée Bel Air

5- Le forum des anciens BTS a- La base

Les anciens étudiants de BTS souhaitant pouvoir garder contact, on m’a demandé de créer un forum pour leurs permettre de se retrouver et de continuer à pouvoir organiser des soirées entre eux.

J’ai choisi la base phpBB pour effectuer ce forum, en effet ce forum est très répandu et assez simple d’utilisation et de configuration, ne me chargeant uniquement que de l’installation et de la configuration de base je me devais de mettre en place un système relativement simple à l’utilisation. De plus, je connaissais ce forum depuis plusieurs mois, j’ai sur mon temps personnel déjà monté un forum de ce site (un pour le département GTR de l’IUT de La Rochelle et un second pour l’université de La Rochelle ayant pour adresse respective :

www.iut-gtr.tk et www.forum-univ-lr.tk). Ce forum est relativement facile à administrer pour un utilisateur lambda, toute la configuration se fait par interface graphique. Il suffit de

sélectionner dans le panneau d’administration le nom d’une personne inscrite sur le forum pour y régler ces droits par des options à cocher. Par exemple pour donner les droits de modérateur (celui qui calmera les ardeurs et sanctionnera ceux qui n’ont pas respecté les règles) il suffit de changer le statut de la personne choisie pour le faire passer de ‘utilisateur’ à

‘modérateur’.

Le gros problème de ce système est le nombre important de failles qui sont découvertes assez régulièrement, il faudra donc que l’administrateur du forum soit quelqu'un de sérieux et prenne à cœur son travail. Par acquis de conscience j’ai sauvegardé tous les fichiers de ce forum sur une partie du serveur inaccessible par apache, ceci dans le but de pouvoir restaurer le forum en cas de problème.

J’ai également écris des règles pour le bon fonctionnement du forum, il y est décrit toutes les règles à observer pour une entente cordiale entre tous les utilisateurs.

b- Les Modifications

J’ai décidé d’effectuer sur le forum plusieurs ajouts, ces modifications servent à améliorer le forum et à lui ajouter de multiples changement, les trois plus grosses modifications

concernent l’ajout de la modification ‘arcade’, l’ajout d’une possibilité de joindre un fichier à un message sur le forum (musique, image, …) et l’ajout de deux nouvelles ‘peau’ pour le forum, ces peaux permettent de changer l’apparence et la couleur du forum de manière à plaire à l’utilisateur.

(24)

Geoffroy Rabouin Page 24 le 09/06/2005 Lycée Bel Air

1- Arcade

Cette modification permet d’ajouter sur le forum des jeux programmés en flash, le but de ceci est d’organiser des concours entre tous les participants. Le meilleur score de chaque joueur étant sauvegardé, il est amusant et très prenant d’essayer de battre une autre personne sur son jeu favori. J’ai ajouté plus de mille jeux sur ce forum, ces jeux sont classé suivant des

catégories (puzzle, courses, réflexion, sport de ballon, …) de manière à ce que les utilisateurs puissent immédiatement trouver leur bonheur. Il sera tout à fait possible dans un deuxième temps d’organiser un petit tournoi avec pourquoi pas un lot à la clé pour le gagnant. Il est possible également de remettre à zéro les scores, mon expérience personnelle m’a appris que l’intérêt disparaissait si les scores étaient trop dur à battre, pour cela, il suffira d’aller dans le panneau d’administration puis dans le menu jeux pour sélectionner tous les jeux et cliquer sur l’option remettre à zéro les scores.

2- Attach’mod

Cette modification permet aux utilisateurs de joindre un fichier à chacun de leur message sur le forum, ainsi il est nettement plus facile de joindre une photographie d’une soirée ou même une vidéo. Il est bien entendu interdit de joindre un fichier potentiellement dangereux pour les utilisateurs ou pour le serveur, ainsi les fichiers php (pouvant être dangereux pour le serveur) et les fichiers exécutables (.exe, .com, .bat, .vbs, …) sont interdits de séjour sur le forum, tout utilisateur voulant envoyer ces fichiers se verra refuser l’envoi de son message. Si son fichier ne contient pas de virus, il est tout à fait possible de le compresser avec un logiciel de type Winzip pour l’envoyer sur le serveur. Cet outil devant être un plus et non un poids pour le serveur, il m’a été nécessaire d’instaurer des quotas sur le nombre de fichiers envoyés, ainsi, chaque fichier à une taille limitée à 1,44Mo (la taille d’une disquette), et chaque utilisateur est limité à 10Mo de fichiers sur le serveur. Il est tout à fait possible pour chaque utilisateur de supprimer les fichiers joints quand ils ne sont plus utiles, ceci dans le but de rendre le serveur aussi rapide que possible.

3- Thèmes

Le thème standard de tous les forums phpBB est le même, c’est un thème bleu et relativement clair, il m’a semblé important de différencier le forum des anciens BTS de Bel-Air des autres forums en proposant plusieurs thèmes différents, j’ai donc choisi après concertation avec plusieurs personnes deux autres thèmes, l’un se situe dans les tons rouges et l’autre allie le blanc et le rouge dans un subtil mélange. J’ai du modifier les logos des trois thèmes pour mettre le nom du forum à la place du nom du thème (tout en laissant le nom du créateur et en conformité avec la licence d’exploitation du thème).

(25)

Geoffroy Rabouin Page 25 le 09/06/2005 Lycée Bel Air

6- Audit du réseau

J’ai effectué un audit (à petite échelle bien entendu, un véritable audit prend plusieurs mois) afin de voir quels services fonctionnaient sur les machines serveurs et clientes. Ceci dans le but de supprimer l’inutile et d’alléger le réseau en répartissant mieux les postes sur les switchs de l’établissement afin de diminuer les domaines de broadcast et de collisions.

(26)

Geoffroy Rabouin Page 26 le 09/06/2005 Lycée Bel Air

Afin d’effectuer cet audit, j’ai tout d’abord regardé les trames circulant sur le réseau, de manière à savoir s’il y avait beaucoup de trames perdues sur le réseau, le logiciel Ethereal m’a encore une fois été très utile. Je me suis rendu compte que plus du quart des données

transmises n’arrivaient pas à leurs destinataires, après une enquête rapide, je me suis rendu compte que c’étaient les câbles Ethernet qui étaient en cause, en effet ils ont été mal (trop vite sûrement) fabriqués, la prise ne serrant pas sur la gaine protectrice mais sur les paires de cuivres. Il serait donc intéressant de refaire les câbles, le débit en serait augmenté, en effet moins de trames circuleraient en même temps. Les responsables du service informatique ont été mis au courant de ce point ci.

Une fois cette écoute banale effectuée, j’ai décidé de m’attaquer à la partie la plus

intéressante, l’écoute des serveurs. Cela veut dire que j’ai du scanner les postes serveur de manière à savoir les ports ouverts sur chaque machine (un port ouvert signifiant que au moins une application l’utilise) et ensuite les comparer à la liste logique des ports ‘normaux’ qui devrait être ouvert sur ce type de machine compte tenu des services y fonctionnant.

La plupart des serveurs n’avait aucun soucis, les ports étaient bien tous fermés et les services inutiles stoppés. Mais un serveur sous Windows 2000 Advanced Server avait un port suspect, le 5555, je me suis rendu compte que ce port correspondait à un trojan (virus qui donne accès au poste à un utilisateur distant). Norton, l’anti-virus utilisé dans le lycée, ne le détecte pas.

Après en avoir parlé avec M A-Chick (assistant d’éducation en informatique) qui m’assure que tous les services tourne sur le port par défaut, j’en déduit que Norton est inefficace sur ce point là. Après quelque recherche sur internet, je trouve le remède à ce virus et l’éradique.

Une deuxième analyse après un redémarrage me rassure en me montrant bien que ce port est dorénavant fermé.

L’analyse des postes clients ne révèle rien de suspects, cela est du en grande partie au remarquable travail du firewall IpCop (voir II-7) qui empêche toute entrée sur le réseau du lycée.

Je n’ai malheureusement pas le temps de me préoccuper de la qualité de service (QoS, quality of service) sur le réseau, cela m’aurait permis de mieux segmenter le réseau et de voir quels switchs sont saturés de demandes et à l’inverse quels autres sont très peu utilisés. Cette étude sera très importante à faire lors du passage (s’il a lieu) au Gigabits, en effet il est vital que les switchs les plus accédés soit des switchs Gigabits, ceci afin de permettre une décongestion du réseau.

(27)

Geoffroy Rabouin Page 27 le 09/06/2005 Lycée Bel Air

7- IpCOP, un firewall très efficace

a- Généralités sur les firewalls

Le but lors de l’utilisation d’un firewall est de fermer tous les ports puis de contrôler l'ouverture de certains d'entre eux ainsi que de contrôler les tâches et protocoles qui s'en servent. On sait que les différentes applications utilisent pour « sortir » vers l’extérieur des ports, ils sont 65 536, les principaux (ceux utilisés le plus souvent) ont un numéro inférieur à 1024. Généralement, les ports inférieurs à 1024 sont utilisés pour les fonctions serveurs et les autres pour les fonctions clients.

Tous ces autres ports devraient être fermés. Windows les laisse tous ouverts. Si un

programme, couramment appelé un cheval de Troie (troyen), s'installe et se met à l'écoute sur un de ces ports, son commanditaire, le pirate, peut prendre le contrôle de l'ordinateur et y effectuer ce qu'il veut. On installe donc un firewall en entrée du réseau pour empêcher les données venant de l’extérieure de rentrer.

b- Fonctionnement

IpCop est une distribution Linux complète dont le seul but est de protéger le réseau sur lequel il est installé, c’est la Distribution Linux destinée à ceux qui veulent maintenir leur réseau en sécurité. C’est une solution firewall basée sur un serveur, ainsi, un ordinateur est dédié à la fonction de vérifier les différents transferts de données. IpCop est open source et est

distribuée sous les termes de la licence GNU GPL. Le fait que les sources soient disponibles permet à des experts en sécurité du monde entier de contrôler et de corriger des trous de sécurité, chose relativement utile dans un milieu où la sécurité est nécessaire.

Les caractéristiques de ce firewall sont :

- Un firewall basée sur une plate-forme Linux sécurisée, stable et hautement configurable (Iptables).

- Un serveur web permettant une administration aisée du firewall.

- Un serveur DHCP qui aide à la configuration de son réseau interne.

- Un serveur proxy pour le DNS qui permettra une accélération des requêtes DNS.

- Un serveur cache pour le web qui autorisera un accès plus rapide au web.

- Un système de détection des intrusions (IDS) pour identifier les attaques externes vers le réseau.

- La possibilité de partager la connexion en un réseau GREEN (le réseau élève), sécurisé et protégé de l’internet, en une zone démilitarisée (DMZ où se situe le serveur web) qui contiendra les serveurs accessibles au public et partiellement protégé de l’internet, et en un réseau BLUE (le réseau administration) du même type que le réseau GREEN dans notre exemple.

- Un VPN qui permet de connecter votre réseau interne sur un autre réseau privé en utilisant l’internet pour ne former qu’un seul réseau logique, ce VPN sera utilisé dès que la deuxième ligne internet sera ouverte.

(28)

Geoffroy Rabouin Page 28 le 09/06/2005 Lycée Bel Air

c- Ajouts

La connexion internet devant être utilisée par des élèves, il est inutile et dangereux qu’ils accèdent à des sites potentiellement dangereux (warez, crack, …) ainsi qu’à des sites pour adultes, de publicité, … Il est donc utile d’effectuer un filtrage sur le contenu, pour effectuer cela, j’ai décider d’utiliser un programme tiers se greffant sur le firewall, urlfilter. Ce logiciel ajoute des possibilités de filtrage relativement importantes et précises, par exemple on peut définir une liste de sites interdits, des mots interdits, interdire les téléchargements, le contenu vidéo ou audio, … Toute page bloquée sera remplacée par une page expliquant le pourquoi du blocage, l’utilisateur pourra s’il le juge nécessaire contacter l’administrateur pour obtenir le déblocage du site (passage en WhiteListe du site demandé). La liste des sites interdits est tenue à jour par l’université de Toulouse, elle est mise à jour toutes les semaines, cela prouve sa fiabilité et sa réactivité. Il est de plus possible (bien que non mis en place dans un premier temps) de bloquer l’accès suivant le navigateur utilisé et l’heure de connexion, ainsi on peut très bien penser à ouvrir tous les sites après les cours par exemple.

Certaines salles de l’établissement sont en accès libre service, le souhait a été formulé de bloquer l’accès à ces salles si aucune personne responsable n’était présente. Ainsi un module permet de réaliser cette tâche, il s’appelle advanced proxy. Il gère l’autorisation et

l’interdiction suivant l’adresse IP et suivant l’adresse MAC, ainsi on peut autoriser

l’ordinateur portable du lycée à se connecter de partout en connaissant son adresse MAC, et interdire les ordinateurs de la salle libre service d’un simple clic.

(29)

Geoffroy Rabouin Page 29 le 09/06/2005 Lycée Bel Air

Toute la configuration s’effectue par interface graphique, ce qui permet à une personne qui ne connaît pas les règles de filtrage iptables de réussir à bien paramétrer son réseau.

(30)

Geoffroy Rabouin Page 30 le 09/06/2005 Lycée Bel Air

III- Avis personnel 1- L’Humain

Le fait de travailler dans un lycée m’a permis de rencontrer énormément de gens, du

professeur à l’équipe administrative en passant par les élèves. J’ai pu me rendre compte de la vie du professeur de l’autre coté, et non plus du coté élève ou étudiant. J’ai pu multiplier les contacts avec des personnes d’horizons totalement différents, cela m’a permis d’apprendre à adapter mon discours suivant la qualification de la personne. L’ambiance du lycée étant relativement bonne, j’ai pu aisément m’insérer et être accepté par tous, y compris les élèves.

J’ai occupé une place moins gratifiante que les deux autres stagiaires effectuant leur stage en même temps que moi, ils fabriquent un site pour faciliter la recherche de stage des élèves, mais cette place légèrement en retrait me convient parfaitement. Je ne ressens pas le besoin de faire savoir à tout le monde que c’est moi qui est rendu possible les futures applications sur le serveur. Je sais que mon travail est apprécié à sa juste valeur par les personnes travaillant avec moi, cela est largement suffisant, et savoir que j’ai pu rendre possible ce projet d’aide à la recherche de stage me satisfait pleinement. J’ai également eu des retours sur la mise en place du forum pour les BTS, les étudiants étaient enchantés de savoir qu’ils pouvaient dorénavant garder contact via ce site.

Le plus agréable lors d’un conflit avec un humain est la possibilité de partager et de mettre en commun son point de vue afin de trouver une solution satisafaisant tout le monde. En cela il n’est pas concevable de remplacer le contact humain par une machine, jamais une machine n’arrivera à remplacer le bonjour et le contact physique, et cela est heureux.

2- La Machine

Durant ce stage j’ai appris à travailler sur un réseau de grande taille, et non plus uniquement sur des ‘bricolages’ servant à imiter ceux-ci. A ma plus grande surprise, le plus difficile n’est pas de gérer un grand parc, mais de se déplacer sur la totalité du lycée.

J’ai pu découvrir plusieurs technologie en condition d’utilisation réelle et non plus sur les comparatif de matériels, voir fonctionner une carte Raid5 et tester son efficacité m’était bien entendu impossible avant ce stage (cette carte coûte 300€). J’ai pu tester en condition réelle un serveur de ma fabrication, cela peut paraître égocentrique mais le plaisir ressenti à voir les autres utiliser son matériel est important. L’aspect sécurité ayant été prédominant dans ce stage, j’ai pu développer mes connaissances sur les différentes techniques utilisées pour se protéger contre les attaques potentielles. Souhaitant faire de cette spécialité mon travail futur, j’en retire une grande expérience personnelle.

Le plus grand problème quand une machine ne veut pas faire ce qu’on lui demande est son manque de coopération, en effet on a beau lui demander le plus gentiment du monde la cause de son mécontentement, elle restera muette. Et quoi qu’en disent les plus férus

d’informatique, jamais un fichier log n’aura le même poids dans une conversation qu’un sourire.

(31)

Geoffroy Rabouin Page 31 le 09/06/2005 Lycée Bel Air

IV

ANNEXES

(32)

Geoffroy Rabouin Page 32 le 09/06/2005 Lycée Bel Air

ANNEXE 1 Création d’un

serveur Web et FTP pour le lycée Bel-Air,

Fontenay Le Comte

(33)

Geoffroy Rabouin Page 33 le 09/06/2005 Lycée Bel Air

Création d’un serveur Web et FTP

pour le lycée Bel-Air, Fontenay Le Comte

http://www.eplea-belair.educagri.fr

Références

Documents relatifs

Q16 : Configurez votre serveur pour qu’il puisse héberger un autre site (site virtuel) appelé «test» dont l'arborescence (répertoire racine du site) se trouve dans le

Dans notre cas, afin de faciliter l’installation de SQL Server 2012 sur les 3 serveurs, nous avons sélectionné un serveur avec une interface graphique et nous avons lancé la

A noter, pour diffuser les broadcasts, lancés par certains jeux en mode réseau, il faut créer une interface virtuelle particulière que l'on appelle pont ou bridge.. $OPENVPN

Encore une fois, il faut fixer l’adresse IP du télphone, et cela peut se faire depuis la box Internet ou depuis l’interface web :.. Ensuite, il faut allez dans Global SIP pour

Créez un lien ODBC (aller dans le panneau de configuration, outils d'administration, sources de données (ODBC), onglet sources de données utilisateur, et créez une nouvelle source

?3 -> Le disque de l'OS sur lequel vous voulez installer GRUB (c'est généralement la même valeur que ?1).. ?4 -> La partition de l'OS sur laquelle vous voulez installer

Nous allons maintenant faire « booter » la machine virtuelle sur l’image du cd d’installation de la debian4. Cliquez sur cd, « Capture ISO image », et faîtes pointer vers l’image

Pour la sélection du serveur choisir Select a server from the server pool et cliquer Next.. Dans les roles de serveur, metter case serveur Web Server IIS et