Sie sind auf Seite 1von 27

27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy

Configuration d’un serveur Syslog-ng

Table des matières

1. Intégration d’un serveur Syslog dans l’infrastructure d’Ericsson Lannion


2. Création d’une machine virtuelle Debian 8.2
3. Installation de Debian 8.2
4. Configuration de Debian
5. Installation et configuration de syslog-ng
6. Configuration du client Syslog-ng
7. Système de suppression des anciens logs
8. Compression des fichiers de logs
9. Configuration personnalisée de Syslog-ng
9.1 Classification des logs
9.2 Choix des types de logs à enregistrer
10. PHP-Syslog-ng
10.1 Installation serveur nginx avec PHP
10.2 Installation base de données MySQL avec PHPMyAdmin
10.3 Installation PHP-Syslog-Ng
10.4 Envoie des logs dans la base de données MySQL
11. Configuration du Proxy Squid
12. Ajout des logs de l’Astaro
13. Vérification du fonctionnement du serveur Syslog
14. Ressources

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

Intégration d’un serveur Syslog dans l’infrastructure d’Ericsson


Lannion

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

Création d’une machine virtuelle Debian 8.2

Voici l’interface du client lorsque nous sommes connectés :

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

sont déposées les images ISO.

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

Ensuite, on définit le système que l’on souhaite installer et la version.

On passe ensuite à la configuration des ressources de la machine virtuelle au niveau du CPU


(nombres de sockets virtuels et nombre de noyau par sockets) et la RAM.

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 s’occupe ensuite de la configuration réseau.

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.

Installation de Debian 8.2

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

Debian en ligne de commande et non en interface graphique.

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

On définit ensuite le nom de la machine.

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

On choisit la langue pour la disposition des touches du clavier.

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é

dans la liste suivante

Pour l’installation des logiciels, on choisit seulement les


utilitaires usuels du système car nous avons seulement
besoins d’utiliser notre VM Debian en ligne de
commande donc seule l’utilisation d’Utilitaires usuels
du système est nécessaire.

Vous pouvez refuser la participation à l’étude


statistique. Après un redémarrage automatique, votre
Debian sera entièrement opérationnel.

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.

deb http://security.debian.org/ jessie/updates main


deb-src http://security.debian.org/ jessie/updates main

deb http://ftp.fr.debian.org/ jessie main


deb-src http://ftp.fr.debian.org/ jessie main

deb http://ftp.fr.debian.org/ jessie-updates main


deb-src http://ftp.fr.debian.org/ jessie-updates main

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

Installation et configuration de syslog-ng

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

Ensuite on effectue la commande « /etc/init.d/syslog-ng restart » pour redémarrer syslog-ng et


prendre en compte la modification précédente.

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

Tous les logs sont enregistrée dans /var/log/.

Le fichier de configuration commence par la définition des options :

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

options { chain_hostname(off); flush_lines(0); use_dns(yes); dns_cache(yes);


use_fqdn(no); owner("root"); group("adm"); perm(0640); stats_freq(0);
bad_hostname("^gconfd$"); create_dirs(yes); dir_perm(0740);
};

flush_lines(0); #spécifie le nombre de lignes rejetées vers une destination à la fois

use_dns (yes); # Utilisation du DNS pour résoudre les adresses

dns_caches(yes); #Activation du cache DNS

use_fqdn (no); # utilisation du nom court de la machine

owner(« root »); # Propriétaire des journaux

group(« adm »); # Groupe des journaux

perm(« 0640 »); #permissions des fichiers de logs

stats_freq(0); #temps entre deux messages STATS en secondes

create_dirs(yes); #Création des dossiers si il n’existe pas

dir_perms(0740); #permission du répertoire de logs

Puis des sources :

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

destination d_authlocal { file("/var/log/$HOST/auth.log"); };


destination d_cronlocal { file("/var/log/$HOST/cron.log"); };
destination d_daemonlocal { file("/var/log/$HOST/daemon.log"); };
destination d_kernlocal{ file("/var/log/$HOST/kern.log"); };
destination d_lprlocal { file("/var/log/$HOST/lpr.log"); };
destination d_maillocal { file("/var/log/$HOST/mail.log"); };
destination d_sysloglocal { file("/var/log/$HOST/syslog.log"); };
destination d_userlocal { file("/var/log/$HOST/user.log"); };
destination d_uucplocal { file("/var/log/$HOST/uucp.log"); };

# This files are the log comm from the mail subsystem.

destination d_mailinfolocal { file("/var/log/$HOST/mail.info"); };


destination d_mailwarnlocal { file("/var/log/$HOST/mail.warn"); };
destination d_mailerrlocal { file("/var/log/$HOST/mail.err"); };

# Logging for INN news system

destination d_newscritlocal { file("/var/log/$HOST/news/news.crit"); };


destination d_newserrlocal { file("/var/log/$HOST/news/news.err"); };
destination d_newsnoticelocal { file("/var/log/$HOST/news/news.notice"); };

Puis les filtres qui perme ent de trier les logs.

filter f_dbg {level(debug); };


filter f_info {level(info); };
filter f_notice {level(notice); };
filter f_warn {level(warn); };
filter f_err {level(err); };
filter f_crit {level(crit .. emerg); };

filter f_debug {level(debug) and not facility(auth, authpriv, news, mail); };


filter f_error {level(err .. emerg); };
filter f_messages {level(info,notice,warn) and not facility(auth, authpriv, cron, daemon, mail, news); };

filter f_auth {facility(auth, authpriv) and not filter(f_debug); };


