Prérequis et architecture cible
L'environnement opére sur une distribution CentOS 7.6 et repose sur l'intégration d'une pile LAMP standard, du moteur d'acheminement rsyslog et du visualiseur LogAnalyzer. Cette configuration permet de persister les événements système dans un SGBD relationnel avant de les exposer à travers une interface web sécurisée.
- Provisionnement des dépendances système
Le déploiement nécessite l'installation du serveur HTTP, du moteur de base de données MariaDB, des bibliothèques PHP ainsi que le module de sortei relationnel dédié à rsyslog.
sudo yum install -y httpd mariadb-server php php-mysqlnd php-gd rsyslog-mysql
- Préparation de la persistance relationnelle
Une fois les paquets intégrés, le service MariaDB doit être activé et placé en exécution. Le schéma SQL officiel, fourni directement par le paquet du collecteur, structure automatiquement les tables nécessaires au stockage des logs.
sudo systemctl enable --now mariadb
sudo mysql < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
Il convient ensuite de créer un compte dédié avec les privilèges stricts requis pour l'écriture dans le schéma Syslog.
mysql -u root -p << 'EOF'
CREATE USER 'log_writer'@'localhost' IDENTIFIED BY 'H4rdP@ssw0rd';
GRANT ALL PRIVILEGES ON Syslog.* TO 'log_writer'@'localhost';
FLUSH PRIVILEGES;
EOF
- Configuration du routeur de journaux
Le fichier principal /etc/rsyslog.conf doit être ajusté pour charger le module de sortie MySQL et définir les règles d'acheminement vers le backend relationnel.
### MODULES ###
$ModLoad ommysql
### RULES ###
*.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog,log_writer,H4rdP@ssw0rd
Le rehcargement du service applique immédiatement ces directives d'acheminement.
sudo systemctl restart rsyslog
- Déploiement de l'interface LogAnalyzer
L'application web est distribuée sous forme d'archive source. Après extraction, les fichiers applicatifs sont déplacés dans le répertoire document root du serveur Apache. Un fichier de configuration est initialisé manuellement et ouvert en écriture pour permettre l'assistant d'installation.
tar -xzf loganalyzer-4.1.7.tar.gz
sudo cp -rp loganalyzer-4.1.7/src/ /var/www/html/audit-logs
sudo touch /var/www/html/audit-logs/config.php
sudo chmod 666 /var/www/html/audit-logs/config.php
L'activation du service HTTP complète la partie infrastructure.
sudo systemctl enable --now httpd
- Initialisation via le navigateur web
La configuration finale s'effectue à travers l'assistant accessible à l'adresse http://<IP_DU_SERVEUR>/audit-logs. Le processus suit cette séquence :
-
Consulter la page d'accueill et cliquer sur le lien d'installation dédié.
-
Valider les conditions de vérification des dépendances (Check Prerequisites).
-
Définir le backend de stockage en sélectionnant MYSQL Native dans la section Source Type, puis renseigner les identifiants de connexion (
127.0.0.1,Syslog,log_writer, mot de passe défini précédemment). -
Terminer la séquence en validant les derniers écrans jusqu'à l'apparition du message de réussite.
-
Verrouillage des accès post-installation
Une fois l'assistant finalisé, le fichier de configuration devient statique. Il est impératif de restreindre ses permissions pour empêcher toute modification non autorisée ou injection malveillante.
sudo chmod 644 /var/www/html/audit-logs/config.php