Beruflich Dokumente
Kultur Dokumente
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 1/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
Ce e situation consiste à intégrer un serveur Syslog pour centralisée les logs des firewalls et du
proxy. Le serveur sera installé sur une machine virtuelle Debian 8.2 qui elle-même sera installée
sur un Hyperviseur ESX.
Pour se connecter à l’hyperviseur, nous commençons par installer VMware VSphère client sur
notre STA. Pour télécharger la bonne version du client compatible avec notre hyperviseur, il faut
entrée l’adresse ip de l’hyperviseur dans notre navigateur.
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 2/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
Ce qui nous permet d’accéder à la page ci-dessous. En cliquant sur Download vSphere Client, on
lance le téléchargement du client.
Une fois le client installer, on peut se connecter à l’hyperviseur en informant l’adresse IP, le nom
d’utilisateur et le mot de passe. Ce client va nous perme re ensuite d’accéder au machines
virtuelles déjà présente sur l’hyperviseur mais va également nous perme re de créer une nouvelle
machine virtuelle.
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 3/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
Dans l’onglet résumé, on a accès au disque dur ou est installé notre hyperviseur.
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 4/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
Un clic droit sur le Datastore1 permet d’accéder aux fichiers « Parcourir la banque de données… ».
On clique sur « Télécharger un fichier vers ce e BD ». Puis, on recherche les images ISO des OS que
l’on souhaite installée sur les VM.
A partir d’ici, on commence la création de la machine virtuelle. On commence par ce rendre dans
fichier, Nouveau et Machine virtuelle (CTRL+N).
Il est possible d’effectuer une installation rapide (Typique) ou personnalisée avec un plus grand
nombre de paramètres modifiable. Dans ce tutoriel, Nous allons effectuer une installation
personnalisée pour explorer tous les paramètres qu’il est possible de modifier.
La création de la machine virtuelle commence par le choix de son nom (jusqu’à 30 caractère et
doivent être unique dans chaque dossier de VM vCenter Server. Il faut ensuite choisir un stockage
de destination pour les fichiers de la machine virtuelle. Ici, nous choisissons le datastore1, là où
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 5/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
A l’étape suivante, il faut choisir la version de la machine virtuelle en fonction de la version d’ESX
installé. Ici, on choisit la version 11 car nous travaillons sur ESXi6.
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 6/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 7/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
On choisit ensuit de créer un disque virtuel et ont défini s’est paramètres (la capacité, le
provisionnement disque et l’emplacement). Pour finir, il est possible de configurer quelques
paramètres supplémentaire et on obtient un récapitulatif de la machine virtuelle.
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 8/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 9/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 10/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
On accède ensuite à nos machines virtuelles à partir d’une liste à gauche de l’interface client.
On veut ensuite ajouter l’image ISO à notre nouvelle machine virtuelle pour installer l’OS souhaité.
On clique sur la machine virtuelle puis sur modifier les paramètres de la machine virtuelle. On
clique ensuite sur Lecteur CD / DVD
Dans notre situation, il faut cocher la case Fichier ISO dans banque de données puis parcourir la
base de données (datastore1) pour y sélectionnée l’image ISO voulu. Il ne faut surtout pas oublie
de cocher la case en haut de la fenêtre, « Connecter lors de la mise sous tension ». Sinon, le lecteur
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 11/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
CD / DVD ne sera pas activée. Voilà, votre machine est prête, il ne reste plus qu’à la lancée.
Nous installons Debian sur une machine virtuelle créée sur l’hyperviseur ESXi. Notre serveur
Syslog sera hébergé sur ce e machine virtuelle. Dès le lancement de la VM, nous arrivons sur
l’écran de démarrage si dessous. On choisit l’option install car nous souhaitons configure notre
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 12/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
L’installation commence par le choix de la langue. Puis on nous demande un nom de domaine
(pour notre part, nous n’avons pas indiqué de nom de domaine).
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 13/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
Il faut ensuite configurer les utilisateurs (le mot de passe du super utilisateur « root », le nom du
nouvel utilisateur ainsi que son mot de passe).
A la suite, nous passons à la configuration du disque. Pour faire simple, nous avons choisi
d’utiliser un disque entier.
Puis pour le partitionnement, nous me ons tout dans une seule partition. On finit par sélectionner :
« Terminer le partitionnement et appliquer les changements ».
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 14/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
On configure ensuite le réseau. On sélectionne le pays du miroir puis on choisit le miroir souhaité
Configuration de Debian
Une fois notre machine Debian fonctionnel, on commence par configurer les paramètres IP. A
l’aide de la commande « nano /etc/network/interfaces/ » on peut y entrer les paramètres IP.
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 15/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
Il faut ensuite vérifier si le miroir réseau est correctement configurer. Cela perme ra d’indiquer à
la machine virtuelle, l’endroit où se trouvent les paquets à installer.
On doit également ajouter les paramètres du Proxy dans le fichier « nano /etc/profile » :
#Connexion au Proxy
export http_proxy'http://__.__.__.99:3129/'
export https_proxy'https://__.__.__.99:3129/'
Une fois le réseau correctement configuré, il faut faire une mise à jour avec les commandes « apt-
get update » et « apt-get upgrade ».
On peut ensuite installer le paquet syslog-ng avec la commande « apt-get install syslog-ng ».
Ensuite on se rend dans le fichier de configuration « nano /etc/default/syslog-ng » pour dé
commenter la ligne (supprimer le signe # devant la ligne) : CONSOLE_LOG_LEVEL=1 (pour
supprimer les messages s’affichant constamment dans la console).
A partir du moment où syslog-ng est installer et actif, nous pouvons désinstaller le démon syslogd
avec les commandes « update-rc.d -f rsyslog remove » et « dpkg -P rsyslog ».
Puis on peut configurer Syslog dans « nano /etc/syslog-ng/syslog-ng.conf ». Ce fichier est déjà pré
configuré pour enregistrer les logs de la Debian elle-même. Le fichier de configuration de syslog-
ng est divisé en 5 parties. Tout d’abord on à toutes les options. Ensuite les Sources qui définissent
d’où proviennent les logs, puis les Destinations qui définissent ou vont les logs, les filtres qui
perme ent de filtrer les logs en fonction de certains de leurs paramètres et pour finir les logs, à
partir desquels on choisit la source d’où proviennent les logs, le filtre à leurs appliquer et la
destination où les envoyé.
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 16/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
source s_src {
system();
internal();
unix-dgram("/dev/LOG");
};
source s_network {
udp( port(514));
};
J’ai choisie de configurer 2 sources, la première (s_src) est utilisée pour enregistrer les logs de la
Debian. Et la deuxième source (s_network) est configurée pour écouter sur le réseau, plus
précisément sur le port 514 avec le protocole UDP.
Puis viennent les destinations, elles définissent l’endroit où les logs seront envoyés.
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 17/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
# This files are the log comm from the mail subsystem.
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 18/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
Pour tous les logs venant du réseau donc de la source s_network, ont choisi de ranger les logs en
fonction du nom d’hôte (adresse ip du client), de la date (année/mois/jour) puis les classer par type
de log. Si dessous, les destinations ajoutées au fichier de configuration.
Egalement si dessous, les logs ajoutés pour le réseau, avec la source (s_network), les filtres
identiques aux logs de la Debian et les destinations si dessus. Les filtres n’ont pas été modifiées, ils
sont identiques au filtres par default.
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 19/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
De même que pour le serveur, notre client Syslog est une machine virtuelle Debian. On lui ajoute
des paramètres IP, les paramètres du proxy et un miroir réseau pour télécharger les paquets. Après
avoir effectué un update et un upgrade, on peut installer le paquet syslog-ng. Puis dé commenter
la ligne (supprimer le signe # devant la ligne) : CONSOLE_LOG_LEVEL=1 (pour supprimer les
messages s’affichant constamment dans la console) dans le fichier « nano /etc/default/syslog-ng ». Il
faut ensuite se rendre dans syslog-ng.conf pour y ajouter une destination et un log :
Cela créer des dossiers de type /var/log/IP Client/année/mois/jour/… sur le serveur Syslog. Si l’on
souhaite changé le nom du dossier « IP Client », il faut se rendre dans le fichier « /etc/hosts » et
ajouter une ligne avec l’IP Client suivit du nom que vous souhaitez utiliser.
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 20/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
On souhaite ajouter une amélioration à notre serveur Syslog pour que les logs de plus d’un an
soient supprimés dans le but de ne pas remplir le disque dur après plusieurs années. Pour cela, on
créer deux script qui seront lancée automatiquement par le démon cron. Le premier script,
nommé logsup.sh permet de récupérer les variables année, mois et jour et de supprimer le dossier
de log de l’année et du mois correspondant, il sera lancée à chaque fin de mois et supprimera le
dossier du même mois de l’année précédente.
#!/bin/bash
annee=$(date +%Y)
mois=$(date +%m)
jour=$(date +$d)
#obtenir 1 annee precedente a celle d aujourd hui
let "annee1 = $annee - 1"
#supprimer le dossier des logs 1 an avant ce jour
rm -r "/var/log/NETSCREEN-BETE-01/$annee1/$mois/"
Alors que le second script récupère également les variables de temps mais luis supprime le dossier
d’il y a deux an. Il est là au cas où le premier script ne sera pas lancé 1 fois dans l’année par
exemple en cas de maintenance ou de problème quelconque. Ce second script est lancé à chaque
début d’année.
#!/bin/bash
annee=$(date +%Y)
mois=$(date +%m)
jour=$(date +$d)
#obtenir l annee deux an auparavant
let "annee2 = $annee - 2"
#supprimer les dossiers d'il y a 2 ans
rm -r "/var/log/NETSCREEN-BETE-01/$annee2/
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 21/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
A chaque ajout d’un nouveau client syslog, il sera important d’ajouter une ligne « rm » dans
chaque script en remplaçant NETSCREEN-BETE-01 par le nom de ce client.
A la fin de la journée, nos deux fichiers de logs (messages et syslog.log) ont tous les deux réunis,
une taille supérieure à 200 Mo. Sachant que nous voulons enregistrée les logs sur une durée d’un
an, cela prendrai beaucoup trop de place mémoire. Pour remédier à ce problème, on décide de
compressée les fichiers de logs. On utilise le script « compresslog.sh » qui se trouve dans le dossier
« ~/srcipts/ ».
#!/bin/bash
annee=$(date +%Y)
mois=$(date +%m)
jour=$(date +$d)
gzip "/var/log/NETSCREEN-BETE-01/$annee/$mois/$jour/messages"
gzip "/var/log/NETSCREEN-BETE-01/$annee/$mois/$jour/syslog.log"
Comme dans les scripts précèdent, on récupère tout d’abord les variables année, mois et jour. Puis,
avec la commande gzip, on compresse les fichiers de log messages et syslog.log. On exécute ce
script tous les soirs à 23h59 dans cron. Avec la commande « crontab –e », on ouvre le fichier de
configuration et on y rajoute la ligne suivante.
Donc tous les soirs, les fichiers de configuration vont être compressés et prendront la forme :
A chaque ajout d’un nouveau client syslog, il sera important d’ajouter les deux lignes de
commande gzip en remplaçant NETSCREEN-BETE-01 par le nom de ce client.
Sur ce serveur Syslog, j’ai choisi d’enregistrée les logs en fonction du nom de l’hôte, puis de l’année,
du mois, du jour et enfin, les logs sont enregistré dans un fichier « syslog.log ». Mais ce e
configuration n’est pas fixe et peut être modifiée pour être adapté à votre infrastructure. Ce e
configuration est définie dans « /etc/syslog-ng/syslog-ng.conf » au niveau des destinations. Dans
mon fichier, les destinations sont du type :
Mais peuvent facilement être modifié, on peut par exemples classé les logs seulement par année et
par mois :
Pour notre serveur syslog, on souhaite enregistrer les logs de gravité (error, alert, critical et
emergency) dans un fichier que l’on nommera « messages ». Puis on veut enregistrer tous le trafic
dans un fichier « syslog.log ». Il faut savoir que syslog-ng associe les logs de trafic à des logs de
gravité notice (notification). On enregistre les logs de « messages » avec le log :
Après avoir redémarré syslog-ng « /etc/init.d/syslog-ng restart », on peut vérifier que les deux
fichiers ont été créés :
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 23/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
PHP-Syslog-ng
Php-Syslog-ng est une interface web qui permet de lire les logs générées par un serveur local ou
une machine distante. Les logs sont traitées par syslog-ng puis transportée vers une base de donné
MySQL pour que l’interface web puisse afficher les logs. Donc pour utiliser PHP-Syslog-ng, il nous
faut d’abord un serveur web (nginx) ainsi qu’un serveur de base de données (mysql).
On commence par installer nginx avec la commande « apt-get install nginx ». Pour vérifier si le
serveur web est opérationnel, il faut rentrer votre adresse ip dans la barre de recherche du
navigateur et vous obtenez une page comme celle-ci.
Ensuite, il faut ajouter PHP à votre serveur web. Pour cela, on commence par installer php, « apt-
get install php5-fpm ». Puis on se rend dans le fichier « nano /etc/nginx/sites-available/default »
pour ajouter « index.php ».
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 24/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
Dans le même fichier, il faut également modifier la partie « location ~ \.php$ » comme ceci :
location ~ \.php$ {
try_files $uri =404;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
Ensuite, on redémarre notre serveur nginx, « /etc/init.d/nginx restart ». Pour vérifier si le PHP est
bien pris en compte par nginx, on se rend dans « cd /usr/share/nginx/www » et on créer un
nouveau fichier « nano info.php » ou l’on écrit « <? php phpinfo(); ?>». Rendez-vous ensuite dans
votre navigateur et écrivez votre adresse IP suivi de /info.php, cela devrai afficher :
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 25/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
Donc notre serveur web est correctement configurer. Maintenant nous allons passer à l’installation
de la base de données. Pour installer MySQL, on tape la commande « apt-get install mysql-server ».
Ensuite, on va utiliser PHPMyAdmin comme interface graphique pour configurer plus facilement
notre base de données. On fait « apt-get install phpmyadmin ». Puis on créer un lien symbolique de
la page de phpmyadmin vers le serveur nginx avec la commande :
ln –s /usr/share/phpmyadmin /usr/share/nginx/html
Il nous reste plus qu’à activée le mcrypt PHP module « php5enmod mcrypt » et redémarrer le
service php « service php5-fpm restart ». Vous pouvez vous connecter à votre base de donnée dans
votre navigateur web en entrant votre ip suivit de /phpmyadmin.
Installation PHP-Syslog-Ng
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 26/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy
Une fois que notre serveur web ainsi que notre serveur de base de données sont près, on peut
commencer l’installation de php-syslog-ng. On commence par télécharger php-syslog-ng sur notre
Debian avec la commande « wget h p://mirror.opendoc.net/other/php-syslog-ng-2.9.8.tgz », puis
on décompresse le fichier télécharger « tar –xvzf php-syslog-ng-2.9.8.tgz ». Enfin on déplace le
dossier pour pouvoir y accéder à partir du serveur web «mv php-syslog-ng /var/www/html ». On
peut ensuite se rendre dans notre navigateur à l’adresse « votre IP/php-syslog-ng/html/install »
pour commencer l’installation du service web.
Puis on configure la base de données MySQL en modifiants les mots de passe de la base.
https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 27/27