filter f_cron {facility(cron) and not filter(f_debug); };
filter f_daemon {facility(daemon) and not filter(f_debug); };
filter f_kern {facility(kern) and not filter(f_debug); };
filter f_lpr {facility(lpr) and not filter(f_debug); };
filter f_local {facility(local0, local1, local3, local4, local5, local6, local7) and not filter(f_debug); };

Et enfin les logs qui réunissent la source, le filtre et la destination.

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

log { source(s_src); filter(f_auth); destination(d_authlocal); };


log { source(s_src); filter(f_cron); destination(d_cronlocal); };
log { source(s_src); filter(f_daemon); destination(d_daemonlocal); };
log { source(s_src); filter(f_kern); destination(d_kernlocal); };
log { source(s_src); filter(f_lpr); destination(d_lprlocal); };
log { source(s_src); filter(f_syslog3); destination(d_sysloglocal); };
log { source(s_src); filter(f_user); destination(d_userlocal); };
log { source(s_src); filter(f_uucp); destination(d_uucplocal); };

log { source(s_src); filter(f_mail); destination(d_maillocal); };

log { source(s_src); filter(f_news); filter(f_crit); destination(d_newscritlocal); };


log { source(s_src); filter(f_news); filter(f_err); destination(d_newserrlocal); };
log { source(s_src); filter(f_news); filter(f_notice); destination(d_newsnoticelocal); };

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.

destination d_auth {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/auth.log"); };


destination d_cron {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/cron.log"); };
destination d_daemon {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/daemon.log"); };
destination d_kern {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/kern.log"); };
destination d_lpr {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/lpr.log"); };
destination d_syslog {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/syslog.log"); };
destination d_user {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/user.log"); };
destination d_uucp {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/uucp.log"); };

destination d_mail {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/mail.log"); };


destination d_newcrit {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/new.crit"); };
destination d_newerr {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/new.err"); };
destination d_newnotice {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/new.notice"); };
destination d_debug {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/debug"); };
destination d_error {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/error"); };
destination d_massages {file("/var/log/$HOST/$YEAR/$MONTH/$DAY/messages"); };

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

log{ source(s_network); filter(f_auth); destination(d_auth); };


log{ source(s_network); filter(f_cron); destination(d_cron); };
log{ source(s_network); filter(f_daemon); destination(d_daemon); };
log{ source(s_network); filter(f_kern); destination(d_kern); };
log{ source(s_network); filter(f_lpr); destination(d_lpr); };
log{ source(s_network); filter(f_syslog); destination(d_syslog); };
log{ source(s_network); filter(f_user); destination(d_user); };
log{ source(s_network); filter(f_uucp); destination(d_uucp); };

log{ source(s_network); filter(f_mail); destination(d_mail); };

log{ source(s_network); filter(f_news); filter(f_crit); destination(d_newcrit); };


log{ source(s_network); filter(f_news); filter(f_err); destination(d_newerr); };
log{ source(s_network); filter(f_news); filter(f_otice); destination(d_newnotice); };
log{ source(s_network); filter(f_debug); destination(d_debug); };
log{ source(s_network); filter(f_error); destination(d_error); };
log{ source(s_network); filter(f_messages); destination(d_messages); };

Configuration du client Syslog-ng

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 :

destination d_logger {udp("__.__.__.110" port(514)); };


log { source(s_src); destination(d_logger); };

En tapant la commande « /usr/sbin/syslog-ng -d », on peut vérifier si le client arrive bien à se


connecter au serveur Syslog.

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

Système de suppression des anciens logs

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/

On accède au fichier de configuration de cron en tapant « crontab –e » dans la console.

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

#le 1 janvier de chaque année


0 0 1 1 * bash ~/scripts/logsupAnnee.sh
#Tous les 30 du mois
0 0 30 * * bash ~/scripts/logsup.sh
#Le 28 fevrier chaque année
0 0 28 2 * bash ~/sripts/logsup.sh

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.

Compression des fichiers de logs

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.

#compresse les fichiers de logs tous les jours à 23h59


59 23 * * * bash ~/scripts/compresslog.sh

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.

Configuration personnalisée de Syslog-ng


https://phelepjeremy.wordpress.com/2017/06/20/configuration-dun-serveur-syslog-ng/ 22/27
27/07/2020 Configuration d’un serveur Syslog-ng – Phelep Jérémy

Classification des logs

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 :

#destination d_exemple {file (« /var/log/$HOST/$YEAR/$MONTH/$DAY/exemple.log ») ;} ;

Mais peuvent facilement être modifié, on peut par exemples classé les logs seulement par année et
par mois :

#destination d_exemple {file (« /var/log/$HOST/$YEAR/$MONTH/exemple.log ») ;} ;

Ou encore classée par hôte :

#destination d_exemple {file (« /var/log/$HOST/exemple.log ») ;} ;

Et on peut envisager comme cela un grands nombre de configurations différentes pour la


classification des logs sur notre serveur.

Choix des types de logs à enregistrer

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 :

#log{ source(s_network) ; filter(f_error) ; destination(d_messages) ; } ;

Associé au filtre : #filter f_error{ level(err .. emerg); } ;

Puis les logs du trafic sont gérés par le log :

#log{ source(s_network) ; filter(f_notice) ; destination(d_syslog) ; } ;

Associé au filtre : #filter f_notice{ level(notice); } ;

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

Installation serveur nginx avec PHP

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

# Add index.php to the list if you are using PHP


index index.php index.html index.htm index.nginx-debian.html;

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

Installation base de données MySQL avec PHPMyAdmin

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.

On clique sur next et on accepte les conditions.

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

Das könnte Ihnen auch gefallen