Vous êtes ici :
Accueil Tutoriel Sécurité Informatique Mise en place d'un serveur proxy (Squid) sous linux

Mise en place d'un serveur proxy (Squid) sous linux

grâce à ce tutoriel vous êtes en mesure d'installer, configurer un serveur proxy sous linux en particulier la famille de debian (ubuntu)

INTRODUCTION

         De nos jours, avec les besoins accrus de sécurité informatique et d’anonymat, utiliser des proxys est devenu très courant pour les internautes. Ce dernier est une machine qui a pour fonction de relayer ou de retransmettre des requêtes entre un poste client et un serveur. Ils sont notamment utilisés pour assurer les fonctions de mémoire cache, de login des requêtes, pour la sécurité du réseau local, pour le filtrage...

Cependant, c’est quoi un serveur proxy ?

Quel est son mode de fonctionnement et ses différents types ?

Quelles sont les étapes à suivre pour son déploiement plus précisément son installation et sa configuration ?

j'essaie de répondre à cette série de question dans la suite du tutoriel .

 

Généralité sur le serveur Proxy

         A l’origine, le but principal des serveurs proxy était de faciliter le processus de communication. Cependant, avec les restrictions de l’usage d’internet telles que des limitations physiques et géographiques de plus en plus imposées dans le monde, les serveurs proxy sont devenus des outils essentiels. Les serveurs proxy permettent de dissimuler ou masquer l’adresse IP utilisée par l’ordinateur client lors de la navigation mais aussi d’accéder à des sites interdit d’accès  dans  votre  zone  géographique.  Mais  ce  n’est  pas  tout,  ils permettent également l’amélioration de la vitesse de navigation, de naviguer sur internet en toute sécurité contre toutes sortes de menaces, d’empêcher  que  des  utilisateurs  non  autorisés  puissent  naviguer  sur  votre ordinateur, traverser les pare-feu et les filtres internet…

  •  Définition

         Un serveur proxy se définit comme étant un ordinateur autonome qui a pour rôle de connecter un ordinateur client à un serveur distant. Il agit comme un intermédiaire entre votre ordinateur et les serveurs web auquel vous vous connectez lorsque vous surfez ou vous naviguez. En d’autre terme, le serveur proxy appelé aussi le serveur mandataire est un serveur recevant des requêtes qui ne lui sont pas destinées et qui les transmet aux autres serveurs. Quand il reçoit une requête le serveur proxy stocke le résultat. Si la même requête lui est à nouveau envoyée, il vérifie que le résultat n’a pas été modifié et renvoie le résultat qu’il a déjà dans sa mémoire cache à la machine  qui a fait la requête.

  •  Fonctionnement d’un proxy

    Le principe de fonctionnement basique d’un serveur proxy est assez simple : il s’agit d’un serveur mandaté par une application pour effectuer une requête sur internet à sa place. Ainsi lorsqu’un utilisateur se connecte à internet à l’aide d’une application cliente configurée pour utiliser un serveur proxy, celle-ci va alors se connecter en premier  lieu au serveur proxy et lui donner sa requête. Le serveur proxy va alors se connecter au serveur que l’application cliente cherche à joindre  et lui transmettre la requête. Le serveur va ensuite donner sa réponse au proxy, qui va à son tour la transmettre à l’application cliente. Parmi  ces trois exemples ci-dessous, le second  exemple  décrit ce fonctionnement.

 

 

Les avantages d'un serveur proxy

Les avantages d'un serveur proxy sont nombreux:

  • le surf anonyme : Ce n’est pas votre adresse qui est vue sur les sites, mais l’adresse du proxy. Vous êtes ainsi « quasiment anonyme » ou « complètement anonyme » (voir un peu plus bas).
  • la protection de votre ordinateur : Ce n’est pas vous qui êtes en première ligne sur Internet, vous êtes donc mieux protégé.
  • le masquage de votre lieu de connexion : Le proxy peut être dans un pays différent du votre. Lorsqu’il se connecte à un site, c’est la géolocalisation du proxy qui est vu, pas la votre. Cela peut être utile sur certains sites qui filtrent les connexions suivants les lieux d’où elles proviennent.
  • le filtrage : comme toutes les requêtes et les réponses passent par le proxy, il est possible de filtrer ce que l’on autorise à sortir ou à entrer, c’est le cas dans de nombreuses entreprises.

Les inconvénients d'un serveur proxy

