Protokolování událostí pomocí Syslogd a Klogd v systému Linux

Administrativní úlohy v Linuxu jsou v mnoha situacích složité kvůli množství procesů, služeb a rolí, které jsou prováděny každou sekundu, a k tomu musíme přidat přihlašovací údaje, instalaci aplikací a nezapomínat na všechny události, které každá aplikace registruje ve spravované distribuci . Naštěstí pro správce a kontrolní nebo auditorský personál máme k dispozici různé příkazy, které usnadňují správu a řízení systémových událostí, a proto se Solvetic zaměří na dva z nejdůležitějších příkazů pro tento účel. Syslog a Klogd.

Protokol je jako protokol, kde jsou zaznamenávány události, chyby, změny a procesy generované aplikacemi nebo operačním systémem, aby bylo možné později tento záznam přečíst a určit, jaké události nastaly, zejména v případě chyb nebo zranitelností. Soubory protokolů v systému Linux se nacházejí v adresáři / var / log. Systém logu Linux spravují dva Daemons:

SYSLOGDGeneruje systémové protokoly. Syslogd se spustí automaticky při spuštění systému Linux a je zodpovědný za ukládání zpráv o provozu počítače. Přijímá zprávy z různých částí systému, jádra a aplikací, ukládá je na různá místa, místní i vzdálená, podle kritérií definovaných v konfiguračním souboru /etc/syslog.conf.

KLOGDGenerujte protokoly jádra. klogd směruje zprávy protokolu jádra do systémového protokolu. Uživatel může řídit zpracování zpráv jádra úpravou konfiguračního souboru syslogd. Tyto aplikace klogd jsou zvláště užitečné pro vývojáře jádra.

1. Co je a jak používat Syslogd v protokolech Linuxu


Podívejme se, co to je a jak používat Syslogd

Co je SyslogdSyslogd (nástroje pro protokolování systému Linux), je příkaz, který nám dává typ protokolu, který používá mnoho moderních programů, díky Syslogd každá protokolovaná zpráva obsahuje alespoň jeden čas a jedno pole názvu hostitele, takže monitorovací úlohy jsou mnohem jednodušší a snadněji analyzovat.

Příkaz Syslogd má standardní chování BSD a nové verze Syslogd transparentně interagují s verzí syslog dostupnou ve standardních knihovnách, takže pokud binární soubor propojený se standardními sdílenými knihovnami nefunguje správně, Syslogd zobrazí chování tohoto binární.

Krok 1
Hlavní konfigurační soubor je /etc/syslog.conf a protokol je obvykle zadán pomocí položek pravidel. Volič (facility.priority) a akce jsou uvedeny v každém řádku. Je třeba mít na paměti, že moderní distribuce Linuxu, příkaz Syslogd byl nahrazen novými implementacemi Syslog, jako je rsyslog nebo syslog-ng, takže pokud chceme používat Syslogd, můžeme jej nainstalovat pomocí následujícího příkazu:

 apt nainstalovat inetutils-syslogd 

ZVĚTŠIT

Krok 2
Tam musíme zadat písmeno S pro potvrzení stažení a instalace Syslogd. Po instalaci můžeme přejít do konfiguračního souboru, který se nachází v následující cestě /etc/syslog.conf:

 nano /etc/syslog.conf 

ZVĚTŠIT

Krok 3
Tam najdeme všechny trasy, které Syslogd použije k zachycení informací. Obecná syntaxe pro Syslogd je následující:

 syslogd [-a socket] [-d] [-f konfigurační soubor] [-h] [-l seznam hostitelů] [-m interval] [-n] [-p socket] [-r] [-s seznam domén] [-S] [-v] [-x] 
Krok 4
Mezi dostupnými možnostmi máme:

Zadejte další zásuvkyTento argument nám umožňuje určit další sokety, které by měl Syslogd poslouchat, používá se v případě, že je v prostředí chroot () spuštěn nějaký démon. Bude možné využít až 19 dalších zásuvek.

 -zásuvka 

