Les fichiers journaux sont les fichiers qui conservent des informations sur les activités du système telles que les tentatives d'autorisation et d'accès, les tentatives de démarrage et d'arrêt, démarrage et arrêt du service, etc. Il existe différents fichiers journaux pour différents types d'activités. Les fichiers journaux facilitent le dépannage et la surveillance des activités du système. Rsyslog est un programme open-source pour le système d'exploitation Linux qui peut être configuré à la fois comme serveur de journalisation et comme client.
Dans le guide d'aujourd'hui, nous allons configurer le serveur Rsyslog sur Ubuntu OS. Nous utiliserons deux machines Ubuntu. Sur une machine Ubuntu, nous allons configurer Rsyslog en tant que serveur de journalisation, et sur l'autre machine ; nous allons configurer Rsyslog en tant que client qui enverra les journaux au serveur Rsyslog.
Configuration du serveur Rsyslog sur Ubuntu
Nous allons configurer Rsyslog sur l'une de nos machines Ubuntu que nous voulons utiliser comme serveur de journalisation. Rsyslog est pré-installé sur le serveur Ubuntu. Cependant, au cas où il manquerait pour une raison quelconque, vous pouvez l'installer en exécutant cette commande :
$ sudo apt install rsyslog
Lors de l'installation, il vous demandera le o/n option pour procéder à l'installation de Rsyslog. Appuyez sur y puis Entrez pour continuer.
Pour vérifier l'installation de Rsyslog et afficher l'état de son service, exécutez la commande ci-dessous :
$ sudo systemctl status rsyslog
Si le service est opérationnel, vous verrez la sortie comme indiqué dans la capture d'écran suivante.
Maintenant que Rsyslog est installé et en cours d'exécution, nous allons maintenant le configurer en tant que serveur de journalisation.
Modifiez le fichier de configuration Rsyslog etc/rsyslog.conf :
$ sudo nano /etc/rsyslog.conf
Ajoutez les lignes ci-dessous dans le fichier de configuration Rsyslog :
# Receive syslog over UDP module(load="imudp") input(type="imudp" port="514") # Receive syslog over TCP module(load="imtcp") input(type="imtcp" port="514")
Vous trouverez ci-dessous la capture d'écran de la configuration du serveur de journalisation Rsyslog :
Ensuite, nous créerons un modèle qui sera utilisé par Rsyslog pour stocker les messages syslog entrants. Pour ce faire, ajoutez les lignes ci-dessous dans le fichier de configuration Rsyslog avant la section DIRECTIVES GLOBALES :
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Ensuite, enregistrez et fermez le fichier de configuration.
Exécutez maintenant la commande ci-dessous pour redémarrer le service de Rsyslog :
$ sudo systemctl restart rsyslog
Vous pouvez également vérifier si Rsyslog écoute le port TCP/UDP 514 à l'aide de la commande ci-dessous :
$ sudo ss -tunlp | grep 514
Vous devriez recevoir le résultat ci-dessous :
Configuration du pare-feu
Si le pare-feu est activé sur votre système, vous devrez ouvrir le port TCP/UDP 514. Ce port est utilisé par le serveur Rsyslog pour recevoir les journaux du client distant. Exécutez ces commandes pour ouvrir le port TCP/UDP 514 dans le pare-feu Ubuntu.
$ sudo ufw allow 514/tcp
$ sudo ufw allow 514/udp
Rechargez ensuite le pare-feu :
$ sudo ufw reload
Configuration du client Rsyslog sur Ubuntu
Maintenant, sur l'autre système Ubuntu, nous allons effectuer la configuration du client Rsyslog. Ce client enverra alors ses journaux au serveur de journalisation Rsyslog.
Sur la machine Ubuntu que vous souhaitez configurer en tant que client Rsyslog, installez d'abord Rsyslog (s'il n'est pas déjà installé) :
$ sudo apt install rsyslog
Modifiez ensuite le fichier de configuration Rsyslog à l'aide de cette commande :
$ sudo nano /etc/rsyslog.conf
Ajoutez les lignes ci-dessous à la fin du fichier de configuration Rsyslog. Assurez-vous de remplacer 192.168.72.204 avec l'adresse IP de votre serveur de journalisation Rsyslog.
#Send system logs to rsyslog server over RDP *.* @192.168.72.204:514 #Send system logs to rsyslog server over TCP *.* @@192.168.72.204:514 ##Set disk queue to preserve your logs in case rsyslog server is experiencing any downtime
$ActionQueueFileName queue $ActionQueueMaxDiskSpace 1g $ActionQueueSaveOnShutdown on $ActionQueueType LinkedList $ActionResumeRetryCount -1
Ci-dessous se trouve la capture d'écran de la façon dont la configuration du client Rsyslog devrait ressembler :
Enregistrez et fermez le fichier de configuration Rsyslog.
Exécutez maintenant la commande ci-dessous pour redémarrer le service de Rsyslog :
$ sudo systemctl restart rsyslog
Afficher les fichiers journaux du client dans le serveur Rsyslog
Une fois que vous avez terminé toutes les configurations décrites ci-dessus, vous pouvez afficher les fichiers journaux envoyés par les clients au serveur Rsyslog. Sur votre machine serveur Rsyslog, exécutez la commande ci-dessous dans le Terminal :
$ ls /var/log/
Dans la sortie de la commande ci-dessus, vous verrez un répertoire portant le même nom que le nom d'hôte de votre système client (ubuntu2 dans notre exemple).
Pour afficher les fichiers journaux de la machine cliente, listez le contenu de ce répertoire :
$ sudo ls /var/log/ubuntu2
C'est tout ce qu'il y a à faire ! Dans ce guide, nous avons expliqué comment configurer Rsyslog sur Ubuntu OS à la fois en tant que serveur de journalisation et en tant que client pour envoyer des journaux au serveur Rsyslog. Nous avons également expliqué comment afficher les journaux envoyés par les clients au serveur de journalisation.