Qui dit avantages, dit également inconvénients. Comme nous l’avons vu au-dessus, c’est lui qui fait l’intermédiaire entre vous et le web, donc il voit et peut enregistrer tout ce qui circule entre votre ordinateur et le web, cela peut être risqué !
Si vous utilisez un proxy, il doit être irréprochable car lorsque vous vous connectez à votre banque, votre proxy pourrait très bien enregistrer vos codes (même si ceux-ci sont émis dans des flux https) ! Il faut donc utiliser un proxy dont vous êtes sûr, ou alors ne pas l’utiliser : c’est à dire mettre des exceptions à l’utilisation de celui-ci ;

Un autre inconvénient des proxys est la technologie utilisée sur les sites web. En effet, certains sites peuvent utiliser des technologies de connexion directes entre votre ordinateur et le serveur Web, dans ce cas, il peut être impossible de se connecter à ce genre de sites si vous êtes caché derrière un proxy. Vous devrez là encore mettre le site concerné en exception proxy.

Si le serveur proxy est très sollicité, il peut éventuellement mettre plus longtemps à répondre, donc il est possible que le surf à travers un proxy soit un peu plus lent que le surf direct sur Internet.

 

 Les différents types de serveur Proxy

Les différents types de serveur proxy ont été mis au point par les développeurs web. Chacun d’eux a des caractéristiques spécifiques, mais ils ont tous le même objectif  de permettre à leurs utilisateurs de naviguer sur internet dans de meilleures conditions. Parmi  ses différents types de proxy nous pouvons citer :

  • Les serveurs proxy transparents :

 Ces types de proxy fonctionnement comme des intermédiaires transparents entre vous et un autre serveur, mais n’interviennent pas dans la commande envoyée c’est-à-dire qu’un proxy transparent ne change ni ne cache les informations telles que l’adresse IP de l’utilisateur.

  • Les serveurs proxy de mise en cache :

le fonctionnement de ce type de serveur proxy est pratiquement identique à celui des serveurs proxy transparents. Leur avantage, c’est qu’ils effectuent régulièrement des mises en cache des données utilisées ce qui permet une meilleure vitesse de navigation. La plupart des proxy assurent ainsi une fonction de cache (en anglais caching), c’est-à-dire la capacité à garder en mémoire (en cache) les pages les plus souvent visitées par les utilisateurs du réseau local afin de pouvoir les leur fournir le plus rapidement possible.

  • Les serveurs proxy anonymes:

C’est le type de serveur proxy le plus courant. Ils sont aussi appelés proxy web et sont principalement utilisés pour naviguer sur internet anonymement. Ces serveurs sont principalement utilisés pour  garantir le respect de sa propre vie privée. Être anonyme permet de se sentir en sécurité, de pouvoir surfer sans conséquence, de contourner les blocages.

  • Les serveurs proxy inverse:

Si vous vous connectez à internet via ce type de serveur proxy et que vous essayez de télécharger une image par exemple, celle-ci sera lue sur un autre serveur puis vous sera renvoyée, ce qui permet de protéger l’ordinateur d’attaques informatiques directes.

Parmi ces différents types de proxy, celui qui retiendra mon attention est le serveur proxy anonymes et principalement le Squid  que nous allons aborder dans la suite.

 

 Le déploiement d’un serveur proxy (Squid)

Squid est un serveur proxy fonctionnant sur le système d’exploitation Linux. Il est un serveur mandataire qui est entièrement libre et performant. Il utilise des protocoles FTP, http, HTTPS et Gopher.

 

  • Installation et Configuration de squid

   Il est à noter que l’installation et la configuration du  serveur proxy squid se déroule en plusieurs  étapes :

Première étape :

Cette étape consiste tout d'abord à avoir une connexion à internet et disposer des droits d'administration ; pour cela il faut ouvrir le Terminal et lancer la commande sudo su

$ sudo su
password for [username] :
#

Deuxième étape :

Cette étape est l'étape de mis à jour de système et le mis à jour des paquets. Pour cela, lancer la commande :

# apt-get upgrade && apt-get update

 pour la mis à jour du système et la mis à jour des paquets 

Une fois le système et les paquets sont à jour, nous pouvons maintenant passer à l'étape trois.

Troisième étape :

Constitue l'étape d'installation de Squid. Pour installer le Squid nous utilisons la commande :

# apt-get install squid

