Portál AbcLinuxu, 4. července 2025 18:11
Už mě rozčiloval bordel ve /var/log/messages
, tak jsem se trochu mrknul na filtrování v syslog-ng, když ho v Portage prezentují jako "syslog replacement with advanced filtering features". Následující postup je ukázka toho, jak logovat cron
, sudo
a iptables
do extra logů.
Konfigurák syslog-ng.conf
bývá buď v /etc
nebo v /etc/syslog-ng
. Zbytek konfigurace počítá s nastaveným zdrojem logů "src". Třeba takhle:
source src { unix-stream("/dev/log"); internal(); pipe("/proc/kmsg"); # roura };Zvolte si názvy souborů pro různé hlášky.
destination messages { file("/var/log/messages"); }; destination cron { file("/var/log/cron"); }; destination iptables { file("/var/log/iptables"); }; destination sudo { file("/var/log/sudo"); };Potom je třeba vymyslet filtry. Tady bych se chtěl zmínit o filtru
DEFAULT
, který je dostupný vždy a zachytí všechny ještě nezpracované hlášky.
filter f_cron { facility(cron); }; filter f_sudo { # match() bere (rozšířené) regexy match("^sudo:"); }; filter f_iptables { facility(kern) and match("^iptables: "); }; filter f_messages { # vše od informací až po varování a level(info .. warn) and # ne to, co chytí filtr f_iptables a not filter(f_iptables) and # ... not filter(f_cron) and not filter(f_sudo); };Poznámka: Aby fungoval filtr iptables, je třeba logovacím pravidlům přidat přepínač
--log-prefix "iptables: "
. V případě, že používate firehol, nastavte v konfiguráku firehol.conf
proměnnou FIREHOL_LOG_PREFIX="iptables: "
. Firehol s touto proměnnou pracuje až od verze 1.255, takže pokud máte starší verzi, můžete buď aktualizovat (což samozřejmě nelze než doporučit) nebo použít patch pro 1.226.
No a pak už mu jen stačí říct co s těmi všemi pravidly dělat
log { source(src); # zdroj filter(f_messages); # filtr destination(messages); # cíl }; log { source(src); filter(f_cron); destination(cron); }; log { source(src); filter(f_sudo); destination(sudo); }; log { source(src); filter(f_iptables); destination(iptables); flags(final); };
Hurá! Konečně je v tom pořádek.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.