Úprava logování systemd-journald
Přidal jsem konfiguraci žurnálu do dokumentace Syslog-ng, i do syslog-ng/syslog-ng-*.conf
.
Po testování jsem zjistil, že není jiná možnost rozlišení žurnálu na naší straně než vytvořením nového soketu.
Důvodem je posílání 'bordelu' ze žurnálu, což se může kdykoliv stát. Posílal jsem z Fedory, jenže se objevily zprávy SELinuxu, které nemají žádný header a na serveru se vytvářely soubory s prvním slovem každého řádku žurnálu.
Vypadalo to nějak takto:
/var/log/net/mypc/
|-dnf5.log
|-boot.log
|-messages
|-secure
|-systemd-journal
|-Pokud
|-byste
|-If
|-setsebool
|-restorecon
|-'****'
|-kde
|-Pak
|-Udělejte
|-'#'
atd.
To vše z důvodu výpisu SELinuxu do žurnálu v podobě:
srp 08 13:34:16 mypc setroubleshoot[453405]: SELinux brání syslog-ng využívat execmem přístup k procesu.
***** Plugin allow_execmem (91.4 důvěry) naznačuje****************************
If this issue occurred during normal system operation.
Pak this alert could be a serious issue and your system could be compromised.
Udělejte
contact your security administrator and report this issue
***** Plugin catchall (9.59 důvěry) naznačuje*********************************
Pokud jste přesvědčeni, že má syslog-ng mít ve výchozím stavu přístup execmem na procesy se značkou syslogd_t.
Pak měli byste tento problém nahlásit jako chybu.
Abyste přístup povolili, můžete vygenerovat lokální modul pravidel.
Udělejte
prozatím tento přístup povolíte příkazy:
# ausearch -c 'syslog-ng' --raw | audit2allow -M my-syslogng
# semodule -X 300 -i my-syslogng.pp
srp 08 13:34:19 pcporua-158-76 sudo[453400]: pam_unix(sudo:session): session closed for user root
Než aby se jednou takový šelest objevil na serveru v adresáři, tak to rovnou řeším ze startu vlastním soketem pro příjem žurnálových dat a odesíláním do spešl souboru pro každého klienta zvlášť (odlišit můžeš filtrem nebo makrem jako já).
Zároveň jsem odebral zdroj dat internal()
ze žurnálu a dalších zdroj. Může být specifikován pouze jeden internal()
zdroj, který je defaultně v /etc/syslog-ng/syslog-ng.conf
v sekci source s_sys{ system(); internal(); };
. Uživatel si pouze zakomentuje system()
a logy, které chce posílat, specifikuje v custom configu.