GNU/Linux >> Tutoriels Linux >  >> Cent OS

Rsyslog :Comment envoyer des fichiers journaux au serveur distant dans CentOS/RHEL 6,7

Besoin d'un serveur Rsyslog centralisé

Chaque système *NIX dispose d'une sorte de fonction de journalisation qui produira des journaux de texte pouvant être écrits dans un emplacement arbitraire sur un périphérique de stockage (normalement, par défaut sur une partition de disque locale). Maintenant, c'est essentiel mais cela peut aussi produire des problèmes comme :

  • Vous devez disposer d'un espace de stockage suffisant sur le serveur local pour enregistrer les journaux.
  • Vous devez mettre en place une rotation pour éviter qu'ils ne grossissent trop.
  • Si les journaux contiennent des informations sensibles telles qu'un numéro de carte de crédit, vous souhaitez qu'ils soient stockés dans un emplacement sécurisé, de préférence pas sur le serveur local.
  • Vous risquez de perdre les journaux en cas de sinistre sur le serveur et si les données ne sont pas récupérables.

Pour éviter tous ces problèmes, nous pouvons utiliser un serveur syslog centralisé. Le serveur syslog centralisé fournit la sécurité, un stockage adéquat, une installation de sauvegarde centralisée, etc.

Le message décrit les étapes pour configurer Rsyslog pour envoyer des fichiers journaux à un serveur distant en utilisant TCP ainsi qu'UDP.

Configuration du serveur Rsyslog centralisé

1. Modifiez /etc/rsyslog.conf et décommentez les lignes suivantes :

Pour TCP ;

# vi /etc/rsyslog.conf
$ModLoad imtcp
$InputTCPServerRun 514

Pour UDP ;

# vi /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514
Remarque :Vous pouvez utiliser les modes TCP et UDP pour transférer les journaux vers le serveur rsyslog distant. Mais je recommanderais d'utiliser UDP car il est très facile sur le serveur client en termes de performances. Le seul inconvénient de l'utilisation d'UDP est que certains messages de journal peuvent être perdus si le serveur est trop occupé pour recevoir les paquets UDP. Utilisez TCP là où vos journaux sont critiques ; sinon, restez avec UDP.

2. Enregistrez le fichier et redémarrez le service rsyslog.

# service rsyslog restart          ### CentOS/RHEL 6
# systemctl restart rsyslog        ### CentOS/RHEL 7

Configuration du client Rsyslog

1. Modifiez /etc/rsyslog.conf sur le serveur client et ajoutez les lignes ci-dessous. Lorsque vous faites précéder votre hôte distant d'un seul @ symbole, vous utilisez UDP. Pour utiliser TCP, utilisez @@ à la place.

Pour UDP

# vi /etc/rsyslog.conf
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
#*.* @remote-host:514
*.* @x.x.x.x:514

Pour TCP

# vi /etc/rsyslog.conf
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
#*.* @@remote-host:514
*.* @@x.x.x.x:514

Ici, remplacez x.x.x.x par votre serveur rsyslog centralisé. Si vous ne souhaitez pas envoyer de journaux avec toutes les gravités incluses (*.*), vous pouvez modifier la dernière ligne avec quelque chose comme :

*.info      @x.x.x.x:514

2. Enregistrez le fichier et redémarrez le service rsyslog.

# service rsyslog restart        ### CentOS/RHEL 6
# systemctl restart rsyslog        ### CentOS/RHEL 7

Vérification de la configuration

Vous pouvez utiliser le "logger ” pour générer manuellement un message de journal et voir si le serveur syslog distant le reçoit correctement.

Sur le serveur client :

# logger "Test message from the system `hostname`"

Sur le serveur rsyslog centralisé :

# tail /var/log/messages  
June 15 12:32:01 geeklab root: Test message from the system geeklab

Exécuter Rsyslog sur un port non standard

Si vous souhaitez exécuter rsyslog sur un port autre que le port par défaut 514, vous devrez effectuer des modifications selinux supplémentaires. Pour afficher les paramètres actuels des ports SELinux pour rsyslog :

# semanage port -l| grep syslog
syslog_tls_port_t              tcp      6514, 10514
syslog_tls_port_t              udp      6514, 10514
syslogd_port_t                 tcp      601, 20514
syslogd_port_t                 udp      514, 601, 20514

Pour ajouter un port UDP 541 à SELinux, utilisez la commande :

# semanage port -a -t syslogd_port_t -p udp 541

Vérifiez si le port est ajouté dans les paramètres SELinux :

# semanage port -l| grep syslog
syslog_tls_port_t              tcp      6514, 10514
syslog_tls_port_t              udp      6514, 10514
syslogd_port_t                 tcp      601, 20514
syslogd_port_t                 udp      541, 514, 601, 20514


Cent OS
  1. Comment configurer le serveur SysLog sur CentOS 7 / RHEL 7

  2. Comment configurer le serveur NFS sur CentOS 7 / RHEL 7

  3. Comment installer Puppet 6.x sur CentOS 7 / RHEL 7

  4. CentOS / RHEL 7 :Comment installer l'interface graphique

  5. Comment changer le répertoire de journal par défaut (/var/log) dans Rsyslog pour CentOS/RHEL 6,7

Comment configurer le serveur Rsyslog dans CentOS 8 / RHEL 8

Comment installer le serveur Redis sur CentOS 8 / RHEL 8

Comment configurer le serveur NFS sur CentOS 8 / RHEL 8

Comment installer Zabbix Server 4.x sur CentOS 6 / RHEL 6

Comment installer Zabbix Server 5.0 / 4.0 sur CentOS 7 / RHEL 7

Comment configurer le serveur VNC sur CentOS/RHEL 6