En tant qu'administrateurs, personnel de support informatique ou gestionnaires du domaine des réseaux et systèmes, nous avons quelque chose de fondamental pour nous aider à garder une trace de chaque événement qui se produit dans le système, tant au niveau des utilisateurs, des applications ou du système lui-même, et ce sont les événements.
Chaque événement enregistre une série d'éléments qui nous aident à déterminer en détail chaque activité avec des valeurs telles que la date, l'heure, l'ID, l'utilisateur et l'événement qui s'est produit, nous permettant ainsi une gestion et une administration beaucoup plus centralisées.
Nous pouvons voir que chaque enregistrement appartient à une catégorie différente telle que le système, la sécurité, etc.
Dans les environnements Linux, nous avons à notre disposition l'utilitaire Rsyslog avec lequel il sera possible de gérer ces événements de manière simple et complète.
Qu'est-ce que RsyslogRsyslog (rocket-fast system for log - rapid system for log processing) est un utilitaire conçu pour offrir des performances élevées, d'excellentes fonctionnalités de sécurité et une conception modulaire qui lui permet d'être évolutif pour répondre aux besoins de chaque entreprise.
Rsyslog est capable d'accepter des entrées provenant d'une grande variété de sources, de les transformer et de générer des résultats pour diverses destinations, optimisant ainsi la gestion informatique.
RSYSLOG est capable de livrer plus d'un million de messages par seconde vers des destinations locales lorsqu'un traitement limité est appliqué, y compris des destinations distantes.
Fonctionnalités de RsyslogLors de l'utilisation de Rsyslog, nous aurons des fonctionnalités telles que :
- $ Directive LocalHostName [name] : Cette directive nous permet d'écraser le nom d'hôte du système avec celui spécifié dans la directive. Si la directive est donnée plusieurs fois, toutes sauf la dernière seront ignorées.
- Ajout de la prise en charge de Hadoop HDFS.
- Il dispose d'un module impstat pour exécuter des statistiques périodiques sur les compteurs Rsyslog.
- Il a le plugin imptcp.
- Comprend un nouveau type de module « générateur de chaînes », utilisé pour accélérer le traitement des sorties.
- Prend en charge OSX et Solaris.
- Possibilité de créer des analyseurs de messages personnalisés.
- Prise en charge de plusieurs jeux de règles pour imudp.
- Nouvelle interface de module de sortie transactionnelle qui offre des performances supérieures.
- Multi-threading
- Prend en charge les protocoles TCP, SSL, TLS, RELP
- Prend en charge MySQL, PostgreSQL, Oracle et plus
- Filtrer n'importe quelle partie du message syslog
- Format de sortie entièrement configurable
- Convient aux réseaux de diffusion de classe affaires
Filtrage RsyslogRsyslog peut filtrer les messages syslog en fonction des propriétés et des actions sélectionnées, ces filtres sont :
- Déposants d'installations ou de priorité
- Filtres basés sur les propriétés
- Filtres basés sur les expressions
Le filtre d'installation est représenté par le sous-système Linux interne qui est responsable de la production des enregistrements, nous avons les options suivantes :
- auth / authpriv = Ce sont les messages produits par les processus d'authentification
- cron = Ce sont des enregistrements associés aux tâches cron
- daemon = Ce sont des messages liés aux services système en cours d'exécution
- kernel = Indique les messages du noyau Linux
- mail = Inclut les messages du serveur de messagerie
- syslog = Ce sont des messages liés à syslog ou à d'autres démons
- lpr = Couvre les imprimantes ou les messages du serveur d'impression
- local0 - local7 = Compter les messages personnalisés sous le contrôle de l'administrateur
- émergent = Urgence - 0
- alerte = Alertes - 1
- erreur = Erreurs - 3
- avertir = avertissements - 4
- avis = Avis - 5
- info = Information - 6
- debbug = Débogage - 7
1. Comment configurer et vérifier l'état de Rsyslog sous Linux
Étape 1
Le démon Rsyslog est automatiquement installé sur la plupart des distributions Linux, mais sinon, nous devons exécuter les commandes suivantes :
Sur les systèmes Debian
sudo apt-get install Rsyslog
Sur les systèmes RedHat ou CentOS
sudo yum installer Rsyslog
Étape 2
Nous pouvons vérifier l'état actuel de Rsyslog en exécutant la ligne suivante :
Sur les distributions Linux qui utilisent Systemd
état systemctl rsyslog.service
Dans les anciennes versions de Linux
état du service rsyslog /etc/init.d/état rsyslog
AGRANDIR
Étape 3
Si le statut du service Rsyslog est inactif, nous pouvons le démarrer en exécutant ce qui suit :
Dans les nouvelles versions de Linux
systemctl démarrer rsyslog.service
Dans les anciennes versions de Linux
service rsyslog démarrer /etc/init.d/rsyslog démarrer
AGRANDIR
2. Configuration de Rsyslog sous Linux
Pour configurer un programme rsyslog pour qu'il s'exécute en mode serveur, nous devons éditer le fichier de configuration dans le répertoire /etc/rsyslog.conf.
Étape 1
Nous pouvons accéder à l'aide de l'éditeur souhaité :
sudo nano /etc/rsyslog.conf
AGRANDIR
Étape 2
Là, nous apporterons les modifications suivantes. Recherchez et décommentez, en supprimant le signe (#), des lignes suivantes pour permettre la réception des messages de journal UDP sur le port 514. Par défaut, le port UDP est utilisé par syslog pour envoyer et recevoir des messages :
$ ModLoad imudp $ UDPServerRun 514Étape 3
Le protocole UDP n'est pas fiable pour échanger des données sur un réseau, nous pouvons donc configurer Rsyslog pour envoyer des messages de journal à un serveur distant via le protocole TCP. Pour activer le protocole de réception TCP, nous supprimerons les lignes suivantes :
$ ModLoad imtcp $ InputTCPServerRun 514Étape 4
Cela permettra au démon rsyslog de se lier et d'écouter sur un socket TCP sur le port 514.
Les deux protocoles peuvent être activés dans rsyslog pour s'exécuter simultanément sur Linux.
S'il est nécessaire de spécifier quels expéditeurs sont autorisés à accéder au démon rsyslog, nous devons ajouter les lignes suivantes :
$ AllowedSender TCP, 127.0.0.1, 192.168.0.5/24, * .domain.com
AGRANDIR
Étape 5
À ce stade, il sera nécessaire de créer un nouveau modèle qui sera analysé par le démon rsyslog avant de recevoir les journaux entrants. Ce modèle doit indiquer au serveur Rsyslog local où stocker les messages de journal entrants. Ce modèle ira après la ligne $ AllowedSender :
$ template Incoming-logs, "/ var / log /% HOSTNAME% /% PROGRAMNAME% .log" *. *? Incoming-logs & ~
AGRANDIR
Étape 6
Pour enregistrer uniquement les messages générés par kern, nous ajouterons ce qui suit. Avec ce qui précède, les enregistrements reçus sont analysés par le modèle et seront stockés dans le système de fichiers local dans le répertoire /var/log/, dans le chemin :% HOSTNAME% et% PROGRAMNAME%.
kern. *? Journaux entrantsÉtape 7
Nous pouvons enregistrer les modifications à l'aide de la combinaison de touches suivante :
Ctrl + O
Nous quittons l'éditeur en utilisant :
Ctrl + X
3. Redémarrez le service et vérifiez les ports Rsyslog sous Linux
Étape 1
Lorsque nous effectuons tout type de modification, nous devons redémarrer le service en exécutant l'une des options suivantes :
service sudo rsyslog redémarrer sudo systemctl redémarrer RsyslogÉtape 2
Pour vérifier les ports utilisés par Rsyslog, nous exécuterons ce qui suit :
sudo netstat -tulpn | grep rsyslogÉtape 3
Comme nous l'avons indiqué, le port utilisé sera 514, nous devons l'activer dans le pare-feu pour une utilisation avec les lignes suivantes.
Sur RedHat et CentOS
firewall-cmd --permanent --add-port = 514 / tcp firewall-cmd -reload
Dans Debian
ufw autoriser 514 / tcp ufw autoriser 514 / udpSi nous utilisons IPTables :
iptables -A INPUT -p tcp -m tcp --dport 514 -j ACCEPTER iptables -A INPUT -p udp --dport 514 -j ACCEPTER
AGRANDIR
De cette façon, nous avons installé Rsyslog sous Linux pour gérer les différents types de journaux qui y sont constamment générés.