Isso foi abordado em outro (s) post (s), mas ainda não consigo fazer isso funcionar corretamente.
Eu estou tentando OMIT (descartar) certas entradas de serem escritas para o meu " /var/log/secure
".
Ou seja, qualquer linha que contenha determinados endereços IP confiáveis, neste exemplo " IP = 10.10.10.10
".
Pelo que entendi, usar uma expressão REGEX como essa deve funcionar, mas acho que tenho um problema com a veiculação no arquivo:
if $syslogfacility-text == 'authpriv' and $msg !contains '10.10.10.10' then /var/log/secure
&~
Aqui está o que eu tentei até agora no meu arquivo /etc/rsyslog.conf
:
#rsyslog v3 config file
# if you experience problems, check
# http://www.rsyslog.com/troubleshoot for assistance
#### MODULES ####
$ModLoad imuxsock.so # provides support for local system logging (e.g. via logger command)
$ModLoad imklog.so # provides kernel logging support (previously done by rklogd)
#### GLOBAL DIRECTIVES ####
# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
#### RULES ####
if $syslogfacility-text == 'authpriv' and $msg !contains '10.10.10.10' then /var/log/secure
&~
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
Outra ligeira variação no arquivo rsyslog.conf seria a seguinte, já que li a ordem em que esta regra aparece faz a diferença:
#rsyslog v3 config file
# if you experience problems, check
# http://www.rsyslog.com/troubleshoot for assistance
#### MODULES ####
$ModLoad imuxsock.so # provides support for local system logging (e.g. via logger command)
$ModLoad imklog.so # provides kernel logging support (previously done by rklogd)
#### GLOBAL DIRECTIVES ####
# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
#### RULES ####
if $syslogfacility-text == 'authpriv' and $msg !contains '10.10.10.10' then /var/log/secure
&~
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
if $syslogfacility-text == 'authpriv' and $msg !contains '10.10.10.10' then /var/log/secure
&~
Eu tentei muitas outras maneiras, mas não quero poluir este post com muitas variações.
Outro ponto importante, é que preciso ter certeza de que outros arquivos de log via rsyslog
em todo o sistema ainda rastreiem esse endereço IP.
Então, essencialmente, apenas OMIT qualquer linha que contenha " 10.10.10.10
" do " /var/log/secure
"