🦑 Module L15 – Le proxy Squid

📘 Cours complet ⏱️ 2h30 🎯 Bloc 2 – Administration Linux
Objectifs : maîtriser l'installation, la configuration avancée, l'authentification et le filtrage avec Squid.

📖 Introduction

Squid est un proxy-cache très utilisé sous Linux. Il permet de mettre en cache les ressources web, d'optimiser la bande passante, de filtrer les accès et d'assurer un niveau de sécurité. Ce module approfondit les fonctionnalités avancées de Squid.

🎯

À l'issue de ce module, vous serez capable de :

  • Installer et configurer Squid en mode transparent.
  • Mettre en place une authentification (basic, LDAP).
  • Configurer des listes d'accès (ACL) avancées.
  • Analyser les logs et optimiser le cache.

🔍 Squid : présentation

📐 Architecture de Squid

ComposantRôle
clientNavigateur ou application configuré pour utiliser le proxy.
SquidServeur proxy qui reçoit les requêtes, vérifie le cache, interroge le serveur distant si nécessaire.
CacheRépertoire de stockage des objets (disque ou mémoire).
LogsFichiers d'accès et d'erreurs pour l'audit.

🛠️ Configuration avancée

Mode transparent

Rediriger le trafic HTTP vers Squid avec iptables

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Puis dans squid.conf :

http_port 3128 intercept

Authentification basique

Créer un fichier d'utilisateurs

sudo htpasswd -c /etc/squid/passwd utilisateur1

Configurer Squid

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Proxy

acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny all

Filtrage par domaine

acl bloque_sites dstdomain .facebook.com .youtube.com
http_access deny bloque_sites

Limitation de bande passante

delay_pools 1
delay_class 1 1
delay_parameters 1 64000/64000
acl petit_debit src 192.168.1.0/24
delay_access 1 allow petit_debit

Logs et surveillance

sudo tail -f /var/log/squid/access.log

Utiliser squidclient pour interroger le cache :

squidclient -h localhost -p 3128 mgr:info

📝 Exercices d'application

Exercice 1 – Mode transparent

Quelle est la différence entre un proxy standard et un proxy transparent ?

Le proxy transparent intercepte le trafic sans que le client ait besoin de configurer son navigateur. Il utilise généralement une redirection au niveau du routeur (iptables).

Exercice 2 – ACL

Écrire une ACL qui bloque l'accès au site twitter.com.

acl twitter dstdomain .twitter.com
http_access deny twitter

🎯 Quiz d'auto‑évaluation

1. Squid utilise le port 3128 par défaut.

2. Le mode transparent nécessite une configuration côté client.

3. dstdomain permet de filtrer par nom de domaine.

4. delay_pools permet de limiter le débit.

5. L'authentification NTLM est prise en charge par Squid.

📚 Ressources


← Retour au portail
BTS SIO – Lycée NDLP Avranches – Module L15 v1.0