B1.1 Stage 1ère année 2024 – 2025

Proxy Squid
Gestion du patrimoine

Mise en place d'un serveur proxy filtrant sous Debian avec journalisation, parsing des logs, stockage en base de données MySQL et interface web de visualisation PHP.

SquidDebianMySQL PHPApacheBash LogsRGPDProxy filtrant
01Contexte du projet

Dans un contexte de contrôle et d'optimisation de l'accès à Internet au sein d'une infrastructure réseau, il est nécessaire de mettre en place un serveur proxy permettant de filtrer les connexions web, authentifier les utilisateurs et journaliser les activités Internet.

Pour une meilleure exploitation des données, une interface web de visualisation et une base de données MySQL sont mises en œuvre afin d'analyser les logs générés.

~7 700
requêtes / jour
100–110
utilisateurs actifs
1 an
rétention RGPD
Cahier des charges
  • Proxy filtrant — contrôle et restriction des accès web
  • Authentification des utilisateurs avant navigation
  • Journalisation complète des activités Internet
  • Parsing des logs avec gestion des doublons
  • Stockage centralisé en base de données MySQL
  • Interface web de consultation des logs
Contraintes techniques
OSDebian
ProxySquid
ScriptsBash / Python
Base de donnéesMySQL
Interface webPHP / Apache
Accèslocalhost / LAN
02Mise en place des logs

Lors de l'installation de Squid, une fois l'adresse IP enregistrée comme proxy dans le navigateur, le fichier natif access.log génère des sorties brutes sous forme de timestamps Unix, difficiles à interpréter directement.

Logs bruts Squid
access.log — format natif Squid (timestamps Unix bruts)Fig. 1

Pour rendre les logs exploitables dans l'interface web, un système de parsing a d'abord été développé en bash : il lit le fichier de logs, convertit les timestamps en dates humaines et réécrit les entrées dans un nouveau fichier.

Logs parsés bash
Sortie bash reformatée — dates lisibles, ordre des champs corrigéFig. 2
⚠ Problème identifié

Cette approche avec boucle while ne gère pas les doublons. Pour 100–110 utilisateurs quotidiens, cela représente environ 7 704 requêtes/jour soit plus d'1,3 million par an — la BDD serait rapidement surchargée et les ressources machine saturées.

Un fichier de parsing en PHP a donc été développé en remplacement. Il gère la déduplication, est bien moins énergivore qu'un script bash avec while, et insère directement les données dans MySQL.

Code PHP parse_logs
parse_logs.php — connexion MySQL, lecture access.log, déduplication, insertion BDDFig. 3

Les logs centralisés contiennent les adresses IP, les sites consultés, les horodatages et le volume de données. Ils sont conservés 1 an conformément à la loi RGPD, assurant la traçabilité et facilitant le diagnostic en cas d'incident.

03Interface web de visualisation

L'interface, développée en PHP / HTML et supportée par Apache, présente les données de manière claire et structurée après parsing et insertion en BDD. Elle rend les logs exploitables par les responsables informatiques, équipes de sécurité ou enquêteurs.

Interface web Logs du Proxy
Interface web "Logs du Proxy" — colonnes Horodatage, Utilisateur, IP, Code, URL, Ping, BytesFig. 4
1
Filtrage par utilisateur
Recherche par nom d'utilisateur pour isoler l'activité d'un compte spécifique.
2
Filtrage par horodatage
Sélection d'une plage de dates pour consulter les logs d'une période précise.
3
Tri par IP et consommation
Classement des entrées par adresse IP source et volume de données échangées (bytes).
4
Recherche par mot-clé dans l'URL
Filtrage des logs contenant un domaine ou chemin spécifique dans l'URL consultée.
Compétences acquises

Ce projet m'a permis d'acquérir plusieurs compétences liées à la gestion du patrimoine informatique : gérer un service en conditions proches de la production, assurer son installation, son bon fonctionnement et le suivi via les logs. J'ai renforcé mes capacités en supervision des systèmes, gestion et centralisation de données techniques, et mise en place d'outils de traçabilité conformes au RGPD. Le travail en binôme a également développé mes compétences en mode projet.

← Retour aux compétences