Chapitre 3

Chapitre 3 :
Introduction :
L’informatique est aujourd’hui un composant critique de l’entreprise. La sécurité du système d’information est au cœur de la préoccupation des responsables informatiques. Ils se doivent de garantir la protection du réseau et l’intégrité des données face aux menaces qui évoluent en permanence. Il est important pour l’entreprise de faire face à l’évolution des menaces et de savoir répondre aux réglementations imposées.

Dans ce chapitre, on va présenter en détail l’acheminement de notre travail, qui consiste à mettre en place un proxy Squid sous CentOs linux. nous allons en premier lieu, définir l’environnement du travail.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

Problématique :
Dans toute entreprise, le partage de données est devenu une des tâches primordiales dans le souci de rendre tout au clair et à la portée de tous via le réseau de l’entreprise. Ce dernier est de plus en plus accessible, mais il recèle de nombreux dangers, souvent ignorés par beaucoup d’utilisateurs.

La problématique se pose sous forme de questions qui sont les suivantes :
Comment avoir un contrôle et un audit sur les contenues consultés par les utilisateurs du réseau ?
Comment contrôler sa bande passante ?
Comment protéger les utilisateurs des contenues malicieux ?
Présentation du projet :
Le projet consiste à proposer une solution aux problèmes liés à l’utilisation d’internet au sein de l’entreprise, en mettant en place un proxy squid open source qui en plus d’être puissant et rapide, est une solution gratuite. Qui permet d’atteindre nos objectifs pour renforcer la sécurité de réseau LAN de l’entreprise et ce en permettant :
L’accès des utilisateurs à Internet sera soumis à une authentification.

L’accès à internet sera par niveaux, donc chaque groupe d’utilisateur aura un accès plus ou moins restreins.

Un cache web : sauvegarde des pages et document pour une utilisation ultérieur
Intégration d’un anti-virus pour l’analyse du trafic.

Pour mener à bien notre travail, nous allons dans un premier temps faire une présentation de l’entreprise EPB (Entreprise Portuaire de Bejaia) ensuite nous présenterons les différentes technologies et outils nécessaires pour ce travail.

Présentation de l’EPB :
L’entreprise portuaire de Bejaia, est un port algérien, situé dans la ville de Bejaia, il joue un rôle très important dans les transactions internationales vu saplace et sa position géographique, Le port est consacré au commerce international et aux hydrocarbures. Il est classé deuxième port d’Algérie en termes d’activité commerciale et 3ème port pétrolier. Il est également le 1er port du bassin méditerranéen certifié pour les trois systèmes ISO 9001.2000 pour la qualité, ISO 14000 pour l’environnement et OHSAS 18001 pour l’hygiène, santé et sécurité au travail, et à avoir ainsi installé un système de management intégré.

Département informatiqueC’est un service qui appartient à la direction marketing.Ses principales fonctions sont :
Le suivi des applications de gestion
La maintenance du parc informatique de l’entreprise
Audit et amélioration du système d’information
Sauvegarde et contrôle des données de l’entreprise
Le développement de nouvelles applications aux différentes structures
Analyse du projet :

Figure 15 : Schéma réseau globale EPB

Figure 16: segment réseau touché par l’étude
Ressources matérielles et logiciels :
Ressource matérielles :
L’entreprise Portuaire de Bejaia dispose d’un parc informatique très vaste
Ressource logiciels :
Les logiciels utilisé durant notre travail on cite :
Présentation de VMware Workstation:
C’est la version station de travail du logiciel. Elle permet la création d’une ou plusieurs machines virtuelles au sein d’un même système d’exploitation (généralement Windows ou Linux), ceux-ci pouvant être reliés au réseau local avec une adresse IP différente, tout en étant sur la même machine physique (machine existant réellement). Il est possible de faire fonctionner plusieurs machines virtuelles en même temps, la limite correspondant aux performances de l’ordinateur hôte. La version linux présente l’avantage de pouvoir sauvegarder les fichiers de la machine virtuelle pendant son fonctionnement.

Présentation de GNS3 :
GNS3 (Graphical Network Simulation) est une solution libre disponible sous Windows, GNU/Linux et MacOs, GNS3 est un logiciel utilisé pour simuler différents périphériques virtuels et les dispositifs réels comme les routeurs, commutateurs… Il utilise Dynamips qui est un logiciel d’émulation pour simuler des périphériques virtuels. L’interface est graphique, elle est simple et agréable d’utilisation.

