← Retour au portail

🐧 Module L13 – La notion de proxy

📘 Fiche de cours ⏱️ 2h 🎯 Bloc 2 – Administration Linux
Objectifs : comprendre le rôle d’un proxy, ses types, ses usages et savoir le configurer.

📖 Introduction

Un proxy (ou mandataire) est un serveur qui agit comme intermédiaire entre les clients (postes de travail, navigateurs) et les serveurs distants. Il reçoit les requêtes, les traite éventuellement, et les transmet. Il apporte des bénéfices en termes de performance (cache), de sécurité (filtrage, anonymat) et de contrôle.

🎯

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

  • Définir ce qu'est un proxy et ses fonctions principales.
  • Distinguer les types de proxy (direct, inverse, transparent).
  • Configurer un proxy de base avec Squid.
  • Analyser les logs et mettre en place des règles d'accès.

🔍 Qu'est-ce qu'un proxy ?

Un proxy est un serveur qui fait l'intermédiaire entre un client et un serveur. Il peut être utilisé pour :

  • Accélération : mettre en cache les ressources pour réduire la bande passante et le temps de réponse.
  • Filtrage : bloquer l'accès à certains sites (contrôle parental, politique d'entreprise).
  • Anonymat : masquer l'adresse IP du client.
  • Journalisation : tracer les accès pour des besoins d'audit.
  • Contournement : franchir des restrictions géographiques (via un proxy dans une autre région).

📐 Types de proxy

TypeDescriptionExemple d'usage
Proxy direct (forward)Le client se connecte au proxy qui va chercher la ressource sur Internet.Navigateur configuré avec un proxy d'entreprise.
Proxy inverse (reverse)Le proxy se place devant des serveurs web, il distribue les requêtes entrantes.Reverse proxy pour répartir la charge (load balancing).
Proxy transparentLe client n'a pas besoin de configuration, le proxy intercepte le trafic.Filtrage au niveau du routeur (ex : SQUID en mode intercept).

🛠️ Mise en pratique avec Squid

Installation de Squid

sudo apt update && sudo apt install squid -y

Le fichier de configuration principal est /etc/squid/squid.conf.

Configuration de base

Exemple : autoriser le réseau local 192.168.1.0/24

# Dans /etc/squid/squid.conf
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
http_port 3128
  • acl localnet src 192.168.1.0/24 : définit une ACL (Access Control List) pour le réseau local.
  • http_access allow localnet : autorise l'accès aux clients de ce réseau.
  • http_access deny all : refuse tous les autres.
  • http_port 3128 : le port d'écoute du proxy.

Redémarrer Squid

sudo systemctl restart squid

Tester le proxy

Configurez votre navigateur pour utiliser le proxy sur le port 3128, puis visitez un site. Vérifiez les logs :

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

📝 Exercices d'application

Exercice 1 – Identification du type

Un proxy est placé entre les clients et Internet, les clients doivent le configurer dans leur navigateur. De quel type s'agit-il ?

Il s'agit d'un proxy direct (forward).

Exercice 2 – Filtrage

Comment bloquer l'accès au site facebook.com avec Squid ?

acl facebook dstdomain .facebook.com
http_access deny facebook

🎯 Quiz d'auto‑évaluation

1. Un proxy direct est aussi appelé proxy inverse.

2. Squid est un logiciel de proxy très répandu sous Linux.

3. Le port par défaut de Squid est 8080.

4. Un proxy peut mettre en cache les pages web pour accélérer l'accès.

5. La directive http_access allow localnet permet d'autoriser le réseau local.

📚 Ressources