Le message explique comment configurer rsyslog pour filtrer les messages avec une adresse IP spécifique et supprimer ces messages. Par défaut, syslog ne consiste en aucun filtrage avancé comme rsyslog. Suivez les étapes ci-dessous pour configurer rsyslog pour filtrer les messages avec une adresse IP spécifique.
1. Installez rsyslog s'il n'est pas déjà présent sur le système. Pour les distributions basées sur Redhat :
# yum install rsyslog
2. Utilisez les commandes chkconfig/systemctl pour activer le service rsyslog au démarrage. Démarrez également le service.
# chkconfig rsyslog on ### CentOS/RHEL 6 # systemctl enable rsyslog ### CentOS/RHEL 7
# service rsyslog start ### CentOS/RHEL 6 # systemctl start rsyslog ### CentOS/RHEL 7
3. Afin de supprimer tous les messages liés à l'adresse IP xx.xx.xx.xx, veuillez modifier /etc/rsyslog.conf et ajouter le filtre de suppression ci-dessous en haut et non en bas du fichier.
# vi /etc/rsyslog.conf :msg, contains, "xx.xx.xx.xx " ~
4. Redémarrez le service rsyslog
# service rsyslog restart
Vérifier
Vous pouvez vérifier les paramètres définis ci-dessus à l'aide de l'enregistreur commande. La commande Logger est utilisée pour générer manuellement des messages syslog sur la ligne de commande. Utilisez la commande ci-dessous pour générer un message syslog contenant l'adresse IP que nous voulons.
# logger xx.xx.xx.xx
Vérifiez dans le fichier /var/log/messages que le message ci-dessus n'est pas enregistré. Vérifiez également en utilisant une adresse IP différente pour vérifier que les autres messages contenant une adresse IP différente ne sont pas supprimés.
Appliquer un filtre sur un programme/une commande spécifique
Le filtre peut également être appliqué à un programme spécifique tel que vsftpd avec l'adresse IP spécifique. Utilisez le filtre de rejet ci-dessous pour rejeter les journaux pour l'IP xx.xx.xx.xx et pour la commande vsftpd également.
# vi /etc/rsyslog.conf if $programname == 'vsftpd' and ($msg contains 'xx.xx.xx.xx' or $msg contains 'xx.xx.xx.xx') then ~