Skip to content

Úprava logování systemd-journald

jan0836 requested to merge jan0836 into master

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.

Merge request reports