Povolit režim laděnítento argument aktivuje režim ladění, který udrží Syslog v popředí a zapíše tak do aktuálního tty mnoho informací o ladění.

 -d

Konfigurační souborTento argument určuje alternativní konfigurační soubor namísto výchozího souboru /etc/syslog.conf.

 -f konfigurační soubor 

Blokovat vzdálené přeposílání zprávTento parametr zabraňuje Syslogd v přeposílání zpráv, které přijímá od vzdálených hostitelů.

 -h

Definujte název sítěDíky tomuto parametru lze uvést název hostitele, který musí být registrován pouze pomocí jednoduchého názvu hostitele, a nikoli FQDN.

 -l seznam hostitelů (Seznam hostitelů) 

Definujte časový intervalPomocí tohoto parametru můžeme určit časový interval, který se má použít, ve výchozím nastavení je hodnota 20 minut.

 -m interval 

Vyhněte se spuštění SyslodgTento parametr brání spuštění Syslogd na pozadí.

 -n

Nastavit soket doményUmožňuje nám určit alternativní soket domény Unix namísto / dev / log

 -p zásuvka

Povolit síťové zprávyTato možnost umožní instalaci přijímat zprávy ze sítě pomocí soketu internetové domény se službou Syslog.

 -r

Definujte název doményTento parametr určuje název domény, který musí být před přihlášením odstraněn.

 -s seznam domén 

Povolit registraciPovolit podrobné protokolování,

 -S

Povolit aktuální verziZobrazit aktuální verzi Syslogd.

 -proti 

ZVĚTŠIT

Krok 5
Při provádění jakékoli z dostupných možností vidíme všechny úkoly, které jsou prováděny interně:

ZVĚTŠIT

2. Signály v protokolech Syslogd Linux

Krok 1
Syslogd je schopen reagovat na sadu signálů, možnost odeslat signál do Syslogd je provedením:

 kill -SIGNAL 'cat /var/run/syslogd.pid' 
Krok 2
Když je tento signál spuštěn, různé komponenty jako např. Syslogd je tedy praktickým řešením pro analýzu událostí Linuxu.

PŘIPOJENÍTato volba umožňuje programu Syslogd provést restart, kde jsou zavřeny všechny otevřené soubory, konfigurační soubor bude znovu načten a instalace Syslogu se spustí znovu.

SIGTERMPlatnost služby vyprší.

SIGINT, SIGQUITPokud je povoleno ladění, jsou ignorovány, jinak platnost Syslogd vyprší.

SIGUSR1Povolte nebo zakažte ladění.

SIGCHLDPočkejte na nové zprávy.

3. Konfigurujte soubor Linux syslogd


Syslogd používá v konfiguračním souboru poněkud odlišnou syntaxi než tradiční původní zdrojový soubor BSD. Konfigurace syslogd se provádí prostřednictvím souboru /etc/syslogd.conf. Prostřednictvím tohoto souboru je určeno, kam mají být směrovány různé zprávy. Řádky můžete nechat prázdné nebo můžete celé řádky komentovat znakem „#“

Aby syslog přijímal vzdálená připojení, musíme přidat parametr -r

 SYSLOGD_OPTIONS = " - r -m 0" 
Obvykle syslogd zabírá port 514, musíme zkontrolovat, zda jej brána firewall neblokuje, aby otestovala, na kterém portu běží, z terminálu napíšeme následující kód
 grep syslog / etc / services 
V protokolech služeb na tomto řádku vidíme, že protokoly „mail, cron, info“ směřují do adresáře zpráv
 * .info; mail.none; authpriv.none; cron.none / var / log / messages 
Pomocí následujícího příkazu se pokusíme odeslat zprávu do všech protokolů
 grep "Testovací zpráva" / var / log / * 
V tomto případě vidíme, že několik protokolů má odepřená oprávnění, a proto je nelze zapisovat.

