La publicación explica cómo configurar rsyslog para filtrar mensajes con una dirección IP específica y descartar esos mensajes. De forma predeterminada, syslog no consiste en ningún filtrado avanzado como rsyslog. Siga los pasos a continuación para configurar rsyslog para filtrar mensajes con una dirección IP específica.
1. Instale rsyslog si aún no está presente en el sistema. Para distribuciones basadas en Redhat:
# yum install rsyslog
2. Use los comandos chkconfig/systemctl para habilitar el servicio rsyslog en el arranque. También inicie el servicio.
# 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. Para descartar todos los mensajes relacionados con la dirección IP xx.xx.xx.xx, edite /etc/rsyslog.conf y agregue el siguiente filtro de descarte en la parte superior y no en la parte inferior del archivo.
# vi /etc/rsyslog.conf :msg, contains, "xx.xx.xx.xx " ~
4. Reinicie el servicio rsyslog
# service rsyslog restart
Verificar
Puede verificar la configuración realizada anteriormente, utilizando el registrador dominio. El comando Logger se usa para generar mensajes syslog manualmente en la línea de comando. Use el siguiente comando para generar un mensaje de syslog que contenga la dirección IP que queremos.
# logger xx.xx.xx.xx
Verifique en el archivo /var/log/messages que el mensaje anterior no esté registrado. Además, verifique el uso de una dirección IP diferente para verificar que no se descarten otros mensajes que contengan una dirección IP diferente.
Aplicar filtro en un programa/comando específico
El filtro también se puede aplicar a un programa específico como vsftpd junto con la IP específica. Use el filtro de descarte a continuación para descartar registros para xx.xx.xx.xx IP y también para el comando vsftpd.
# vi /etc/rsyslog.conf if $programname == 'vsftpd' and ($msg contains 'xx.xx.xx.xx' or $msg contains 'xx.xx.xx.xx') then ~