Présentations des systèmes d’exploitation :
Windows 7  professionnel :
est un système d’exploitation de la société Microsoft, sorti le 22 octobre 2009 et successeur de Windows Vista. Bien que le système s’appelle Windows 7, Windows 7 possède le noyau amélioré de son prédécesseur, avec comme lourde tâche de laver l’échec commis par son ainé.

Windows server 2016 R2 :
C’est un système d’exploitation pour serveurs x64 de Microsoft, destinée aux serveurs d’entreprise. Il est connu aussi sous le nom Windows Server vNext .Microsoft Windows Server est conçu pour fournir aux entreprises la plateforme la plus productive pour virtualiser de charges de travail, alimenter des applications et protéger des réseaux. Il propose une plate-forme sécurisée et facile à gérer servant à développer et héberger de façon fiable des applications et des services Web. Du groupe de travail au centre de données, Windows Server 2016 propose des fonctionnalités nouvelles et extrêmement utiles, et des améliorations importantes au système d’exploitation de base.Windows Server propose une gamme de nouvelles technologies de sécurité améliorées, ce qui renforce la protection du système d’exploitation et offre une base solide pour exécuter et construire une entreprise.
Active directory :
Active Directory est le nom du service d’annuaire de Microsoft, Le service d’annuaire Active Directory  est basé sur les standards TCP/IP : DNS, LDAP, Kerberos, etc. 
Le service d’annuaire Active Directory est un annuaire référençant les personnes  (nom, prénom, numéro de téléphone, etc.) mais également toute sorte d’objet, dont les serveurs, les imprimantes, les applications, les bases de données, etc.

Active Directory permet de recenser toutes les informations concernant le  réseau, que ce soient les utilisateurs, les machines ou les applications. Il permet à un utilisateur de retrouver et d’accéder à n’importe quelle ressource identifiée par ce service. 
CentoS7 :
CentOS est une distribution Linux orientée Entreprises, basée sur les sources de Red Hat Enterprise Linux, principalement destinée aux serveurs disponibles de manière libre et gratuite.

Chaque version de CentOS est supportée pendant 10 ans (par des mises à jour de sécurité). Une nouvelle version de CentOS sort approximativement tous les 2 ans et chaque versionde CentOS est mise à jour régulièrement (tous les 6 mois environs) afin de supporter le matériel le plus récent. Cela donne un environnement Linux sécurisé, à faible maintenance, stable, prévisible et reproductible
Squid :
Un serveur Squid est un serveur mandataire (proxy) capable d’utiliser les protocoles FTP, HTTP, Gopher, et HTTPS. C’est un logiciel libre distribué sous la licence GNU GPL. Squid garde les données les plus fréquemment utilisées en mémoire. Il conserve aussi les requêtes DNS. Il existe un plugin à ce dernier, SquidGard, qui permet de filtrer les informations demandées par les clients.

Contrairement aux serveurs proxy classiques, un serveur Squid gère toutes les requêtes en un seul processus d’entrée/sortie asynchrone.

Installation et configuration de Cent Os7 :
Après avoir téléchargé la dernière version de CentOs 7 disponiblesur le site officiel https://www.centos.org/download/, (Pour notre cas nous avons choisi la version minimale).

On Insère le CD/USB dans la machine, et on va démarrer la machine on choisissant de booter avec notre support.

Installation de cent OS :
Dans le premier menu qui apparait on choisit Test This media ;Install CentOs
Figure17 : Menu boot de l’installation
Ensuite on confirme la vérification et l’installation en appuyant sur ENTRER
Figure 18: écran d’installation
Une interface graphique va apparaitre, on commence par choisir la langue (pour notre cas on a choisie Français) et on clique sur le bouton continuer.

Figure 19 : Menu de choix de langue
Dans le menu principal de l’installation on choisit l’emplacement de l’installation dans le menu DESTINATION DE L’INSTALLATION
Figure 20: Menu de répertoire d’installation
Figure 21 : choix de la destination
Apres avoir choisie la destination et confirmer avec le bouton Terminé, on revient au menu principale et on clique sur Démarrer l’installation (pour le reste des paramètres définies par défaut conviennent à notre installation) et un écran de chargement apparaitra ou nous pourrons définir le mot de passe de l’utilisateur root et crée éventuellement d’autre utilisateurs si on le souhaite.

