I – Objectif
Ce document décrit l'installation et la configuration de Squid en tant que proxy cache. Squid permet de mettre en cache les requêtes HTTP/HTTPS afin de réduire la consommation de bande passante et d'améliorer les temps de réponse pour les utilisateurs d'un réseau local.
II – Prérequis
● Ubuntu Server 22.04 LTS
● Accès sudo
● Firewall ouvert sur port 3128/TCP
● Réseau local dont les postes clients seront configurés pour utiliser ce proxy
III – Procédure
1) Installation de Squid
$ sudo apt update && sudo apt install squid -y
2) Vérifier le statut du service
$ sudo systemctl status squid
Si le service n'est pas actif :
$ sudo systemctl enable --now squid
3) Sauvegarder la configuration d'origine
Avant toute modification, faire une copie du fichier de configuration par défaut :
$ sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
4) Modifier la configuration
Fichier :
/etc/squid/squid.conf
Ouvrir avec Vim :
$ sudo vi /etc/squid/squid.conf
Définir les réseaux autorisés à utiliser le proxy (adapter selon votre plage réseau) :
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
Définir la taille et l'emplacement du cache disque :
cache_dir ufs /var/spool/squid 1000 16 256
• ufs → type de système de fichiers pour le cache
• /var/spool/squid → répertoire du cache
• 1000 → taille maximale du cache en Mo
• 16 → nombre de sous-répertoires de premier niveau
• 256 → nombre de sous-répertoires de second niveau
Définir la taille maximale des objets mis en cache :
maximum_object_size 50 MB
Définir le port d'écoute (3128 par défaut) :
http_port 3128
5) Initialiser le cache
Après toute modification de cache_dir, initialiser le répertoire de cache :
$ sudo squid -z
6) Redémarrer Squid
$ sudo systemctl restart squid
7) Vérifier les logs
Consulter les logs d'accès en temps réel pour confirmer le bon fonctionnement :
$ sudo tail -f /var/log/squid/access.log
Chaque requête passant par le proxy apparaît dans ce fichier avec le statut TCP_MISS (non caché) ou TCP_HIT (servi depuis le cache).
8) Configurer les clients
Sur les postes clients, configurer le proxy HTTP dans les paramètres réseau ou navigateur :
Adresse du proxy : <IP du serveur Squid>
Port : 3128
IV – Conclusion
Squid est maintenant installé et configuré comme proxy cache. Les requêtes HTTP des clients du réseau local transitent par Squid, qui met en cache le contenu afin de réduire la bande passante consommée.
Pour aller plus loin, il est possible de configurer le filtrage d'URL (blacklists) ou l'inspection HTTPS via SSL Bump.