Příspěvek vysvětluje, jak nakonfigurovat rsyslog tak, aby filtroval zprávy s konkrétní IP adresou a tyto zprávy zahodil. Ve výchozím nastavení se syslog neskládá z žádného pokročilého filtrování, jako je rsyslog. Podle níže uvedených kroků nakonfigurujte rsyslog pro filtrování zpráv s konkrétní IP adresou.
1. Nainstalujte rsyslog, pokud ještě není v systému přítomen. Pro distribuce založené na Redhat:
# yum install rsyslog
2. Pomocí příkazů chkconfig/systemctl povolte službu rsyslog při zavádění. Spusťte také službu.
# 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. Chcete-li zahodit všechny zprávy související s IP adresou xx.xx.xx.xx, upravte soubor /etc/rsyslog.conf a přidejte níže uvedený filtr zahození na začátek a ne na konec souboru.
# vi /etc/rsyslog.conf :msg, contains, "xx.xx.xx.xx " ~
4. Restartujte službu rsyslog
# service rsyslog restart
Ověřit
Výše provedená nastavení můžete ověřit pomocí logovače příkaz. Příkaz Logger se používá k ručnímu generování zpráv syslog na příkazovém řádku. Pomocí níže uvedeného příkazu vygenerujte zprávu syslog obsahující požadovanou IP adresu.
# logger xx.xx.xx.xx
Ověřte v souboru /var/log/messages, že výše uvedená zpráva není protokolována. Také ověřte pomocí jiné IP adresy, abyste ověřili, že další zprávy obsahující jinou IP adresu nebudou zahozeny.
Použití filtru na konkrétní program/příkaz
Filtr lze také použít na konkrétní program, jako je vsftpd, spolu s konkrétní IP. Pomocí níže uvedeného filtru zahození zahoďte protokoly pro xx.xx.xx.xx IP a také pro příkaz vsftpd.
# vi /etc/rsyslog.conf if $programname == 'vsftpd' and ($msg contains 'xx.xx.xx.xx' or $msg contains 'xx.xx.xx.xx') then ~