Sarcinile de administrare în Linux sunt complexe în multe situații datorită cantității de procese, servicii și roluri care sunt executate în fiecare secundă și la aceasta trebuie să adăugăm conectări, instalarea aplicațiilor și fără a uita toate evenimentele pe care fiecare aplicație le înregistrează în distribuția gestionată . Din fericire pentru administratori și personalul de control sau audit, avem diverse comenzi dezvoltate pentru a facilita gestionarea și controlul evenimentelor de sistem și, prin urmare, Solvetic se va concentra pe două dintre cele mai importante comenzi în acest scop. Syslog și Klogd.
Jurnalul este ca un jurnal, unde evenimentele, erorile, modificările și procesele generate de aplicații sau de sistemul de operare sunt înregistrate pentru a putea citi ulterior această înregistrare și a determina ce evenimente au avut loc, în special în caz de erori sau vulnerabilități. Fișierele jurnal ale unui sistem Linux se află în directorul / var / log. Sistemul jurnal Linux este gestionat de doi Daemons:
SYSLOGDGenerează jurnalele de sistem. Syslogd rulează automat când porniți un sistem Linux și este responsabil pentru stocarea rapoartelor despre funcționarea computerului. Acesta primește mesaje de la diferitele părți ale sistemului, kernel și aplicații, le stochează în locații diferite, atât locale, cât și la distanță, urmând un criteriu definit în fișierul de configurare /etc/syslog.conf.
KLOGDGenerați jurnalele kernelului. klogd direcționează mesajele jurnalului kernelului către jurnalul sistemului. Utilizatorul poate controla gestionarea mesajelor kernelului editând fișierul de configurare syslogd. Aceste aplicații klogd sunt utile în special dezvoltatorilor de kernel.
1. Ce este și cum se utilizează Syslogd în jurnalele Linux
Să vedem ce este și cum să utilizați Syslogd
Ce este SyslogdSyslogd (utilitare de înregistrare a sistemului Linux), este o comandă care ne oferă un tip de jurnal folosit de multe programe moderne, datorită Syslogd, fiecare mesaj înregistrat conține cel puțin o dată și un câmp de nume de gazdă, făcând sarcinile de monitorizare mult mai simple și mai ușor de analizat.
Comanda Syslogd are un comportament BSD standard și noile versiuni ale Syslogd interacționează transparent cu versiunea syslog disponibilă în bibliotecile standard, astfel, dacă un binar legat la bibliotecile partajate standard nu funcționează corect, Syslogd va afișa comportamentul acestui binar.
Pasul 1
Fișierul principal de configurare este /etc/syslog.conf, iar jurnalul este de obicei specificat cu intrări de regulă. Selectorul (facilitate.prioritate) și acțiunea sunt specificate în fiecare linie. Ceva de reținut este că distribuțiile moderne Linux, comanda Syslogd a fost înlocuită de noi implementări Syslog precum rsyslog sau syslog-ng, deci dacă dorim să folosim Syslogd îl putem instala cu următoarea comandă:
apt install inetutils-syslogd
MARI
Pasul 2
Acolo trebuie să introducem litera S pentru a confirma descărcarea și instalarea Syslogd. Odată instalat, putem merge la fișierul de configurare al acestuia, care se află în următoarea cale /etc/syslog.conf:
nano /etc/syslog.conf
MARI
Pasul 3
Acolo găsim toate rutele pe care Syslogd le va folosi pentru a capta informațiile. Sintaxa generală pentru Syslogd este după cum urmează:
syslogd [-a socket] [-d] [-f fișier de configurare] [-h] [-l listă gazdă] [-m interval] [-n] [-p socket] [-r] [-s domeniu listă] [-S] [-v] [-x]Pasul 4
Printre opțiunile disponibile avem:
Specificați prize suplimentareAcest argument ne permite să specificăm socketurile suplimentare pe care Syslogd ar trebui să le asculte, este utilizat în cazul în care un anumit daemon este executat într-un mediu chroot (). Va fi posibil să utilizați până la 19 prize suplimentare.
-o priză
Activați modul de depanareacest argument activează modul de depanare care va menține Syslog în prim-plan și astfel va scrie o mulțime de informații de depanare în tty-ul curent.
-d
Fișier de configurareAcest argument specifică un fișier de configurare alternativ în locul fișierului implicit /etc/syslog.conf.
-f fișier de configurare
Blocați redirecționarea mesajelor la distanțăAcest parametru împiedică Syslogd să redirecționeze mesajele primite de la gazde la distanță.
-h
Definiți numele rețeleiDatorită acestui parametru, poate fi indicat un nume de gazdă care trebuie înregistrat numai cu numele său simplu de gazdă și nu cu FQDN.
-l hostlist (Lista gazdelor)
Definiți intervalul de timpFolosind acest parametru putem specifica intervalul de timp de utilizat, în mod implicit valoarea este de 20 de minute.
-intervalul m
Evitați să rulați SyslodgAcest parametru împiedică Syslogd să ruleze în fundal.
-n
Setați socketul de domeniuNe permite să specificăm un socket de domeniu Unix alternativ în loc de / dev / log
-priză p
Permiteți mesajele de rețeaAceastă opțiune va permite instalării să primească mesaje din rețea utilizând o priză de domeniu Internet cu serviciul Syslog.
-r
Definiți numele domeniuluiAcest parametru specifică un nume de domeniu care trebuie eliminat înainte de conectare.
-lista de domenii
Activați înregistrareaActivați înregistrarea detaliată,
-S
Activați versiunea curentăVizualizați versiunea curentă a Syslogd.
-v
MARI
Pasul 5
Când executăm oricare dintre opțiunile disponibile, putem vedea toate sarcinile care sunt executate intern:
MARI
2. Semnale în jurnalele Syslogd Linux
Pasul 1
Syslogd este capabil să reacționeze la un set de semnale, o opțiune pentru a trimite un semnal către Syslogd este prin executarea:
kill -SIGNAL 'cat /var/run/syslogd.pid'Pasul 2
Când acest semnal este executat, diverse componente, cum ar fi. Astfel, Syslogd este o soluție practică pentru a analiza evenimentele Linux.
PREZENTAREAceastă opțiune permite Syslogd să efectueze un proces de repornire în care toate fișierele deschise sunt închise, fișierul de configurare va fi citit din nou și instalarea Syslog va începe din nou.
SIGTERMServiciul va expira.
SIGINT, SIGQUITDacă depanarea este activată, acestea sunt ignorate, altfel Syslogd va expira.
SIGUSR1Activați sau dezactivați depanarea.
SIGCHLDAșteptați noile mesaje.
3. Configurați fișierul Linux syslogd
Syslogd folosește o sintaxă oarecum diferită în fișierul său de configurare decât fișierul sursă BSD tradițional original. Configurarea syslogd se face prin fișierul /etc/syslogd.conf. Prin acest fișier se specifică unde trebuie direcționate diferitele mesaje. Puteți lăsa linii necompletate sau puteți comenta linii întregi cu caracterul „#”
Pentru ca syslog să accepte conexiuni la distanță trebuie să adăugăm parametrul -r
SYSLOGD_OPTIONS = "- r -m 0"În mod normal syslogd ocupă portul 514 trebuie să verificăm dacă firewall-ul nu îl blochează pentru a testa în ce port rulează, de la terminal scriem următorul cod
grep syslog / etc / servicesÎn jurnalele de servicii de pe această linie putem vedea că jurnalele „mail, cron, info” merg în directorul de mesaje
* .info; mail.none; authpriv.none; cron.none / var / log / messagesVom încerca să trimitem un mesaj tuturor jurnalelor cu următoarea comandă
grep "Mesaj de testare" / var / log / *În acest caz, putem vedea că mai multe jurnale sunt cu permisiuni refuzate, prin urmare nu pot fi scrise.
Ar fi necesar să stabilim dacă este necesar să modificăm permisele sau nu în funcție de nevoile noastre. Jurnalele au mai multe niveluri de prioritate a mesajelor (de la cea mai mică la cea mai mare prioritate:
Jurnalele de erori, erori și avertismente
depanare, informații, notificare, avertizare, avertizare, eroare, eroare, crit, alertă, emerg și panică
Jurnale tip mesajeDiverse mesaje de tip jurnal
auth, authpriv, cron, daemon, kern, lpr, mail, mark, știri, securitate, syslog, utilizator, uucpCele mai importante sunt
- var / log / messages: aici vom găsi jurnalele care sosesc cu informații prioritare (informații), notificare (notificare) sau warn (avertisment).
- /var/log/kern.log: jurnalele kernelului, generate de klogd, sunt stocate aici.
- /var/log/auth.log: acest jurnal înregistrează datele de conectare din sistem, orele pe care le facem etc. Încercările nereușite sunt înregistrate în linii cu informații de tipul cheii nevalide sau date de autentificare nevalide.
- / var / log / dmesg: informațiile generate de kernel în timpul pornirii sistemului sunt stocate în acest fișier.
Aceste fișiere jurnal acumulează informații tot timpul, astfel încât, la un moment dat, pot ocupa mult spațiu, pentru a rezolva această problemă, putem să o comprimăm sau să facem backup dacă sunt într-adevăr necesare. Unele modificări de reținut sunt:
Utilizarea wildcardEste folosit ca un wildcard pentru toate prioritățile și serviciile de mai sus, în funcție de utilizarea acestuia (indiferent dacă este înainte sau după caracterul separator `. ').
"*" (Asterisc) =
Nu marcați prioritateaIndică că nu există o prioritate definită pentru serviciul liniei selectate.
"": (Gol, spațiu, nul)
Alegeți diferite serviciiVă permite să specificați mai multe servicii cu același nivel de prioritate pe aceeași linie.
"," (mânca)
Controlați diferite mesajeVă permite să direcționați mesaje de la diverse servicii și priorități către același destinatar.
";" (punct şi virgulă)
Alegeți prioritatea mesajuluiNe oferă posibilitatea de a stoca mesaje numai cu prioritatea specificată exact.
"=" (Egal)
4. Ce este și cum se utilizează Klogd în jurnalele Linux
Ce este KlogdKlogd (Kernel Log Daemon), este un daemon de sistem care a fost dezvoltat pentru a intercepta și înregistra mesaje din kernel-ul Linux. Funcția comenzii Klogd este axată pe captarea mai multor instanțe de nucleu, cum ar fi sursa, prioritizarea și rezoluția adreselor de nucleu.
În mediile Linux avem două surse principale de informații despre registrul de nucleu, cum ar fi:
- Sistemul de fișiere / proc
- Interfața syscall (sys_syslog)
Când se primește un mesaj de la kernel, demonul Klogd va citi nivelul de prioritate atribuit și îi va oferi nivelul de prioritate pe baza mesajului syslog. Când utilizați Klogd, va fi, de asemenea, posibil să schimbați afișarea mesajelor kernelului în consola sistemului, într-un kernel comun, nivelul implicit al jurnalului consolei este setat la 7, astfel, toate mesajele cu un nivel de prioritate mai mic la 7 (cea mai mare prioritate ) va apărea pe consolă. Mesajele de nivel 7 de prioritate sunt considerate mesaje de „depanare” și, prin urmare, nu vor apărea pe consolă pentru a nu copleși celelalte evenimente ale nucleului cu informații.
Klogd are o caracteristică numită Rezoluție adresă kernel prin care, dacă nucleul detectează o stare de eroare internă, un protocol general de eroare de protecție este activat automat. Aceasta face parte din procedura de manipulare GPF, în care nucleul tipărește un raport de stare care indică starea procesorului atunci când este generată defecțiunea, în cadrul acestui rezultat vom vedea detalii precum conținutul registrelor microprocesorului, conținutul stiva de kernel și o monitorizare a funcțiilor care se executau înainte de eroare.
Procesul de rezolvare a adreselor numerice din rezultatele defecțiunii de protecție se poate face manual sau prin intermediul programului ksymoops care este inclus în sursele kernel-ului. Comanda Klogd acceptă problema diagnosticării defecțiunilor de protecție în modulele curente care pot fi încărcate cu kernel.
Pasul 1
La fel ca Syslogd, Klog a fost înlocuit în distribuțiile actuale cu comenzi mai dinamice, așa că pentru instalarea sa vom executa următoarele. Acolo introducem litera S pentru a confirma descărcarea și instalarea.
apt install busybox-syslogd
MARI
Pasul 2
Sintaxa Klogd este după cum urmează:
klogd [-cn] [-d] [-f fname] [-iI] [-n] [-o] [-p] [-s] [-k fname] [-v] [-x] [-2 ]Pasul 3
Aceste opțiuni sunt:
Definiți nivelul jurnaluluiAcest parametru definește nivelul de înregistrare implicit pentru mesajele consolei la n.
-c n
Modul de depanareaceastă opțiune activează modul de depanare.
-d
Jurnalul mesajelorfișierul înregistrează mesaje la numele fișierului specificat în locul instalării syslog.
-F
Identificați demonii care ruleazăidentifică demonul klogd care rulează în prezent. Ambele comutatoare controlează încărcarea / reîncărcarea informațiilor despre simbol.
-i -I
Opriți klogd în fundalÎmpiedicați Klogd să ruleze în fundal.
-n
Citire completă pe tampoanele de mesajeAceastă opțiune permite Klogd să citească și să înregistreze toate mesajele găsite în bufferele de mesaje ale nucleului.
-sau
Forțează apelul de sistemForțează comanda Klogd să utilizeze interfața de apel de sistem pentru a memora bufferele de mesaje.
-s
Vezi versiunea KlogdImprimați versiunea Klogd.
-v
MARI
Pasul 4
Dacă vrem să citim toate evenimentele după autentificare, vom executa următoarele:
klogd -o -f ./krnl.msgPasul 5
După aceasta, va fi posibil să accesați conținutul fișierului menționat:
MARI
5. Semnalele Klogd pe Linux
Comanda Klogd poate răspunde la opt (8) semnale care sunt: SIGHUP, SIGINT, SIGKILL, SIGTERM, SIGTSTP, SIGUSR1, SIGUSR2 și SIGCONT. Semnalele SIGINT, SIGKILL, SIGTERM și SIGHUP permit demonului să închidă sursele jurnalului kernel și să termine procesul corect în timp ce semnalele SIGTSTP și SIGCONT sunt utilizate pentru a porni și opri jurnalul kernel.
Pasul 1
De exemplu, dacă dorim să demontăm sistemul de fișiere / proc, trebuie să executăm următoarele comenzi:
# kill -TSTP pid # umount / proc # kill -CONT pidPasul 2
Unele fișiere de utilizat cu Klogd sunt:
- / proc / kmsg: este fișierul sursă pentru mesajele kernel klogd
- /var/run/klogd.pid: este fișierul care conține ID-ul procesului klogd
- /boot/System.map, /System.map, /usr/src/linux/System.map - Acestea sunt locațiile implicite pentru hărțile sistemului kernel.
După cum putem vedea, avem aceste două comenzi utile și esențiale pentru o gestionare corectă și completă a evenimentelor kernel în Linux.