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.
- 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
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.
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.
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.
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.
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.
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.