Sistemul de logare a evenimentelor syslog - înțelegem funcționarea unix-sistemelor

Syslog este un sistem complet de înregistrare a evenimentelor, scris de Eric Allman (Eric Allman). Mulți furnizori o utilizează pentru a gestiona informațiile pe care le generează kernelul și utilitățile de sistem.







Sistemul Syslog execută două funcții importante: eliberează programatorii de munca mecanică dificilă de păstrare a fișierelor de jurnal și transferă gestionarea înregistrărilor către administrator. Înainte de Syslog, fiecare program putea să aleagă politica de înregistrare în sine, iar administratorii de sistem nu aveau cum să controleze ce informații și unde au fost stocate.

Acest sistem este foarte flexibil. Acesta vă permite să sortați mesajele sursă și importanță ( „severitate“ în terminologia sistemului syslog) și le trimite la diverse destinații :. În fișierele jurnal de pe terminalul de utilizator, și chiar și pe alte mașini Una dintre cele mai valoroase caracteristici ale acestui sistem este capacitatea sa de a centralizați procedura de înregistrare a evenimentelor în rețea.

Sistemul Syslog este compus din trei componente:

  • syslogd este un daemon care se înregistrează (fișierul de configurare se numește /etc/syslog.conf);
  • openlog (), syslog (), closelog () - funcții de bibliotecă care transmit mesaje către daemonul syslogd;
  • logger este o comandă la nivel de utilizator care acceptă mesaje de jurnal de la interpretul de comandă.

La semnalul „de rebound“ (HUP, semnalul 1) daemon syslogd închide svoii înregistra fișiere, citește fișierul de configurare și re-începe procesul de înregistrare. Dacă fișierul syslog.conf este modificat. trebuie să trimiteți daemonului syslogd un semnal HUP, altfel modificările nu vor avea efect. Semnalul TERM determină încetarea daemonului.

Daemonul syslogd scrie ID-ul procesului (PID) în fișierul /var/run/syslog.pid (în unele sisteme, în /etc/syslog.pid). Acest lucru facilitează daemonului să transmită semnale din scripturi. De exemplu, următoarea comandă produce un semnal clar:

% kill -HUP '/ bin / cat /var/run/syslog.pid'

Încercările de a comprima sau înlocui fișierul jurnal deschis de daemonul syslogd pentru scriere sunt nerezonabile și duc la consecințe imprevizibile. Unii furnizori oferă o pregătire de script (adesea în directorul / usr / lib / newsyslog) al cărei scop este de a roti fișierele de jurnal. O versiune îmbunătățită a scenariului, numită rotz. este disponibil pe site-ul www.admin.com.

Configurarea daemonului syslogd

