HTTP Proxy sur Zeroshell

I. Présentation

Zeroshell propose nativement un service de proxy HTTP couplé à un antivirus Opensource qui se nomme ClamAV. Ces outils peuvent être d'une grande utilité lors du déploiement d'une solution Zeroshell en entreprise, car ils permettent de garantir un minimum de sécurité et de contrôle sur le comportement des utilisateurs sur Internet.  Nous allons apprendre à les mettre en place et à les utiliser dans ce tutoriel .

Attention : Cette documentation a été réalisée avec la version RC2 de Zeroshell, considérez ce détail lors de la lecture du tutoriel et de son application sur des versions plus récentes de Zeroshell

II. Les pré-requis

Il faut tout d'abord que votre Zeroshell agisse comme le routeur d'un réseau LAN afin que la configuration en proxy transparent fonctionne. Un proxy est dit transparent lorsqu'aucune configuration n'est à faire du côté des clients pour que son action soit effective.

Les paquets sont physiquement obligés de passer par le proxy pour sortir sur d'autres réseaux ou sur Internet. En voici une illustration :

ZProxy01

Le proxy filtre donc toutes les requêtes et les traites selon une blacklist (une liste d'URL interdites) ou une whiteliste.  Le Zeroshell doit donc agir entre deux réseaux (un LAN et un WAN) et doit en être la passerelle.

III. La mise en place

Il faut donc commencer par se rendre sur l'interface web de notre Zeroshell via un navigateur :: http://<IpZeroshell>

Une fois ligué, rendez-vous dans HTTP Proxy dans la colonne de gauche. Il faut savoir que le proxy de Zeroshell agit en tant que filtre sur les requêtes que passent les clients, mais il utilise également un antivirus qui scanne les échanges afin de les sécuriser. La configuration et l'action de cet antivirus sont configurables via l'interface graphique de Zeroshell.

La fonction de filtrage est gérée par des blacklists/ whitelists qu'il est possibles de manager via l'interface graphique également. La fonction de proxy cache (le stockage des pages souvent visitées) n'est pas effectuée par le proxy de Zeroshell. Ceci est dû au fait que Zeroshell est un LiveCD et qu'il ne stocke que sa configuration sur une partition de disque. Il ne peut donc pas écrire et effacer des URL de sites constamment.

Nous arrivons alors sur l'interface de gestion principale du proxy de Zeroshell :

ZProxy03

Nous allons commencer par déterminer sur quelle interface le proxy sera actif. Par exemple, si votre LAN se situe sur l'interface ETH00 de votre Zeroshell, il faut cliquer sur le "+" présent à droite de "HTTP Capturing Rules". C'est ici qu'on va dire sur quelle interface/ réseau le proxy doit filtrer les requêtes. Il faut alors remplir la fenêtre comme suivant :

ZProxy04

Il faut cliquer sur "Save" une fois que les paramètres sont entrés.

Il est aussi possible de déterminer un filtrage en fonction de l'IP source ou destination des requêtes, il faut alors utiliser la forme suivante : 192.168.23.0/255.255.255.0 pour le réseau 192.168.23.0.

On peut également gérer des exceptions sur le contrôle des requêtes, si l'on souhaite que toutes les requêtes provenant de ETH00 soient filtrées sauf celles du réseau 192.168.3.0/255.255.255.0, il faut recliquer sur le "+" pour faire réapparaitre la fenêtre puis la remplir comme ceci :

ZProxy05

Une fois encore, il faut cliquer sur "Save" pour valider les changements.

Nous pouvons ensuite passer à la configuration du proxy en lui même, il est préférable de le configurer en mode filtrage de tous les accès dans l'option HAVP Configuration (HTTP AntiVirus Proxy), comme ceci :

ZProxy06

La suite des paramètres concerne la configuration de l'antivirus libre ClamAV que l'on peut configurer comme ceci :

ZProxy07

  • Check Images : Permet le scan des images qui transitent dans les requêtes.
  • AutoUpdate Virus Signatures : permet la mise à jour automatique de la base de données antivirus.
  • Number of Checks per Day : nombre de tentative de mise à jour de l'antivirus.
  • Country of the Mirror : Position du miroir pour le téléchargement et la mise à jour de l'antivirus

 

IV. Gestion des listes

Nous pouvons enfin commencer à gérer une blacklist, nous décidons par exemple l'interdiction d'accès au site www.youtube.com. Il nous suffit de cliquer sur "Manage" et d'entrer les URLs que nous souhaitons interdire. Exemple pour www.youtube.com :

ZProxy08

Il faut ensuite cliquer sur "Save". Il faut enfin cocher la case "Enable" en haut de la fenêtre de configuration puis cliquer sur "Save" pour appliquer les changements. Si c'est la première fois que vous activez le Proxy HTTP avec l'antivirus, le premier démarrage peut durer quelques minutes, car la base de données de l'antivirus ClamAV se met à jour, il faut alors attendre quelques minutes pour que l'activation soit effective.

V. Test à partir d'un poste client

Depuis un poste client qui utlise Zeroshell comme passerelle, il va falloir tester le bon fonctionnement de notre Proxy. Nous avons interdit l'accès à www.youtube.com, nous allons donc tenter d'y accéder via navigateur. Voici le message d'interdiction qui apparaitra :

ZProxy09

Assurez vous bien de la route que prend votre client pour sortir de son réseau, il doit bien avoir le serveur Zeroshell comme passerelle !

VI. Analyse des logs

Il est possible de voir trois sortes de logs sur le Proxy HTTP de Zeroshell . Les logs des mise à jours de l'antivirus, il faut alors cliquer sur "Update logs" :

ZProxy10

On peut y voir des informations sur l'état de notre antivirus. Nous voyons par exemple que la version de ClamAV est dépassé "OUTDATED" et que la dernière vérification a été faite à 20:52:53. Il est également possible de voir les logs du proxy en lui même en cliquant sur "Proxy log", nous voyons par exemple ici que des accès à un site blacklisté ont été tentés :

ZProxy11

Nous voyons également qu'elle adresse IP a tentée d'accéder à cette URL ainsi que l'heure précise de lancement de la requête. Les derniers logs sont ceux de l'antivirus, ils sont intéressants si celui-ci détecte un virus lors d'une requête ou d'un échange, mais sinon seuls les accès à la base de données de ClamAV y sont notés :

ZProxy12

Voila à quoi ressemble la page de configuration une fois celle-ci finie :

ZProxy13

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Nombre de posts de cet auteur : 523.Voir tous les posts

4 thoughts on “HTTP Proxy sur Zeroshell

  • Article intéressant n’y aurait il pas une manip lorsqu’on est en load balancing avec 2 wan (multiwan) et le proxy pour que ce dernier utilise bien le load balancing et ne pas passer toujours par le meme lien
    Merci

    Répondre
  • salut aufait je ne parviens pas à interdire l’acces aux cites internet avec le zeroshell bien que respectant vos instructions, une fois connecté les sites web indiqués dans la black list s’ouvrent toujours.
    j’utilise la 3.2.0
    merci

    Répondre
    • Salut ! J’ai la même préoccupation avec la version 3.8.2
      Une aide stp ?

      Répondre

Répondre à Mickael Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.