Squid - Serveur proxy

Squid est un serveur mandataire/cache web très complet qui fournit des services de cache et de relais pour le protocole HTTP (Hyper Text Transport Protocol), le protocole FTP (File Transfer Protocol), et d'autres protocoles réseau courants. Squid peut gérer le cache et le relais des requêtes SSL (Secure Sockets Layer), agir en tant que cache pour les consultations DNS (Domain Name Server), et agir en tant que cache transparent. Squid supporte également une large variété de protocoles de cache, comme ICP (Internet Cache Protocol), HTCP (Hyper Text Caching Protocol), CARP (Cache Array Routing Protocol), et WCCP (Web Cache Coordination Protocol).

Le serveur mandataire Squid est une excellente solution pour divers besoins de relais et de cache, son usage s'étend de la succursale aux réseaux d'entreprise tout en fournissant des mécanismes de contrôle d'accès étendus et modulaires et en surveillant les paramètres critiques via le protocole SNMP (Simple Network Management Protocol). Lorsque vous sélectionnez un ordinateur pour utiliser en tant que serveur mandataire Squid dédié, ou un serveur de cache, assurez vous que le système est configuré avec une grande quantité de mémoire physique, car Squid maintient un cache en mémoire pour accroître les performances.

Installation

Pour installer le serveur Squid, utilisez la commande suivante à l'invite d'un terminal :

sudo apt-get install squid squid-common

Configuration

Squid est configuré en éditant les directives contenues dans le fichier /etc/squid/squid.conf. Les exemples suivants illustrent certaines modifications de directives qui peuvent affecter le comportement du serveur Squid. Pour une configuration plus avancée de Squid, voyez la section références.

[Astuce]

Avant de modifier le fichier de configuration, vous devriez en faire une copie protégée contre l'écriture, ainsi vous aurez les paramètres d'origine comme référence, et ré-utilisables si nécessaire.

Copiez le fichier /etc/squid/squid.conf et protégez-le en écriture en exécutant la commande suivante dans un terminal :

sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.original
sudo chmod a-w /etc/squid/squid.conf.original

  • Pour que votre serveur Squid écoute sur le port TCP 8888 à la place du port par défaut 3128, modifiez la directive http_port comme ceci :

    http_port 8888

  • Pour donner un nom d'hôte spécifique à votre serveur Squid, changez la directive visible_hostname. Ce nom d'hôte n'a pas forcément besoin d'être le même que le nom d'hôte de la machine. Dans cet exemple il est défini comme étant weezie.

    visible_hostname weezie

  • A nouveau, en utilisant le contrôle d'accès Squid, vous pouvez configurer l'utilisation des services Internet mandatés par Squid pour n'être disponible que pour les utilisateurs disposant de certaines adresses IP. Par exemple, nous n'allons autoriser l'accès que pour les utilisateurs du sous réseau 192.168.42.0/24 :

    Ajoutez ce qui suit en bas de la section ACL de votre fichier /etc/squid/squid.conf :

    acl fortytwo_network src 192.168.42.0/24

    Ajoutez ensuite ce qui suit, en haut de la section http_access de votre fichier /etc/squid/squid.conf :

    http_access allow fortytwo_network

  • En utilisant les excellentes fonctionnalités de contrôle d'accès de Squid, vous pouvez configurer l'usage des services Internet mandatés par Squid pour n'être accessibles que pendant les heures de bureau. Par exemple, nous restreindrons l'accès pour les employés d'un société qui travaillent du lundi au vendredi, entre 9h00 et 17h00, et qui utilisent le sous réseau 10.1.42.0/42 :

    Ajoutez ce qui suit en bas de la section ACL de votre fichier /etc/squid/squid.conf :

    acl biz_network src 10.1.42.0/24 acl biz_hours time M T W T F 9:00-17:00

    Ajoutez ensuite ce qui suit, en haut de la section http_access de votre fichier /etc/squid/squid.conf :

    http_access allow biz_network biz_hours

[Note]

Après avoir effectué les changements dans le fichier /etc/squid/squid.conf, enregistrez le fichier et redémarrez le serveur squid afin que les modifications soient prises en compte, en utilisant la commande suivante dans une console :

sudo /etc/init.d/squid restart

Références

Site internet de Squid