Bylo by nutné určit, zda je nutné povolení měnit či nikoli podle našich potřeb. Protokoly mají několik úrovní priority zpráv (od nejnižší po nejvyšší prioritu:

Protokoly selhání, chyb a varování

 ladění, informace, upozornění, varování, varování, chyba, chyba, kritika, výstraha, vznik a panika 

Protokoly typu zprávyProtokoly různých zpráv

 auth, authpriv, cron, daemon, kern, lpr, mail, mark, novinky, zabezpečení, syslog, uživatel, uucp 
Nejdůležitější jsou
  • var / log / zprávy: zde najdeme protokoly, které dorazí s prioritními informacemi (informacemi), oznámením (oznámením) nebo varováním (varování).
  • /var/log/kern.log: protokoly jádra generované klogd jsou uloženy zde.
  • /var/log/auth.log: tento protokol zaznamenává přihlášení do systému, časy, kdy provádíme su atd. Neúspěšné pokusy jsou zaznamenány do řádků s informacemi o neplatném typu klíče nebo neplatném přihlášení.
  • / var / log / dmesg: informace generované jádrem během spouštění systému jsou uloženy v tomto souboru.

Tyto soubory protokolu shromažďují informace neustále, takže v určitém okamžiku mohou zabírat spoustu místa. K vyřešení tohoto problému je můžeme komprimovat nebo zálohovat, pokud jsou opravdu nutné. Některé změny, které je třeba mít na paměti, jsou:

Použití zástupných znakůPoužívá se jako zástupný znak pro všechny výše uvedené priority a služby v závislosti na jeho použití (ať už před nebo za oddělovacím znakem `. ').

 "*" (Hvězdička) = 

Neoznačujte priorituUdává, že pro službu vybrané linky není definována žádná priorita.

 "": (Prázdné, mezera, null) 

Vyberte si různé službyUmožňuje zadat více služeb se stejnou úrovní priority na stejném řádku.

 "," (jíst) 

Ovládejte různé zprávyUmožňuje směrovat zprávy z různých služeb a priorit na stejného příjemce.

 ";" (středník) 

Vyberte prioritu zprávyTo nám dává možnost ukládat pouze zprávy s přesně zadanou prioritou.

 "=" (Stejné) 

4. Co je a jak používat Klogd v protokolech Linuxu

Co je KlogdKlogd (Kernel Log Daemon) je systémový démon, který byl vyvinut pro zachycování a protokolování zpráv z jádra Linuxu. Funkce příkazu Klogd je zaměřena na zachycení více instancí jádra, jako je zdroj, stanovení priorit a rozlišení adres jádra.

V prostředích Linuxu máme dva hlavní zdroje informací o registru jádra, například:

  • Systém souborů / proc
  • Rozhraní syscall (sys_syslog)
Příkaz Klogd byl navržen tak, aby vybral nejvhodnější zdroj informací pro zobrazení informací, aby toho dosáhl, nejprve ověří přítomnost systému souborů / proc, který je připojen, pokud existuje, / proc file / kmsg se používá jako zdroj informací o protokolu jádra, v případě, že není připojen souborový systém proc, Klogd využije systémové volání, aby získal zprávy jádra. V případě, že jsou zprávy jádra přesměrovány prostřednictvím démona syslogd, je démon Klogd od své verze 1.1 schopen upřednostňovat zprávy jádra, tato priorita je v rozsahu, ve kterém je priorita zprávy z jádra zakódována jako jedna číselná číslice v rámci.

Když je z jádra přijata zpráva, démon Klogd přečte přiřazenou úroveň priority a přidělí jí úroveň priority na základě zprávy syslog. Při používání Klogd bude také možné změnit zobrazení zpráv jádra v systémové konzole, ve společném jádře je výchozí úroveň protokolu konzoly nastavena na 7, tedy všechny zprávy s nižší úrovní priority na 7 (nejvyšší priorita ) se zobrazí na konzole. Zprávy úrovně priority 7 jsou považovány za zprávy „ladění“, a proto se na konzole nezobrazí, aby nezahltily ostatní události jádra informacemi.

Klogd má funkci nazvanou Rozlišení adresy jádra, která, pokud jádro detekuje vnitřní chybový stav, automaticky se aktivuje protokol obecné chyby ochrany. Toto je část postupu zpracování GPF, ve kterém jádro vytiskne zprávu o stavu, která indikuje stav procesoru při generování chyby, v rámci tohoto výsledku uvidíme detaily, jako je obsah registrů mikroprocesoru, obsah zásobník jádra a monitorování funkcí, které byly spuštěny před chybou.

Proces řešení číselných adres z výsledků chyb ochrany lze provést ručně nebo pomocí programu ksymoops, který je součástí zdrojů jádra. Příkaz Klogd podporuje problém diagnostiky selhání ochrany v aktuálních zaváděcích modulech jádra.

Krok 1
Stejně jako Syslogd, i Klog byl v aktuálních distribucích nahrazen dynamičtějšími příkazy, takže pro jeho instalaci provedeme následující. Tam zadáme písmeno S pro potvrzení stažení a instalace.

 apt nainstalovat busybox-syslogd 

ZVĚTŠIT

Krok 2
Syntaxe Klogd je následující:

 klogd [-cn] [-d] [-f fname] [-iI] [-n] [-o] [-p] [-s] [-k fname] [-v] [-x] [-2 ] 
Krok 3
Tyto možnosti jsou:

Definujte úroveň protokoluTento parametr definuje výchozí úroveň protokolování pro zprávy konzoly na n.

 -c n 

Debugovací módtato možnost povoluje režim ladění.

 -d 

Protokolovat zprávysoubor zaznamenává zprávy do zadaného názvu souboru namísto instalace syslog.

 -F 

Identifikujte běžící démonyidentifikuje aktuálně spuštěného démona klogd. Oba přepínače ovládají načítání / opětovné načítání informací o symbolech.

 -i -I 

Zastavte klogd na pozadíZabraňte spuštění Klogdu na pozadí.

 -n 

Úplné čtení ve vyrovnávací paměti zprávTato volba umožňuje Klogd číst a zaznamenávat všechny zprávy nalezené ve vyrovnávací paměti zpráv jádra.

 -nebo 

Vynutit systémové voláníNutí příkaz Klogd používat rozhraní systémových volání k vyrovnávací paměti zpráv jádra.

 -s 

Viz verze KlogdVytiskněte si verzi Klogd.

 -proti 

ZVĚTŠIT

Krok 4
Pokud si chceme po přihlášení přečíst všechny události, provedeme následující:

 klogd -o -f ./krnl.msg 
Krok 5
Poté bude možné přistupovat k obsahu uvedeného souboru:

ZVĚTŠIT

5. Signály Klogd v Linuxu


Příkaz Klogd může reagovat na osm (8) signálů, kterými jsou: SIGHUP, SIGINT, SIGKILL, SIGTERM, SIGTSTP, SIGUSR1, SIGUSR2 a SIGCONT. Signály SIGINT, SIGKILL, SIGTERM a SIGHUP umožňují démonovi vypnout zdroje protokolu jádra a správně ukončit proces, zatímco ke spuštění a zastavení protokolu jádra jsou použity signály SIGTSTP a SIGCONT.

Krok 1
Pokud například chceme odpojit systém souborů / proc, musíme spustit následující příkazy:

 # kill -TSTP pid # umount / proc # kill -CONT pid
Krok 2
Některé soubory, které lze použít s Klogd, jsou:

  • / proc / kmsg: je zdrojový soubor pro zprávy jádra klogd
  • /var/run/klogd.pid: je soubor, který obsahuje ID procesu klogd
  • /boot/System.map, /System.map, /usr/src/linux/System.map - Toto jsou výchozí umístění pro mapy systému jádra.

Jak vidíme, máme tyto dva užitečné a zásadní příkazy pro správnou a úplnou správu událostí jádra v Linuxu.

wave wave wave wave wave