Comment envoyer des journaux Linux à un serveur distant

Comment envoyer des journaux Linux à un serveur distant
Ce didacticiel Linux explique comment envoyer des journaux Linux à un serveur distant.

Après avoir lu ce tutoriel, vous saurez comment configurer le serveur et le client Linux pour envoyer des journaux à distance. Vous apprendrez également à ouvrir les ports nécessaires dans votre système à l'aide de l'UFW (pare-feu simple).

Ce bref tutoriel est optimisé pour les utilisateurs à la recherche d'une source de connaissances rapide et d'une implémentation rapide.

Toutes les instructions décrites dans ce document incluent des captures d'écran assouplissant les utilisateurs inexpérimentés pour les suivre.

Avantages de l'envoi de journaux Linux à un serveur distant

La raison principale d'implémenter la journalisation à distance est la même, car un dédié / var la partition est recommandée: une question d'espace, mais pas seulement. En envoyant des journaux à un périphérique de stockage à distance, vous pouvez vous garantir l'accès avant même un accident du système et conserver une grande base de données historique de bogues. Cette implémentation nous permet également de centraliser les rapports pour plus d'un appareil.

Début avec la journalisation à distance Linux

Le programme utilisé pour envoyer des journaux à distance dans ce tutoriel est rsyslog, qui est inclus par défaut dans de nombreuses distributions Linux, y compris Debian et Ubuntu Linux.

Pour vérifier si RSYSLOG est installé dans votre système et son état, exécutez la commande affichée dans la capture d'écran suivante:

statut de service sud-ayslog

Comme vous pouvez le voir, le statut est actif sur la capture d'écran suivante.

Note: Si rsyslog n'est pas installé dans votre système, vous pouvez utiliser votre gestionnaire de packages pour l'obtenir. (E.g., sudo apt install rsyslog)

Si rsyslog n'est pas actif, vous pouvez le démarrer en exécutant la commande suivante:

SUDO SERVICE RSYSLOG START

Vous pouvez également démarrer RSYSLOG en exécutant la commande suivante:

Note: Pour plus d'informations sur la gestion des services Debian / Ubuntu, lisez les services d'arrêt, de démarrage et de redémarrage sur Debian.

sudo systemctl start rsyslog

Le rsyslog L'outil nécessite une configuration dans les périphériques d'envoi (client) et de réception (serveur). La section suivante de ce tutoriel explique comment configurer le côté serveur. Voici les instructions pour configurer le client.

Comment envoyer des journaux Linux à un serveur distant: le côté serveur

Nous devons configurer le serveur et le client pour envoyer des journaux à distance. Cette section fournira des instructions à la configuration côté serveur pour continuer à configurer le client.

Le rsyslog Le fichier de configuration est / etc / rsyslog.confli. Vous pouvez modifier ce fichier à l'aide de n'importe quel éditeur de texte comme nano ou vi.

Pour ce tutoriel, j'utilise nano. Ouvrez le fichier, comme indiqué dans la capture d'écran suivante:

sudo nano / etc / rsyslog.confli

Lors de l'envoi de journaux à distance, les appareils locaux et distants écrivent le même fichier. Ainsi, cela ferait de la lecture une tâche inconfortable. Pour éviter cela et obtenir des journaux séparément, ajoutez le code suivant au / etc / rsyslog Fichier, comme indiqué dans l'image suivante:

$ template remotelogs », / var / log /% hostname% / remotelog.enregistrer"
*.* ?Remotelogs
& ~