Acțiunile daemonului syslogd depind de conținutul fișierului /etc/syslog.conf. Acest fișier text este format relativ simplu. Liniile și liniile goale. Începând cu semnul zăbrelei (#), ignorat. Formatul de bază al acestui fișier este:

selector <Таb> efect

asigură conservarea mesajelor provenite de la sistemul de e-mail în fișierul / var / log / maillog. Câmpul selector și câmpul de acțiune trebuie să fie separate de una sau mai multe file; Spațiile nu sunt folosite ca delimitatori și devin erori invizibile care pot fi foarte greu de urmărit. O modalitate de a face astfel de greșeli este tăierea și lipirea textului atunci când lucrați cu o interfață grafică multi-fereastră.

Selectorul reprezintă programul ("înseamnă" în terminologia sistemului Syslog) care trimite mesajul de înregistrare și nivelul de severitate al acestui mesaj. Formatul selectorului este:

Numele de fonduri și nivelurile de gravitate ar trebui selectate din lista standard de valori; programele nu își pot compila propriile liste. Există instrumente definite pentru kernel, pentru un grup de programe comune și pentru programe locale. Orice altceva trece sub numele comun "utilizator" (adică utilizator).

Selectorii pot conține cuvinte cheie * și nici una, care înseamnă "tot" și "nimic", respectiv. Selectorul poate include un grup de instrumente, separate prin virgule. Este, de asemenea, posibil să se separe cu caractere punct și virgulă.

În general, selectorii sunt combinați prin metoda logică OR; Pentru mesajul corespunzător oricărui selector, acțiunea specificată în câmpul cu același nume va fi executată. Selectorul fără nivel înseamnă excluderea mijloacelor enumerate în acesta, indiferent de ceea ce este indicat în ceilalți selectori ai aceluiași rând.

Mai jos sunt exemple de selectori:

În tabel. 11.2 afișează numele de media valide. În cele mai multe versiuni ale sistemului Syslog, sunt definite 18 instrumente (în cea mai recentă versiune - 21). Numele individuale sunt rezervate pentru utilizare ulterioară.

Syslogd daemon se produce rapoarte de marcaje temporale, care sunt înregistrate, în cazul în care fișierul Set syslog.conf selector cu „marca“ înseamnă. Tichetele de timp ajută la identificarea când mașina a eșuat: nu doar "în seara asta", ci "între orele 3:00 și 3:20 am". Acest lucru este foarte util atunci când rezolvarea problemelor care apar în mod regulat. De exemplu, mai multe organizații din sistem au eșuat în mod misterios până când s-au dovedit că noaptea târzii au inclus aspiratoare, în timp ce închideau computerele.

Atunci când sistemul este încărcat puternic, alte mesaje înregistrate conțin adesea timbre de timp. Dar nu se întâmplă întotdeauna, mai ales dimineața.

Nivelurile de severitate sunt enumerate în ordinea descrescătoare a importanței din tabel. 11.3.

Spre deosebire de schema generală acceptată de clasificare a mesajelor, FreeBSD vă permite să selectați mesaje pe baza numelui programului din care sunt primite, mai degrabă decât numele vag-nedefinit al instrumentului. Din păcate, daemonul syslogd nu are informații despre programe, deci este obligat să vizualizeze mesajele dacă încep cu numele programului și cu colonul. De exemplu, un mesaj







va fi recunoscut ca provenind de la daemon numit. În fișierul syslog.conf, secțiunile referitoare la mesajele care provin de la programe specifice sunt precedate de un semn de exclamare și de numele programului. De exemplu, liniile:

determină daemonul syslogd să trimită toate mesajele daemon numite în fișierul /var/log/named.log.

Distribuirea mesajelor bazate pe numele programelor nu este cea mai bună modalitate de a gestiona înregistrarea. Se bazează pe anumite reguli pentru formarea mesajelor, care nu sunt urmate de toate programele.

Argumentele pentru linia de comandă a daemonului syslogd pot fi plasate în fișierul /etc/rc.conf. astfel încât acestea să fie activate automat în timpul inițializării sistemului. De exemplu:

syslogd_flags = "- un 128.138.192.0/20 -a * .cs.colorado.edu"

În această configurație, nu sunt stocate foarte multe informații la nivel local. Rețineți că, dacă calculatorul netloghost este oprit sau nu este disponibil, mesajele de înregistrare vor fi pierdute iremediabil. În acest caz, puteți crea copii locale ale unor mesaje importante.

Într-o organizație în care este instalată o mare cantitate de software local, pot fi înregistrate în mod nejustificat multe mesaje utilizând instrumentul "utilizator" la nivelul "emergente". În exemplul prezentat, se știe că această situație este exclusă folosind expresia user.none din prima linie.

A doua și a treia linie servesc pentru trimiterea tuturor mesajelor importante către serverul de înregistrare central; Mesajele din subsistemul de imprimare și din sistemul de accesare a cardului universitar sunt trimise în altă parte. Cea de-a patra linie organizează trimiterea informațiilor de înregistrare locale și la computerul central. În a cincea linie, informațiile de înregistrare ale sistemului de accesare a cardului sunt trimise către mașina centrală de bolovani. Ultimele două linii asigură stocarea copiilor locale ale mesajelor de eroare ale imprimantei și ale mesajelor de jurnalizare sudo.

Nodul de înregistrare centrală

Acesta este un exemplu pentru un computer netloghost - nodul central de înaltă fiabilitate de înregistrare a unei rețele de dimensiuni medii, care include 400-500 de mașini.

# Fișierul syslog.conf al Facultății de Informatică

# pentru nodul principal de înregistrare

Mesajele de înregistrare din profilurile locale și daemonii syslogd în rețea sunt scrise în fișierele de mai sus. În unele cazuri, informațiile de ieșire ale fiecărui instrument sunt scrise într-un fișier separat.

Calculatorul central de înregistrare generează timbre pentru fiecare mesaj primit. Acest timp nu coincide întotdeauna cu momentul în care mesajul a fost trimis. Dacă sistemul înregistrează computerele situate în diferite fusuri orare sau dacă ceasul sistemului nu este sincronizat, informațiile despre timp nu sunt valide.

Exemplu de informații de ieșire ale sistemului Syslog

Mai jos este un fragment al unuia dintre fișierele jurnal copiate de la nodul principal de înregistrare al Facultății de Calculatoare al Universității din Colorado. Acest computer primește informații de înregistrare de la aproximativ două sute de mașini.

Dec 18 15:12:42 avl8.cs.colorado.edu sbatchd [495]: sbatchd / main: ls_info () nu a reușit: LIM este în jos; încercați mai târziu; încercând.

Dec 18 15:14:28 proxy-l.cs.colorado.edu pop-proxy [27283]: Conectare de la 128.138.198.84

Dec 18 15:14:30 mroe.cs.colorado.edu pingem [271]: maltese-office.cs.colorado.edu nu a raspuns de 42 ori

Dec 18 15:15:05 schwarz.cs.colorado.edu vmunix: Multiple softer-rors: Seen 100 de Softerrs corectate de la SIMM J0201

Dec 18 15:15:05 schwarz.cs.colorado.edu vmunix: AFSR = 0x4c21, AFARO =

0x87ffdd30, AFAR1 = oxb8f8a0

Dec 18 15:15:48 proxy-l.cs.colorado.edu pop-proxy [27285]: Conexiune de la 12.2.209.183

18 decembrie 15:15:50 ultimul mesaj avl8.cs.colorado.edu a fost repetat de 100 de ori

În acest exemplu, informațiile sunt furnizate de mai multe mașini (avl8.proxy-1 .more și schwarz) și din mai multe programe: sbatchd, pop-proxy, pingem și vmunix (kernels). Acordați atenție ultimei linii, care se referă la mesaj, repetată de 100 de ori. Pentru a reduce volumul de fișiere log, sistemul Syslog încearcă, de obicei, să îmbine mesaje duplicate și să le înlocuiască cu un șir rezumat. Cu toate acestea, computerul din care a fost preluat acest fișier acceptă mesaje de înregistrare de pe multe alte computere, astfel încât acest mesaj special poate confunda cititorul puțin. Se referă la mesajul anterior din computerul avl8. nu mesajul anterior din fișierul jurnal.

Vă recomandăm să vă revizuiți în mod regulat fișierele jurnal. Stabiliți ceea ce starea lor este normală, în caz de abatere de la normă observați imediat acest lucru. Mai bine, instalați un program de procesare a fișierelor de jurnale, cum ar fi specimenul. care va face același lucru în mod automat (a se vedea punctul 11.6).

Elaborarea unui sistem de înregistrare pentru o anumită organizație

Pentru o organizație mică, va exista o astfel de configurație suficientă a sistemului de înregistrare, în care importante erori de sistem și avertismente sunt stocate într-un fișier separat pe fiecare calculator. Aceasta a fost cea mai mare parte situația înainte de apariția sistemului Syslog. Fișierul syslog.conf poate fi adaptat pentru fiecare mașină.

O rețea mare necesită înregistrare centralizată. Această abordare vă permite să monitorizați fluxurile de informații și, dacă este norocos, să ascundeți datele primite ca urmare a verificării de la persoana care a hackat sistemul de protecție al oricărui computer din rețea. Hackerii schimba adesea fișierele jurnal de sistem pentru a acoperi pistele; dacă informațiile de înregistrare sunt imediat ascunse, atunci va fi mult mai dificil să se creeze. Amintiți-vă, totuși, că toată lumea poate să apeleze la sistemul Syslog și să creeze înregistrări înregistrate despre care se presupune că au fost trimise de un demon sau de utilitate. În plus, sistemul Syslog utilizează protocolul UDP, care nu este fiabil, deoarece nu garantează livrarea mesajelor. Un paravan de protecție în rețea trebuie să împiedice gazdele externe să trimită mesaje către daemonul syslogd.

În calitate de server-registrar alegeți o mașină care funcționează în mod stabil, este mai bine ca persoanele cu acces limitat și bine controlate și unde sunt puțini utilizatori înregistrați. Alte computere din rețea pot utiliza fișierul de configurare de bază stocat pe site-ul central. Prin urmare, trebuie doar să rulați două versiuni ale fișierului syslog.conf. Acest lucru asigură completitudinea înregistrării, nu transformă-o într-un coșmar pentru administrator.

În unele organizații foarte mari se consideră necesară introducerea unor niveluri suplimentare în ierarhia de înregistrare. Din păcate, versiunea curentă a Syslog salvează numele mașinii de trimitere numai pentru o redirecționare. Dacă mașina client trimite datele de înregistrare la serverul care o trimite la computerul gazdă, acesta din urmă va trata aceste date ca provenind de la server, nu de la client.

Programe care utilizează sistemul syslog

Proiectul microG a lansat ansamblul LineageOS cu implementarea alternativă a serviciilor Google

Ca parte a proiectului LineageOS pentru construirea microG, este pregătită versiunea platformei LineageOS (dezvoltarea continuă a CyanogenMod), care oferă o implementare alternativă gratuită a serviciilor Google.

Fundația SPO a raportat scurgerea datelor de utilizator din cauza unei copii de rezervă uitate

Fundația pentru Software Liber a avertizat asupra incidentului, care a dus la publicarea unor informații referitoare la proiectul Defective By Design, inclusiv.

A fost creată versiunea corectivă a browserului specializat Tor Browser 7.0.9, axat pe asigurarea anonimatului, a securității și a confidențialității. Browserul este construit pe Firefox și.

Împotriva organizației Software Freedom Conservancy a intentat un proces împotriva retragerii mărcii

Software Conservancy Freedom Conservation (SFC) a anunțat primirea unei cereri de rechemare a mărcii lansate de Software Freedom Law Center (SFLC). Afirmația afirmă că este comercială.







Articole similare

Trimiteți-le prietenilor: