Įvykių registravimas naudojant „Syslogd“ ir „Klogd“ sistemoje „Linux“

„Linux“ administravimo užduotys daugeliu atvejų yra sudėtingos dėl procesų, paslaugų ir vaidmenų, kurie atliekami kiekvieną sekundę, todėl turime pridėti prisijungimo duomenis, įdiegti programas ir nepamiršti visų įvykių, kuriuos kiekviena programa registruoja valdomame platinime . Laimei, administratoriams ir kontrolės ar audito personalui mes sukūrėme įvairias komandas, kurios palengvina sistemos įvykių valdymą ir kontrolę, todėl „Solvetic“ šiuo tikslu sutelks dėmesį į dvi svarbiausias komandas. Syslog ir Klogd.

Žurnalas yra kaip žurnalas, kuriame įrašomi programų ar operacinės sistemos sukurti įvykiai, klaidos, pakeitimai ir procesai, kad vėliau būtų galima perskaityti šį įrašą ir nustatyti, kokie įvykiai įvyko, ypač klaidų ar pažeidžiamumų atveju. „Linux“ sistemos žurnalo failai yra kataloge / var / log. „Linux“ žurnalų sistemą tvarko du demonai:

SYSLOGDSukuria sistemos žurnalus. „Syslogd“ veikia automatiškai, kai paleidžiate „Linux“ sistemą, ir ji yra atsakinga už ataskaitų apie kompiuterio veikimą saugojimą. Jis gauna pranešimus iš skirtingų sistemos dalių, branduolio ir programų, saugo juos skirtingose ​​vietinėse ir nuotolinėse vietose, vadovaudamasis /etc/syslog.conf konfigūracijos faile apibrėžtais kriterijais.

KLOGDASSukurkite branduolio žurnalus. klogd nukreipia branduolio žurnalo pranešimus į sistemos žurnalą. Vartotojas gali valdyti branduolio pranešimų tvarkymą redaguodamas „syslogd“ konfigūracijos failą. Šios klogd programos yra ypač naudingos branduolio kūrėjams.

1. Kas yra ir kaip naudoti „Syslogd“ „Linux“ žurnaluose


Pažiūrėkime, kas tai yra ir kaip naudoti „Syslogd“

Kas yra Syslogd„Syslogd“ („Linux“ sistemos registravimo paslaugos) yra komanda, suteikianti mums žurnalo tipą, kurį naudoja daugelis šiuolaikinių programų, „Syslogd“ dėka kiekviename užregistruotame pranešime yra bent vieną kartą ir vienas šeimininko pavadinimo laukas, todėl stebėjimo užduotys yra daug paprastesnės ir lengviau analizuoti.

„Syslogd“ komanda turi standartinį BSD veikimą, o naujos „Syslogd“ versijos skaidriai sąveikauja su standartinėse bibliotekose esančia „syslog“ versija, taigi, jei dvejetainė, susieta su standartinėmis bendromis bibliotekomis, neveikia tinkamai, „Syslogd“ parodys, kaip tai veikia dvejetainis.

1 žingsnis
Pagrindinis konfigūracijos failas yra /etc/syslog.conf, o žurnalas paprastai nurodomas su taisyklių įrašais. Kiekvienoje eilutėje nurodomas parinkiklis (įrenginys.prioritetas) ir veiksmas. Reikėtų nepamiršti, kad šiuolaikiniai „Linux“ paskirstymai, „Syslogd“ komanda buvo pakeisti naujais „Syslog“ diegimais, tokiais kaip rsyslog arba syslog-ng, taigi, jei norime naudoti „Syslogd“, galime ją įdiegti naudodami šią komandą:

 apt install inetutils-syslogd 

DIDELIS

2 žingsnis
Ten turime įvesti raidę S, kad patvirtintume „Syslogd“ atsisiuntimą ir įdiegimą. Įdiegę galime eiti į jo konfigūracijos failą, esantį šiuo keliu /etc/syslog.conf:

 nano /etc/syslog.conf 

DIDELIS

3 žingsnis
Ten randame visus maršrutus, kuriais „Syslogd“ naudos informaciją. Bendrosios paskirties „Syslogd“ sintaksė yra tokia:

 syslogd [-a lizdas] [-d] [-f konfigūracijos failas] [-h] [-l kompiuterių sąrašas] [-m intervalas] [-n] [-p lizdas] [-r] [-s sąrašo domenas] [-S] [-v] [-x] 
4 žingsnis
Tarp galimų variantų turime:

Nurodykite papildomus lizdusŠis argumentas leidžia mums nurodyti papildomus lizdus, ​​kurių „Syslogd“ turėtų klausytis, jis naudojamas tuo atveju, jei koks nors demonas bus vykdomas „chroot“ () aplinkoje. Bus galima naudoti iki 19 papildomų lizdų.

 -lizdas 

Įgalinti derinimo režimąšis argumentas suaktyvina derinimo režimą, kuris „Syslog“ laikys priekiniame plane ir taip įrašys daug derinimo informacijos į esamą tty.

 -d

Konfigūracijos failasŠis argumentas nurodo alternatyvų konfigūracijos failą, o ne numatytąjį /etc/syslog.conf failą.

 -f konfigūracijos failas 

Blokuoti nuotolinį pranešimų persiuntimąŠis parametras neleidžia „Syslogd“ persiųsti pranešimų, gautų iš nuotolinių kompiuterių.

 -h

Nustatykite tinklo pavadinimąŠio parametro dėka galima nurodyti pagrindinio kompiuterio pavadinimą, kuris turi būti registruojamas tik su paprastu pagrindinio kompiuterio pavadinimu, o ne FQDN.

 -l šeimininkų sąrašas (šeimininkų sąrašas) 

Nustatykite laiko intervaląNaudodamiesi šiuo parametru, galime nurodyti naudojamą laiko intervalą, pagal numatytuosius nustatymus vertė yra 20 minučių.

 -m intervalas 

Venkite paleisti „Syslodg“Šis parametras neleidžia „Syslogd“ veikti fone.

 -n

Nustatykite domeno lizdąTai leidžia mums nurodyti alternatyvų „Unix“ domeno lizdą vietoj / dev / log

 -p lizdas

Leisti tinklo pranešimusŠi parinktis leis instaliacijai gauti pranešimus iš tinklo naudojant interneto domeno lizdą su „Syslog“ paslauga.

 -r

Apibrėžkite domeno pavadinimąŠis parametras nurodo domeno pavadinimą, kuris turi būti pašalintas prieš prisijungiant.

 -s domenų sąrašas 

Įgalinti registracijąĮgalinti daugialypį registravimą,

 -S

Įgalinti dabartinę versijąPeržiūrėkite dabartinę „Syslogd“ versiją.

 -v 

DIDELIS

5 žingsnis
Vykdydami bet kurią iš galimų parinkčių matome visas užduotis, kurios atliekamos viduje:

DIDELIS

2. Signalai „Syslogd Linux“ žurnaluose

1 žingsnis
„Syslogd“ gali reaguoti į signalų rinkinį, galimybė siųsti signalą „Syslogd“ yra vykdant:

 nužudyti -SIGNAL 'katė /var/run/syslogd.pid' 
2 žingsnis
Kai šis signalas vykdomas, įvairūs komponentai, pvz. Taigi „Syslogd“ yra praktiškas sprendimas, skirtas „Linux“ įvykiams analizuoti.

SIGHUPŠi parinktis leidžia „Syslogd“ paleisti iš naujo, kai visi uždaryti failai yra uždaryti, konfigūracijos failas bus perskaitytas dar kartą ir „Syslog“ diegimas bus pradėtas iš naujo.

SIGTERMPaslaugos galiojimo laikas baigsis.

SIGINT, SIGQUITJei derinimas įjungtas, jie ignoruojami, kitaip „Syslogd“ nebegalioja.

SIGUSR1Įjunkite arba išjunkite derinimą.

SIGCHLDPalaukite naujų pranešimų.

3. Konfigūruokite „Linux syslogd“ failą


„Syslogd“ savo konfigūracijos faile naudoja šiek tiek kitokią sintaksę nei tradicinis originalus BSD šaltinio failas. „Syslogd“ konfigūracija atliekama naudojant failą /etc/syslogd.conf. Šiame faile nurodoma, kur turėtų būti nukreipti skirtingi pranešimai. Galite palikti tuščias eilutes arba komentuoti visas eilutes su simboliu „#“

Kad „syslog“ priimtų nuotolinius ryšius, turime pridėti parametrą -r

 SYSLOGD_OPTIONS = " - r -m 0" 
Paprastai „syslogd“ užima 514 prievadą, turime patikrinti, ar ugniasienė jo neužblokuoja, kad patikrintume, kuriame uoste ji veikia, iš terminalo rašome šį kodą
 grep syslog / etc / services 
Šios eilutės paslaugų žurnaluose matome, kad „pašto, crono, informacijos“ žurnalai patenka į pranešimų katalogą
 * .info; mail.none; authpriv.none; cron.none / var / log / messages 
Mes stengsimės išsiųsti pranešimą į visus žurnalus naudodami šią komandą
 grep „Bandomasis pranešimas“ / var / log / * 
Šiuo atveju matome, kad keli žurnalai yra atimti, todėl jų negalima rašyti.

Reikėtų nustatyti, ar reikia keisti leidimus, ar ne pagal mūsų poreikius. Žurnalai turi keletą pranešimų prioritetų lygių (nuo mažiausio iki aukščiausio prioriteto:

Gedimų, klaidų ir įspėjimų žurnalai

 derinimas, informacija, pranešimas, įspėjimas, įspėjimas, klaida, klaida, kritika, įspėjimas, atsiradimas ir panika 

Pranešimų tipų žurnalaiĮvairūs pranešimų tipo žurnalai

 auth, authpriv, cron, demonas, kern, lpr, paštas, ženklas, naujienos, saugumas, syslog, vartotojas, uucp 
Svarbiausi yra
  • var / log / messages: čia rasite žurnalus, kurie atvyksta su prioritetine informacija (informacija), pranešimu (pranešimu) arba įspėjimu (įspėjimas).
  • /var/log/kern.log: čia saugomi klogd sukurti branduolio žurnalai.
  • /var/log/auth.log: šiame žurnale registruojami prisijungimai sistemoje, laikas, kai mes darome su ir kt. Nepavykę bandymai įrašomi eilutėse su informacija apie netinkamą rakto tipą arba neteisingą prisijungimą.
  • / var / log / dmesg: šiame faile saugoma informacija, kurią branduolys sukuria sistemos paleidimo metu.

Šie žurnalo failai visą laiką kaupia informaciją, todėl tam tikru momentu jie gali užimti daug vietos. Norėdami išspręsti šią problemą, galime ją suspausti arba sukurti atsarginę kopiją, jei jos tikrai būtinos. Kai kurie pakeitimai, kuriuos reikia atsiminti, yra šie:

Pakaitos simbolių naudojimasJis naudojamas kaip pakaitos simbolis visiems pirmiau nurodytiems prioritetams ir paslaugoms, atsižvelgiant į jo naudojimą (prieš arba po skiriamojo simbolio „.“).

 „*“ (Žvaigždutė) = 

Nepažymėkite prioritetoNurodo, kad pasirinktos linijos paslaugai nėra apibrėžto prioriteto.

 "": (Tuščia, tarpas, nulis) 

Pasirinkite skirtingas paslaugasLeidžia toje pačioje eilutėje nurodyti kelias paslaugas su tuo pačiu prioriteto lygiu.

 "," (valgyti) 

Valdykite skirtingus pranešimusLeidžia nukreipti pranešimus iš įvairių paslaugų ir prioritetų tam pačiam gavėjui.

 ";" (kabliataškis) 

Pasirinkite pranešimo prioritetąTai suteikia mums galimybę saugoti tik tiksliai nurodyto prioriteto pranešimus.

 "=" (Lygus) 

4. Kas yra ir kaip naudoti „Klogd“ „Linux“ žurnaluose

Kas yra Klogd„Klogd“ („Kernel Log Daemon“) yra sistemos demonas, sukurtas perimti ir registruoti pranešimus iš „Linux“ branduolio. Komandos „Klogd“ funkcija yra skirta fiksuoti kelis branduolio egzempliorius, tokius kaip šaltinis, prioritetai ir branduolio adresų skiriamoji geba.

„Linux“ aplinkoje turime du pagrindinius branduolio registro informacijos šaltinius, tokius kaip:

  • Failų sistema / proc
  • „Syscall“ sąsaja („sys_syslog“)
Komanda „Klogd“ sukurta taip, kad būtų pasirinktas patogiausias informacijos rodymo informacijos šaltinis, kad tai pasiektų, visų pirma, ji patikrina, ar yra įdiegta / proc failų sistema, jei tokia yra, / proc file / kmsg naudojamas kaip branduolio žurnalo informacijos šaltinis, jei neprijungta proc failų sistema, Klogd pasinaudos sistemos iškvietimu, kad gautų branduolio pranešimus. Jei branduolio pranešimai peradresuojami per „syslogd“ demoną, „Klogd“ demonas, nuo jo 1.1 versijos, gali nustatyti branduolio pranešimų prioritetus, šis prioritetas yra intervale, kuriame pranešimo iš branduolio prioritetas yra užkoduotas kaip vienas skaitmeninis skaitmuo viduje.

Kai iš branduolio gaunamas pranešimas, Klogd demonas perskaitys priskirtą prioriteto lygį ir suteiks jam prioriteto lygį pagal syslog pranešimą. Naudojant „Klogd“, sistemos konsolėje taip pat bus galima pakeisti branduolio pranešimų rodymą, bendrame branduolyje numatytasis konsolės žurnalo lygis yra 7, taigi visi pranešimai, kurių žemesnio prioriteto lygis yra 7 (aukščiausio prioriteto) ) pasirodys konsolėje. 7 prioriteto lygio pranešimai laikomi „derinimo“ pranešimais, todėl jie nebus rodomi konsolėje, kad neužgožtų kitų branduolio įvykių informacija.

„Klogd“ turi funkciją, vadinamą branduolio adreso skiriamąja geba, kai branduolys aptinka vidinės klaidos būklę, automatiškai įjungiamas bendras apsaugos klaidos protokolas. Tai yra GPF tvarkymo procedūros dalis, kai branduolys išspausdina būsenos ataskaitą, nurodančią procesoriaus būseną, kai gedimas sugeneruojamas, todėl matysime išsamią informaciją, pvz., Mikroprocesorių registrų turinį, branduolių rietuvę ir funkcijų, kurios veikė prieš klaidą, stebėjimą.

Skaitinių adresų išsprendimo iš apsaugos klaidų rezultatų procesas gali būti atliekamas rankiniu būdu arba naudojant „ksymoops“ programą, įtrauktą į branduolio šaltinius. Komanda Klogd palaiko apsaugos gedimų diagnozavimo problemą dabartiniuose branduolio įkeltiniuose moduliuose.

1 žingsnis
Kaip ir „Syslogd“, dabartiniuose paskirstymuose „Klog“ buvo pakeistos dinamiškesnėmis komandomis, todėl jo diegimui vykdysime šiuos veiksmus. Ten mes įvedame raidę S, kad patvirtintume atsisiuntimą ir įdiegimą.

 apt install busybox-syslogd 

DIDELIS

2 žingsnis
Klogd sintaksė yra tokia:

 klogd [-cn] [-d] [-f fname] [-iI] [-n] [-o] [-p] [-s] [-k fname] [-v] [-x] [-2 ] 
3 žingsnis
Šios parinktys yra šios:

Apibrėžkite žurnalo lygįŠis parametras nustato numatytąjį konsolės pranešimų registravimo lygį n.

 -c n 

Derinimo režimasši parinktis įgalina derinimo režimą.

 -d 

Prisijunkite prie pranešimųfailas registruoja pranešimus nurodytu failo pavadinimu, o ne „syslog“ diegimu.

 -F 

Nustatykite bėgančius demonusnustato šiuo metu veikiantį klogd demoną. Abu jungikliai valdo simbolių informacijos įkėlimą / perkrovimą.

 -i -aš 

Sustabdykite klogd foneNeleiskite „Klogd“ veikti fone.

 -n 

Visas skaitymas pranešimų buferiuoseŠi parinktis leidžia „Klogd“ skaityti ir įrašyti visus pranešimus, esančius branduolio pranešimų buferiuose.

 -arba 

Priverstinis sistemos skambutisPriverčia Klogd komandą naudoti sistemos skambučių sąsają branduolio pranešimų buferiams.

 -s 

Žr. Klogd versijąSpausdinkite „Klogd“ versiją.

 -v 

DIDELIS

4 žingsnis
Jei po prisijungimo norime perskaityti visus įvykius, vykdysime šiuos veiksmus:

 klogd -o -f ./krnl.msg 
5 žingsnis
Po to bus galima pasiekti minėto failo turinį:

DIDELIS

5. Klogd signalai „Linux“


Klogd komanda gali reaguoti į aštuonis (8) signalus, kurie yra: SIGHUP, SIGINT, SIGKILL, SIGTERM, SIGTSTP, SIGUSR1, SIGUSR2 ir SIGCONT. SIGINT, SIGKILL, SIGTERM ir SIGHUP signalai leidžia demonui išjungti branduolio žurnalo šaltinius ir teisingai nutraukti procesą, o SIGTSTP ir SIGCONT signalai naudojami branduolio žurnalui pradėti ir sustabdyti.

1 žingsnis
Pavyzdžiui, jei norime atjungti / proc failų sistemą, turime vykdyti šias komandas:

 # nužudyti -TSTP pid # umount / proc # kill -CONT pid
2 žingsnis
Kai kurie failai, kuriuos reikia naudoti su „Klogd“, yra šie:

  • / proc / kmsg: yra šaltinio failas klogd branduolio pranešimams
  • /var/run/klogd.pid: yra failas, kuriame yra klogd proceso ID
  • /boot/System.map, /System.map, /usr/src/linux/System.map - tai numatytosios branduolio sistemos žemėlapių vietos.

Kaip matome, turime šias dvi naudingas ir esmines komandas teisingam ir visapusiškam branduolio įvykių valdymui „Linux“.

wave wave wave wave wave