Faites défiler le fichier et décommentez les lignes suivantes en supprimant le signe du nombre (#) au début de chaque ligne:

Module (losh = "iMudp")
entrée (type = "iMUDP" port = "514")

Aussi, inconditionnel ce qui suit:

module (charge = ”imtcp”)
entrée (type = ”iMtcp” port = ”514”)

Les quatre lignes doivent être indiquées dans la capture d'écran précédente pour permettre la journalisation via les protocoles TCP et UDP.

Une fois que vous avez terminé la modification du fichier, appuyez sur Ctrl + x et puis Y Pour enregistrer les modifications si vous utilisez Nano.

Après avoir modifié et sauvé le / etc / rsyslog.confli Fichier, nous devons mettre à jour les règles du pare-feu pour permettre le trafic via le port 514 défini par défaut dans le fichier de configuration.

Pour modifier les règles du pare-feu dans ce tutoriel, j'utilise UFW (pare-feu simple).

Pour ouvrir le port 514 pour le protocole TCP, exécutez la commande illustrée dans l'image suivante:

sudo ufw autorise 514 / TCP

Pour terminer, ouvrez le port UDP 514 en exécutant la commande suivante:

UFW autorise 514 / UDP

Maintenant, la configuration de votre serveur est prête à obtenir des journaux distants. Redémarrez le service RSYSLOG en exécutant la commande suivante:

service sudo rsyslog redémarrer

Une fois le serveur prêt, continuons avec la configuration du client.

Comment envoyer des journaux Linux à un serveur distant: le côté client

Cette section de tutoriel explique comment configurer le client Linux pour envoyer des journaux au serveur distant. Les étapes suivantes décrites doivent être effectuées sur le périphérique client.

Sur le client, le fichier de configuration que nous devons modifier est / etc / rsyslog.confli.

Exécutez la commande affichée dans l'image suivante sur le périphérique client:

sudo nano / etc / rsyslog.confli

Dans ce fichier, nous devons ajouter une ligne avec la syntaxe suivante:

*.* @@:

Dans mon cas, le serveur IP est 192.168.0.103. Par conséquent, j'ajouterai la ligne suivante, comme vous pouvez le voir dans la capture d'écran suivante:

Note: Utilisez uniquement un symbole AT (@) si vous utilisez uniquement le protocole UDP.

*.* @@ 192.168.0.103: 514

Après avoir modifié le fichier, appuyez sur Ctrl + x et puis Y Pour enregistrer les modifications.

Maintenant, redémarrez RSYSLOG pour appliquer les modifications en exécutant la commande, comme indiqué ci-dessous:

service sudo rsyslog redémarrer

Nous avons terminé avec la configuration du client et prêt à lire les journaux distants du serveur.

Lire les journaux Linux sur le serveur

Après avoir suivi les étapes précédentes, les deux systèmes sont prêts à envoyer et à recevoir des journaux.

Les journaux linux sont stockés sous le / var / log annuaire. Lors de l'utilisation rsyslog Par défaut, les journaux locaux et distants sont écrits dans le même fichier journal, ce qui est inconfortable à lire. Mais, quand nous avons édité le serveur / etc / rsyslog.confli Fichier sur le serveur, nous avons demandé à RSYSLOG de stocker les journaux dans différents répertoires et fichiers.

Selon notre configuration, les journaux distants seront stockés dans un répertoire avec le nom de l'hôte distant sous / var / log. Dans mon cas, l'hôte distant est nommé linuxhint2; Par conséquent, pour voir les journaux distants, j'ai besoin de voir les fichiers sous / var / log / linuxhint2, où linuxhint2 est le nom d'hôte distant, vous devez le remplacer par le nom d'hôte de votre client.

Comme vous pouvez le voir dans la capture d'écran suivante, sous / var / log, Il y a deux répertoires pour chaque appareil: les appareils locaux (LinuxHint) et distants (LinuxHint2).

LS / VAR / LOG

Par conséquent, pour voir le journal dans le répertoire distant, j'exécute la commande suivante, où vous devez remplacer linuxhint2 avec votre nom d'hôte distant:

sudo ls / var / log / linuxhint2

Comme vous pouvez le voir dans l'image précédente, il y a un fichier nommé Remotelog.journal, le nom de fichier que nous avons défini lorsque nous avons modifié le serveur / etc / rsyslog.confli déposer.

Pour lire le journal, vous pouvez utiliser le moins Commande dans l'exemple suivant:

sudo moins / var / log / linuxhint2 / remotelog.enregistrer

Comme vous pouvez le voir, la journalisation à distance fonctionne correctement.

Maintenant, la journalisation à distance est prête.

Lisez la page Man pour en savoir plus sur RSYSLOG et ses fonctionnalités supplémentaires, notamment la sécurité, le multi-threading, MySQL, Oracle, PostgreSQL et d'autres intégations de base.mourir.net / man / 5 / rsyslog.confli.

Alternatives Rsyslog

Le marché propose des alternatives supplémentaires à RSYSLOG avec des fonctionnalités supplémentaires, dont certaines sont répertoriées ci-dessous:

  • Nxlog: NXLOG est une alternative RSYSLOG qui prend en charge les systèmes d'exploitation GNU / Linux et Windows. Il est open-source et propose des éditions communautaires et d'entreprise. Il a des fonctionnalités supplémentaires pour collecter des informations sur le comportement malveillant. Il prend également en charge le filtrage des journaux des événements et le transfert de journal.
  • syslog-ng: Syslog-ng OSE est une autre alternative à RSYSLOG, qui prend en charge Linux, Microsoft Windows, FreeBSD, Mac OS X, Solaris, AIX, etc. Comme NXLOG, il propose à la fois des éditions d'entreprise et communautaires.
  • Logzilla: Il s'agit d'une autre option d'exploitation forestière, gratuite pour les utilisateurs à domicile et les laboratoires, mais payé pour les utilisateurs commerciaux. Selon son site Web, il peut réduire les coûts des ressources et déclencher automatiquement des informations exploitables en fonction des données collectées.

Il existe de nombreuses autres alternatives que vous pouvez explorer, mais Rsyslog reste le plus populaire parmi les utilisateurs de Linux et Unix.

Conclusion

Comme vous pouvez le voir, la configuration et la mise en œuvre de la journalisation à distance Linux est un processus facile, tout utilisateur de Linux peut faire indépendamment de son niveau de connaissance. La journalisation à distance est une excellente solution pour les problèmes, comme le disque complet en raison d'un grand nombre de journaux, comme indiqué dans cet article. C'est une excellente possibilité pour les serveurs de production de garantir l'accès aux informations critiques avant les incidents. RSYSLOG est open-source et gratuit, et c'est le logiciel de journalisation le plus distant pris en charge par la communauté Linux. Ce tutoriel s'est concentré sur Linux, mais RSYSLOG dispose d'un agent Windows permettant aux systèmes d'exploitation Sysadmins et les utilisateurs de partager des journaux entre Microsoft Windows et Linux.

Merci d'avoir lu ce tutoriel et nous espérons qu'il vous a été utile. Continuez à lire Linuxhint pour des tutoriels plus professionnels.