Figure 22 : écran d’installation
En mode console, on utilise une interface graphique pour paramétrer notre carte réseau, avec la commande suivante :

Figure 23 : commande pour paramétrer la carte réseau
Dans un premier temps on doit sélectionner Activer  une connexion  pour activer la carte réseau.

Dans ces menus, on se déplace avec les flèches et la touche tabulation.

Figure 24 : Menu de paramétrage réseau
Puis on sélectionne l’interface réseau  ens 33 et on clique sur Activer

Figure 25 : activation de la carte réseau
Pour configurer les paramètres de la connexion, on relance l’utilitaire nmtui et on sélectionne Modifier une connexion, on va sélectionner la carte et on clique sur Modifier.

Figure 26 : configuration de la carte réseau
On affecte les paramètres indiquer en dessus et on cliquer sur  Valider  puis Quitter 
Et on redémarre le service réseau en utilisons la commande :
#systemctl restart network
on vérifie l’état de l’interface réseau configuré :

Figure 27: vérification des configurations
ensuite, on introduit la commande yum list updats pour télécharger la liste de tous les composants qui seront mis à jour.

Figure 28 : commande pour télécharger la liste des composants
Et on lance la mise à jour du système CentOs :
Figure 29 : commande pour mettre à jour du système
A la fin de l’installation des mises à jour on redémarre le système :

Figure 30 : commande pour redémarrer le système
Installation et configuration du serveur Squid :
On procède au téléchargement et l’installation de Squid proxy :
Figure 31 : installation de Squid
Fichier et répertoire SQUID
Nous aborderons ici les principaux fichiers et répertoire relatif à Squid que nous serons amenées à utiliser dans la suite de notre travail : a. /sbin/squid : est le programme Squid en question, que nous exécuteront parfois avec des options (-k -z …etc).

c. /etc/squid.conf est le fichier de configuration de serveur squid.d. /etc/squid.conf.default une copie du fichier squid.conf avec la configuration par default.e. /etc/squid.conf.documented est une documentation complète sur le fichier squid.conf et ses multiples syntaxes.f. /libexec/ répertoire contenant les programmes d’aide comme le cachemgr.cgi.g. /libexec/cachemgr.cgi programme offrant une interface web pour le monitoring du serveur squid.

Paramètres à mettre en place au niveau d’Active Directory:
Nous commençant par crée une unité d’organisation pour les utilisateurs de Squid server, on va taper dsa.msc dans la barre de recherche du menu Démarrer puis Entrer.

Utilisateurs et ordinateurs Active Directory s’ouvre. Clic droit sur le domaine epb.loc ensuite Nouveau, puis sur Unité d’organisation.

Figure 32 : Création d’une nouvelle unité d’organisation (1)
une fenêtre apparait on choisit le nom de l’unité d’organisation et on clique sur OK

Figure 33 : Création d’une nouvelle unité d’organisation (2)
on procède à la création des groupes d’utilisateurs qui vont nous servir àcatégoriser les utilisateurs selon leurs droits d’accès à internet. Nous allons créer 3 groupes (groupe1, groupe2 et groupe3), pour cela on faitclic droit sur l’UO ; Nouveau ; Groupe :

Figure 34 : Création d’un groupe d’utilisateur (1)
On nomme le groupe et on clique OK en gardant les paramètres par défaut.

Figure 35 : Création d’un groupe d’utilisateur (2)
Et on répète les mêmes instructions pour la création du Groupe 2 et Groupe3.

On crée l’utilisateur squid auquel on va léguer des privilèges pour pouvoir authentifier et définir l’appartenance des utilisateurs :
Clic droit sur l’unité d’organisation
Nouveau, puis on clique sur Utilisateur.

Dans Prénom, on tape le prénom de l’utilisateur.

Dans Initiales, on tape les initiales de l’utilisateur.

On modifie le Nom complet pour ajouter des initiales ou inverser l’ordre dunom et du prénom.

Dans Nom d’ouverture de session de l’utilisateur, on tape le nomd’ouverture de session de l’utilisateur, on clique sur Suivant

