Product SiteDocumentation Site

5.2. Sécurisation de Squid

Squid est l'un des plus populaires serveurs mandataire (« proxy ») et cache et certains problèmes de sécurité sont à prendre en compte. Le fichier de configuration par défaut de Squid refuse toutes les requêtes d'utilisateurs. Cependant, le paquet Debian permet l'accès depuis « localhost », il est simplement nécessaire de configurer le navigateur correctement. Vous devriez configurer Squid pour permettre l'accès aux utilisateurs, hôtes ou réseaux de confiance en définissant une liste de contrôle d'accès (ACL) dans /etc/squid/squid.conf. Consultez le http://www.deckle.co.za/squid-users-guide/Main_Page pour plus d'informations à propos des règles ACL. Veuillez noter que Debian fournit une configuration minimale pour Squid qui empêche tout, à l'exception de la connexion de localhost au serveur mandataire (qui fonctionnera sur le port 3128 par défaut). Vous devrez personnaliser le fichier/etc/squid/squid.conf comme nécessaire. La configuration minimale recommandée (fournie avec le paquet) est indiquée ci-dessous :
Voici ci-dessous la configuration minimum recommandée:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # ports non enregistrés
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl Safe_ports port 901         # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
(...)
# Ne permet l'accès à cachemgr que depuis localhost
http_access allow manager localhost
http_access deny manager
# Ne permet des requêtes de purge que depuis localhost
http_access allow purge localhost
http_access deny purge
# Interdit les requêtes sur des ports inconnus
http_access deny !Safe_ports
# Interdit CONNECT sur tout autre port que SSL
http_access deny CONNECT !SSL_ports
#
# INSÉRER VOS PROPRES RÈGLES ICI POUR PERMETTRE L'ACCÈS
# DEPUIS LES CLIENTS
#
http_access allow localhost
# Et enfin, interdit tout autre accès à ce mandataire
http_access deny all
# Par défaut :
# icp_access deny all
#
# Permet les requêtes ICP à tout le monde
icp_access allow all
Vous pouvez également configurer Squid selon vos ressources système, en incluant la mémoire cache (option cache_mem), l'emplacement de vos fichiers du cache et la quantité d'espace qu'ils prendront sur disque (option cache_dir).
Notez que, s'il n'est pas configuré correctement, n'importe qui peut relayer un message par l'intermédiaire de Squid, puisque les protocoles HTTP et SMTP sont conçus de façon similaire. Le fichier de configuration par défaut interdit l'accès au port 25. Si vous voulez autoriser les connexions sur ce port, il vous faudra l'ajouter dans la liste des Safe_ports (ports autorisés). Cependant, ce n'est PAS recommandé.
Installer et configurer le serveur mandataire et le cache correctement ne représente qu'une partie de la sécurisation du site. Une autre tâche nécessaire réside dans l'analyse des journaux de Squid pour s'assurer que tout fonctionne comme prévu. Quelques paquets dans Debian GNU/Linux peuvent aider l'administrateur dans cette tâche. Les paquets suivant sont disponibles dans Debian 3.0 et Debian 3.1 (Sarge)  :
  • calamaris - Analyseur des journaux pour serveurs mandataires Squid ou Oops
  • modlogan - Analyseur modulaire de journaux
  • sarg - Création de compte-rendu d'analyse de Squid
  • squidtaild - Programme de surveillance des journaux de Squid
Quand vous utilisez Squid en Accelerator Mode, il se comporte également comme un serveur web. Activer cette option augmente la complexité du code, le rendant moins fiable. Par défaut, Squid n'est pas configuré pour se comporter comme un serveur web, donc vous n'avez pas besoin de vous tracasser à cause de cela. Notez que si vous désirez utiliser cette fonctionnalité, assurez-vous qu'elle est vraiment nécessaire. Pour trouver plus d'informations à propos de l'Accelerator Mode de Squid, consultez le http://www.deckle.co.za/squid-users-guide/Accelerator_Mode.