Squid - Serveur mandataire (proxy)

Squid is a full-featured web proxy cache server application which provides proxy and cache services for Hyper Text Transport Protocol (HTTP), File Transfer Protocol (FTP), and other popular network protocols. Squid can implement caching and proxying of Secure Sockets Layer (SSL) requests and caching of Domain Name Server (DNS) lookups, and perform transparent caching. Squid also supports a wide variety of caching protocols, such as Internet Cache Protocol (ICP), the Hyper Text Caching Protocol (HTCP), the Cache Array Routing Protocol (CARP), and the Web Cache Coordination Protocol (WCCP).

Le serveur de cache proxy Squid est une excellente solution pour une variété de nécessités de cache et de proxy, de l'échelle de la succursale aux réseaux d'entreprise, tout en offrant des mécanismes de contrôle d' accès granulaires et complets, et une supervision de paramètres critiques via le protocole Simple Network Manager Protocol (SNMP). Lors de la sélection d'un système informatique pour une utilisation de serveur proxy cache Squid avec de nombreux utilisateurs, assurez vous de le configurer avec une large quantité de mémoire vive, étant donné que Squid utilise un cache mémoire pour des performances optimales.

Installation

Pour installer le serveur Squid, utilisez la commande suivante dans un terminal :

sudo apt-get install squid3

Configuration

Squid est configuré en modifiant les directives contenues dans le fichier de configuration /etc/squid3/squid.conf. Les exemples qui suivent illustrent quelques unes de ces directives qui doivent être modifiées pour changer le comportement du serveur Squid. Pour une configuration plus approfondie de Squid, voyez les sections de référence.

Avant de modifier le fichier de configuration, vous devriez faire une copie du fichier original et le protéger en écriture, vous aurez alors les paramètres par défaut en référence à utiliser si besoin. Faites cette copie et protégez la de l'écriture en utilisant la commande suivante :

sudo cp /etc/squid3/squid.conf /etc/squid3/squid.conf.original
sudo chmod a-w /etc/squid3/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
    
  • En utilisant le contrôle d'accès de Squid, vous pouvez configurer l'accès aux services Internet gérés par le proxy Squid de telle sorte qu'ils ne soient disponibles que pour les utilisateurs ayant certaines adresses IP. À titre d'exemple, nous allons détailler le cas d'un accès uniquement aux utilisateurs du sous-réseau 192.168.42.0/24 :

    Ajoutez ce qui suit à la fin de la section ACL de votre fichier /etc/squid3/squid.conf :

    acl fortytwo_network src 192.168.42.0/24
    

    Ensuite, ajoutez ce qui suit au début de la section http_access de votre fichier /etc/squid3/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'utilisation des services Internet par proxy Squid pour n'être disponibles que pendant les heures normales de bureau. Par exemple, nous allons illustrer l'accès par les employés d'une entreprise qui opère entre 09h00 et 17h00, du lundi au vendredi, et qui utilise le sous-réseau 10.1.42.0/24 :

    Ajoutez ce qui suit à la fin de la section ACL de votre fichier /etc/squid3/squid.conf :

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

    Ensuite, ajoutez ce qui suit au début de la section http_access de votre fichier /etc/squid3/squid.conf :

    http_access allow biz_network biz_hours
    

Après avoir fait les changements au fichier /etc/squid3/squid.conf, enregistrez le fichier et redémarrez l'application serveur squid pour effectuer les changements en utilisant la ligne de commande suivante dans un terminal :

sudo service squid3 restart