Figure 36 : Création d’un nouvel utilisateur (1)
Dans Nouvel objet – Utilisateur, Mot de passe et Confirmer le mot de passe, on tape, le mot de passe de l’utilisateur, puis on sélectionne les options de mot de passe appropriées.

Figure 37 : Création d’un nouvel utilisateur (2)
On clique sur Suivant pour passer en revue les paramètres du nouveau compted’utilisateur, puis on clique sur Terminer.

Figure 38 : Création d’un nouvel utilisateur (3)
Maintenant on lui délègue les droit d’accès à cet utilisateur, on fait un clic droitsur l’OU proxy, et on clique sur Délégation de contrôle.

Figure 39: délégation de contrôle à l’utilisateur squid
On clique sur Suivant, dans la fenêtre qui suit on clique sur ajouter pour ajouter notreutilisateur « squid ».

Figure 40: sélection de l’utilisateur Squid
On finit par confirmer en cliquant sur OK puis Suivant
Et on coche les deux cases :
_ Lire toutes les informations sur l’utilisateur.

_ Lire toute les informations sur : InetOrgPerson
Figure 41 : sélection des rôles à déléguer
Et on finit par cliquer sur Suivant puis Terminer.

Enfin on ajoute les utilisateurs aux groupes selon leurs droits d’accès (Cetteétapes pour être laissée pour la fin de la mise en place, mais dans notre casnous avons créé trois utilisateurs (user1, user2, user3) que nous mettronsrespectivement dans Groupe1, Groupe2 et Groupe3.

Pour cela on clique droit sur l’utilisateur puis ajouter au groupe.

Figure 42: Ajout de l’utilisateur au Groupe1 (1)
On sélectionne le groupe auquel on souhaite l’ajouter.

Figure 43 : Ajout de l’utilisateur au Groupe1 (2)
Configuration du serveur Squid :
On commence par tester la connectivité vers le Windows Server  :
Figure 44 : vérification de la connectivité vers Windows Server
Figure 45 : vérification de la connectivité vers Squid
Les Helpers :
Pour communiquer avec des protocoles étrangers à Squid, il existe ce qu’onappelle des Helpers qui sont des scripts écrit dans différents langage (PHP, Python, C.. etc.) et qui servent dans notre cas à authentifier les utilisateurset définir les groupes au quels ils appartiennent dans une OU définie, et ces deuxHelpers sont basic_ldap_auth et ext_ldap_group_acl et avant de les intégrer aufichier de configuration squid.conf on commence par tester leur bon fonctionnementavec les deux commendes suivantes :
46342302787653
003
28289252540002
002
13754102603501
001
Basic_ldap_auth :
8528054451354
004
29292554546605
005
41103554546606
006

Figure 46 : command test pour le basic_ldap_auth
On indique le nom d’utilisateur et son mot de passe.

On indique l’emplacement du Helper auquel on veut faire appel.

On indique le nom de domaine dans lequel on veut faire l’authentification (dc = Domain control).

On indique le nom de l’utilisateur (cn = Canonical Name), l’unité d’organisation auquel il appartient (OU = Organisation Unit), et le nom de domaine (dc), ensuite avec l’option –w on indique son mot de passe.

Commande pour l’authentification.

L’adresse du serveur AD.

On valide la commande avec la touche Entrer et on attend une réponse, si la réponse est OK ça voudrait dire que l’utilisateur Squid a réussi à authentifier l’utilisateur user1, si la repense est ERR SUCCESS ça voudrait dire que les informations sur l’utilisateur sont erronée, et si la repense est ERR cela peut être due à de diverses raisons pour avoir des détails sur l’erreur on ajoute –d (debugmod) à la commande.

Ext_ldap_group_acl :
53390802089153
003
34436052089152
002
17005302470151
001

-806453879854
004

44246805949955
005
19767555759456
006

Figure 47: command test pour l’ext_ldap_group_acl
On indique le nom de l’utilisateur à authentifier et son groupe.

5. la commande pour vérifier l’appartenance de l’utilisateur au groupe indiquée.

Pour les parties 2/3/4/6 c’est la même chose que pour le premier Helper.

Une fois les deux commandes répondent positivement nous passons au fichier de configuration squid.conf
Le fichier Squid.conf :
Pour ouvrir le fichier de configuration et pouvoir le modifier, on doit utiliser un éditeur de texte, par default on utilisera vi, qui est une versions de la distribution Unix, il est présent d’office sur la majorité des systèmes Unix actuels.

On ouvre le fichier de configuration squid.conf avec la commande suivante :
[email protected]# vi /etc/squid/squid.conf
Le fichier squid.conf contient des réglages par défaut et certain paramètre sont proposée en commentaire.

Les ACL (Access Control List) :
Pour contrôler tout ce qui passe par le serveur proxy, on utilise ce qu’on appelle les ACL (Access Control List). Les ACL sont des règles que le serveur applique. Cela permet par exemple d’autoriser ou d’interdire certaines transactions. On peut autoriser ou interdire en fonction du domaine, du protocole, de l’adresse IP, de numéro de port, d’un mot, on peut aussi limiter sur des plages horaires. Les ACL ne fonctionnent pas d’elles-mêmes, elles ont besoin de ‘http Access’ autorisant ou interdisant ces ACL.

Exemple :
Dans cette exemple l’ACL sert à définir une plage d’adresse et à la nommer (service-réseaux est le nom de la plage d’adresse 172.16.0.0/12)
Dans la deuxième ligne nous autorisant service_réseau d’accéder à internet.

Figure 48: Exemple d’ACL (1)
Les ACL peuvent se combiner pour rependre à des exigences plus complexes.

Exemple :
Avec la deuxième ACL définissant le nom du domaine facebook.com, dans la troisième ligne, on autorise la plage d’adresse portant le nom de service_réseaux à accéder à internet sauf au nom de domaine facebook.com.

Figure 49 : Exemple d’ACL (2)
On trouve aussi dans le fichier de configuration squid.conf une liste d’acl pourles différents ports d’accès.

Figure 50 : Les ACL relatif au port de communication
Par default aussi les seuls ports autorisée sont sécurisé (HTTPS et SSL)

Figure 51 : Port Ouvert/Fermé par default
D’autres autorisations sont disponibles par default :
Pour le cachemgr (module à mettre en place pour le monitoring via un navigateur)
Par défaut l’accès est réservée au localhost, c’est-à-dire qu’on peut y accédée qu’à travers la machine hébergeant le serveur seulement.

Figure 52: autorisation par défaut (1)
L’accès à internet est autorisé au serveur et aux machines sous le réseau localFigure 53 : autorisation par défaut (2)
Et enfin une règle interdisant l’accès à toutes les machines (allow étant prioritaire sur le deny), ce si va faire que l’accès à internet sera interdit à toutes les machines sauf celles qui y sont autorisées.

Figure 54 : autorisation par défaut (3)
Paramètre du cache :
Sous les paramètres définissant les règles d’accès on trouve les paramètres relatifsau serveur proxy et son cache.

Le port http :
Dans sa forme la plus simple, on indique le port que le serveur proxy va écouter.

Figure 55 : le port du serveur proxy
Le port ICP :
Conserver le port 3130. Ceci permet de communiquer avec des proxy-cache parents ou voisins.

Cache-mem :
_  Correspond au cache mémoire, la valeur dépend du système. Par défaut squid utilise 8 Mo. Cette taille doit être la plus grande possible
Squid offre la possibilité de contrôler les objets que nous voulons garder en mémoire cache pour optimiser les performances, avec la commande :
memory_cache_mode
On peut définir la manier dont Squid server va utiliser l’espace cache disponible en mémoire, et dans notre cas nous garderons le paramètre par défaut qui est le suivant :
Memory_cache_modeallways
définition des limites des remplacements des objets :
avec cache_mem il faut régler cache_mem_low et cache_mem_high qui sont des valeurs limite de remplissage du cache mémoire. Par défaut les valeurs sont 75 % et 90 %. Lorsque la valeur de 90 % est atteinte le cache mémoire se vide jusqu’à 75 %. Les valeurs par défaut sont correctes dans la plupart des cas.

Dans notre étude nous utiliserons ces deux directives avec les valeurs suivantes :
cache_swap_low 91cache_swap_high 92
Spécifier l’espace cache dans la RAM :
Il est important dans le choix de ce paramètre de comprendre que si on réserve un espace trop important de la mémoire RAM le système en souffrira, et donc l’efficacité du caching se trouvera réduite, de même que si on espace trop réduit. Alors avant de définir l’espace mémoire qui sera réservée pour le caching on vérifie la consommation du système en mémoire avec la commande :
#free –m
_Et ainsi pouvoir définir dans le fichier de configuration d’espace RAM alloué au cache en ajoutant la ligne de commande suivante :
cache_mem 1024 MB
La taille maximale d’un objet dans la mémoire :
puisque nous avons un espace limité pour le caching des objets, nous devons utilisé cet espace de façon optimisé, nous allons limiter la taille maximum des objet à 1 Mo, parce que si la taille des objets est grande cela voudrait dire que le nombre d’objets en cache sera réduit, et donc l’efficacité du cache s’en trouvera réduite, et on spécifie donc la taille maximal d’un objet dans la RAM avec la ligne de commande suivante :
maximum_object_size_in_memory 1 MB
Les paramètres du répertoire cache :
cache_dirufs /var/spool/squid 102400 16 256
Cache_dir : indiquer ici le volume du cache. Si on a plusieurs disques, on utilise plusieurs fois cette ligne. Si squid ne fonctionne pas bien ou s’arrête parfois sans raison apparente, il faut vérifier qu’on a un cache assez important ou bien configuré.

Ufs : format des fichiers cache utilisé par squid
/var/spool/squid : le répertoire du cache dans le disque dur.

102400 : l’espace réservée pour le cache en Mo, donc dans notre étude l’espace réservé pour la mémoire est de 100Go.

16 : nombre de sous-répertoire de premier niveau qui vont être crée.

256 : nombre de sous-répertoire de deuxième niveau qui vont être crée à l’intérieur de chaque sous-répertoire de premier niveau
Il est aussi important d’indiquer les limites dans la taille des documentsweb qui vont être mis dans la mémoire cache en fonction de l’espace réservépour notre cas nous mettrons les valeurs suivantes :
Minimum_object_size 0 KB
Maximum_object_size 512 KB
Intégration de l’authentification LDAP :
Pour l’intégration de l’authentification DLAP nous commençons par ajouter la ligne decommande suivante au fichier de configuration du server Squid (squid.conf)
Figure 56 : Code pour l’authentification LDAP sur Squid
Dans les premiers et derniers paramètres, on y intègre les commandes qu’on a testées auparavant et qui sont relatif à l’utilisation des Helpers.

Auth_param basic children 5 : nombre de processus des Helpers utilisés
Auth_param basic realm authentification requise: permet d’intégrer un message à la fenêtre d’authentification.

Auth_param basic Credentialsttl 1 hour: indique la durée pour la quel l’utilisateur va être authentifié.

Les ACL relatif aux groupes Active Directory :

Figure 57 : Les ACL relatif aux groupes Active Directory
Les ACL nommée Groupe1, Groupe2, Groupe3 servent à intégrer les utilisateurs AD selon leur appartenance aux groupes crée dans l’unité d’organisation Proxy et qui portent même nom que ces ACL.

Ensuite on crée quatre ACL, la première pour les sites de réseaux sociaux, et la deuxième pour les sites de streaming vidéo, et enfin les deux dernier définissant les horaires de travail (matin et après-midi)
Enfin pour les autorisations d’accès :
On interdit l’accès aux sites de streaming durant les horaires de travail (cette ACL est appliqué à tous les utilisateurs)
On autorise l’accès à internet aux utilisateurs du Groupe1
On autorise l’accès à internet aux utilisateurs du Groupe2 sauf pour les réseaux sociaux
On interdit l’accès internet aux utilisateurs du Groupe3
Lancement et maintenance du serveur Squid :
Lancement du serveur Squid :
Une fois la configuration du serveur Squid est terminée on lance ce dernier et on vérifie son état de fonctionnement avec les commandes suivantes :
Figure 58 : Lancement du serveur Squid
Ou bien avec cette commande qui comporte des options qu’on peut énumérer en ajoutant l’option –h :
Figure59 : menu d’aide du programme Squid
Parmi ces options, celle qui reviendra le plus souvent est l’option –k qui est en rapport avec le processus Squid :
/sbin/squid –k
reconfigure : recharge les paramètres du fichier squid.conf qui va nous permettre d’appliquer les nouveaux paramètres sans devoir redémarrer le serveur.

rotate : permet de crée une copie des fichiers .log avant de les vider (cela permet d’avoir des fichiers log de petite taille et donc faciliter leur analyse)
shutdown : permet d’arrêter le serveur Squid
interrupt : forcer l’arrêt du serveur Squid
kill : tuer les processus Squid
debug/check : vérifier l’état du serveur et afficher les messages d’erreurs.

Création des répertoires swap :
Pour le lancement du serveur pour la première fois on doit commencer par crée les répertoires d’échange (swap) dont on indique le nombre et la taille de fichier de configuration squid.conf
Figure 60: création du répertoire swap
Maintenance du serveur Squid :
La vérification de l’état du serveur :
La vérification de l’état du serveur est impérative pour assurer son bon fonctionnement, il nous permet d’afficher les erreurs relatif au serveur, ceci peut être fait avec les deux commandes suivantes :

Figure 61 : vérification de l’état du serveur
S’il n y’à aucune réponse renvoyée par ces deux commandes, cela voudrai dire qu’il n y a pas d’erreurs et que le serveur fonction correctement.

Historique d’événements du serveur Squid :
L’historique d’évènements du serveur Squid se trouve dans le fichier : /var/log/squid/cache.log, c’est là que sont notées les actions faites par Squid, et c’est làqu’on peut avoir les détails sur l’état du serveur et les erreurs survenue lors de son exécution.

L’audit du serveur Squid :
Squid journalise les transactions dans un fichier access.log. Ce fichier donne les informations sur les requêtes qui ont transité par Squid. Ce dernier offre la possibilité de voir les requêtes envoyées par les utilisateurs en détaillant :
L’adresse source et destination
Le port source et destination
le nom de l’utilisateur
le type du document
les dates indiquées dans le fichier access.log indique le temps en secondes depuis le 1 janvier 1970 (format epoch)
l’état de la requête : Accpet / Denied
Phase de Test (coté client) :
Coté client, l’utilisateur ne peut pas se connecter à internet avant de configurer son navigateur et de s’être authentifier.

Sous internet explorer :
Dans Outils -; Options Internet
On sélectionne l’onglet Connexion puis on clique sur Réseau Local
On coche sur Serveur Proxy et dans la fenêtre qui apparait on y indique l’adresse et le port de connexion du proxy :

Figure 62 : Définition du serveur proxy sous internet explorer
Une fois le navigateur est paramétré, on redémarre le navigateur et la fenêtre d’authentification apparait :

Figure 63 : fenêtre d’authentification
Une fois l’authentification est confirmée, l’utilisateur peut se connecter dans la limite définie par l’administrateur, si l’utilisateur essaye d’accéder à un site dont il n’as pas l’accès, une page d’erreur apparait :
Figure 64 : page d’erreur
SquidGuard :
Présentation :
SquidGuard est un module pour le serveur proxy SQUID. Ce module ajoute des fonctionnalités plus avancées en matière de filtrage web.

 Il utilisé pour limiter l’accès à certaines URL en fonction de l’utilisateur, de la machine, de l’heure, du contenu ….

Installation de SquidGuard :
Pour l’installation du squidguard, nous commençons par ajouter une nouvelle source de téléchargement (un nouveau Repository) avec la commande suivante :

Figure 65 : Installation de squidGard (1)
On télécharge le SquidGuard :

Figure 66: installation de squidGard (2)
Configuration de SquidGuard :
Nous commencerons par crée un répertoire pour les blacklists et nous procéderons au téléchargement de ses dernières :
#cd /var/squidGard : on change la position du curseur vers le répertoire SquidGuard
#mkdirblacklist : on crée un dossier blacklist à l’intérieur de répertoire SquidGuard
#yuminstallwget : on installe le programme qui nous permettra de télécharger lesblacklists
#wget ftp://ftp.ut-capitole.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz : on télécharge le fichier compressé contenant les blacklists
Une fois le téléchargement est terminé on procède à l’extraction des fichiers du dossier compressé avec la commande suivante :
#tar -xvf blacklists.tar.gz
Ensuite nous éditerons le fichier squidGuard.conf avec l’éditeur de texte Vi :
#vi /etc/squid/squidGuard.conf
Modification sur le fichier SquidGuard.conf :
Dans le fichier squidGuard.conf nous commenceront par définir leshoraires de travails :
Time workhours { weekly mtwhf 17:00 – 08:00 date *.01.01 }
Ensuite on définit les plages d’adresse des utilisateurs :
src admin {
ip 192.168.80.3 255.0.0.0
user root foo bar
within workhours
}
srcutilisteur { ip172.16.2.32-172.16.2.100 }
Et on ajoute les catégories de blacklistes on définissant le chemin des fichiers contenant les noms de domaines et les urls

Figure 67 : Intégration des Blacklist au squidguard
Redirect : sert à définir le site vers lequel l’utilisateur va être redirigé. S’ilessaye d’accédé à la catégorie de site définie, et dans ce cas la redirection sefait vers le moteur de recherche : google.com.

Remarque :
la première catégorie de destination est d’une importance capitale pour l’efficacité du serveur proxy, en effet en bloquant l’accès à cette catégorie de site, sa évitera le contournement de notre proxy en passant sur un autre proxy sur internet.

On définit les ACL :

Figure 68 : Définition des ACL
Et à la fin on sauvegarde le fichier et on compile les blacklists avec la commande suivante :
# squidGard -b -d -C all
Modification sur le fichier Squid.conf :
Au niveau du fichier de configuration du serveur Squid on ajoute la ligne suivante :
url_rewrite_program /usr/bin/squidGuard
On sauvegarde le fichier de configuration et on rafraichit les paramètres utilisée par Squid server avec la commande suivante :
/etc/sbin/squid –k reconfigure
Enfin on donne le droit de lecture au serveur proxy sur les fichiers desblacklist :chown -R squid /var/squidGuard/blacklists
L’antivirus clamav :
Définition :
Clam Anti-virus(ClamAv) est un antivirus GPL pour UNIX en ligne de commande. Utilitaire pour une mise à jour automatique des bases de données virales via internet.

Installation de clamav :
On lance le téléchargement et l’installation de clamav et ses modules complémentaires:

Figure 69 : installation de l’anti-virus clamav
On déplace le fichier clam.conf vers son répertoire par défaut :
cp /usr/share/clamav/template/clamd.conf /etc/clamd.d/clamd.conf
On supprime la ligne ou il est écrit Exemple du fichier clamd.conf pour que clamdpuissent se lancer normalement (clamdeamon: est le programme qui nous offrira une protection en temps réel en scannant les objets transitant par le Proxy)
Sed –i ‘/^Exemple/d’ /etc/clamd.d/clamd.conf
Dans le fichier de configuration clamd.conf on ajoute les deux lignes suivantes :
User root
LocalSocket /var/run/clamd.;SERVICE;/clamd.sock
On supprime la ligne ou il est écrit Exemple du fichier freshclam.conf pour qu’on puisse mettre à jour la base de données de clamav avec la commande freshclam:
sed -i ‘/^Example/d’ /etc/freshclam.conf
On met à jour la base donnée de clamav avec ligne de commande suivante :
Frechclam
On teste le bon fonctionnement de l’anti-virus :
on télécharge un virus expérimental :
[email protected] clamav#wget http://www.eicar.org/download/eicar.comon scanne le répertoire dans lequel se trouve le virus expérimental:

Figure 70 : scanne du répertoire
Et là on remarque que le virus a était détecté et supprimé.

Conclusion :
Parmi les nombreuses méthodes et solution qui existe pour faire face aux nombreux problèmes de sécurité l’utilisation d’internet et du Web en particulier dans entreprise, beaucoup d’entre elles coutent bien chère pour l’entreprise.

Ainsi l’étude de l’existant est une étape très importante dans un projet pareil car on fera en sorte de mettre le maximum pour trouver une solution qui répond aux besoins et quis’intègre facilement sans trop de charges dans l’architecture existante et dans l’idéal, a moindre coup, c’est pour cette raison la que nous avons opter pour la mise en place d’un serveur proxy sous linux qui en plus de sa gratuité, il améliore d’une façon nette et significative la sécurité et le contrôle qu’on peut avoir sur le trafic réseau.

x

Hi!
I'm Mia

Would you like to get a custom essay? How about receiving a customized one?

Check it out