Une fois l'installation terminée, nous pouvons maintenant entrer dans le répertoire où est installé squid ; nous devons savoir que le dossier squid se trouve dans le répertoire /etc/squid , pour cela utilisant la commande :

# cd /etc/squid

Une fois dans le répertoire squid, nous pouvons voir son contenu en tapant la commande : ls

Dans le répertoire squid nous avons un fichier squid.conf qui est le fichier qui nous permet de configurer notre proxy squid ce qui nous emmène à l'étape quatre qui est l'étape de configuration de notre serveur proxy.

Quatrième étape :

 C'est l'étape de configuration du serveur. Pour configurer notre serveur, nous devons sauvegarder le fichier original squid.conf ; pour cela, nous devons utiliser la commande :

# cp squid.conf squid.conf.bak

Une fois que la sauvegarde terminée, nous pouvons maintenant procéder à la modification de ce fichier en tapant la commande :

# nano squid.conf 

Une fois accéder à ce fichier, nous pouvons maintenant procéder à la configuration de notre proxy.       

Pour ce qui concerne notre configuration, nous  devons chercher la ligne acl localhost src 127.0.0.1/32 et nous ajoutons en bas

acl allowedips src l'addresse ip de notre réseau local, par exemple 192.168.0.0/24 comme ceci

acl allowedips src 192.168.0.0/24

Puis on modifie le port en cherchant la ligne http_access port pour modifier le numéro de port qui est par défaut 3128 ;

http_port 3000

Ensuite cherchons la ligne http_access allow localhost et ajoutons à la suite:

http_access allow allowedips

pour autoriser le nom du groupe de notre addresse ip qui est allowedips.

Puis dans la partie TAG: error_directory, on enlève le # et on modifie cette ligne comme suit :   TAG: error_directory /usr/share/squid/errors/french pour configurer le message d’erreur en français.

         Une fois cette configuration terminée, nous pouvons maintenant demarrer squid en utilisant la commande  :

service squid start ou

service squid restart

pour demarrer ou rédemarrer squid. si cette commande ne marche essayez :

squid start ou

squid restart

 

  • Configuration de différentes autorisations sous squid

         Par défaut, squid refuse toute connexion sortante des clients. Pour cela, il faut le configurer à autoriser le réseau à sortir sur internet. Pour permettre l'autorisation, il faudra au moins une règle. A ce type de configuration nous utilisons la règle Access Controle list (acl ). Les autorisations se font toujours dans le fichier squid .conf. Pour cela, cherchons la ligne  http_access deny et ajoutons au-dessus http_access allow "le nom du groupe" de machine à autoriser.

Exemple :

acl mon_reseau 192.168.0.0/24

http_access allow mon_reseau

 Dans cet exemple nous autorisons à notre réseau dont le nom est "mon_reseau" et l'adresse ip 192.168.0.0/24 à sortir sur internet.

  • Configuration coté client

 Pour permettre une meilleure utilisation du service, les machines clientes doivent bien sûr être configurées en conséquence. Pour cela, les machines doivent être connectées au réseau local avec l'adresse Ip du serveur, et essayées des ping entre eux. Une fois le réseau local établie, nous allons maintenant ouvrir notre navigateur si c'est internet explore, on va dans :

Outils puis Options Internet et on selectionne l'onglet Connexion puis Résau local, et cocher "serveur proxy" et saisir l'adresse ip de celui-ci plus le numéro de port.

  Si vous êtes sous firefox mozila, allez dans Edition puis Préférences, Avancés puis paramètres et configuration manuelle du proxy et entrer l'adresse proxy et le numéro de port.

  • Interdiction de certains sites

Pour interdire l'accès à certains sites comme google.com par exemple, on procède de cette manière :

acl google dstdomain google.com

http_access deny google.

Ici, le dstdomaine est le nom de domaine du serveur

Voila le tutoriel est terminé en bref un serveur proxy est très capital dans le domaine de sécurité réseau, en garantissant notre passage sur internet, et en permettant une meilleur configuration de notre réseau local.

Je remercie Pacome, Bovira qui m'ont beaucoup aidé à la reussite de ce tutoriel




Tony NGUEREZA 11 Jan 2016, 15h24

Aucun commentaire n'a encore été ajouté soyez le premier a ajouté un commentaire

Vous n'êtes pas connecter veuillez vous connecter ou créer gratuitement un compte pour poster des commentaires

Vous êtes ici :
Accueil Tutoriel Sécurité Informatique Mise en place d'un serveur proxy (Squid) sous linux