- 1. Cunoașteți sistemul de audit Linux
- 2. Verificați instalarea sistemului de audit
- 3. Configurați sistemul de audit în CentOS 7
- 4. Înțelegeți jurnalele de audit ale sistemului în CentOS 7
- 5. Căutați evenimente de audit pentru evenimente specifice
- 6. Generați rapoarte de audit
- 7. Cum se analizează procesele individual
Atunci când rolurile și funcțiile noastre implică gestionarea tuturor elementelor infrastructurii corporative, fie la nivel de rețea, fie de sistem, trebuie să avem instrumente utile pentru a monitoriza, urmări evenimentele și a asigura performanța optimă a tuturor componentelor sale.
Astăzi vom revedea cum să implementați și să utilizați sistemul de audit Linux, un instrument pentru mulți necunoscuți. Știm că există utilități terțe care ne permit să gestionăm diferiți parametri în cadrul sistemului, dar acest utilitar depășește ceea ce avem nevoie și vom analiza de ce.
Pentru acest tutorial vom analiza utilitatea pe un mediu CentOS 7.
1. Cunoașteți sistemul de audit Linux
Cu sistemul de audit putem fi actualizați cu privire la informațiile esențiale de securitate din sistemul nostru.
Sistemul de audit ne oferă rapoarte despre toate evenimentele care apar în sistem pe baza unor reguli predefinite; Este important să clarificăm faptul că, cu sistemul de audit, nu adăugăm securitate la CentOS 7, dar ne permite să analizăm ce defecte are sistemul pentru a lua măsuri corective.
Informații capabile de analiză
- Modificări în baza de date, de exemplu schimbări de cale / etc / passwd.
- Sistemul de audit oferă data, ora și tipul evenimentului.
- Încearcă să importe sau să exporte informații în cadrul sistemului.
- Mecanisme de autentificare a utilizatorilor.
- Toate modificările aduse modificărilor de audit și încercările de a accesa jurnalele de audit, printre altele.
2. Verificați instalarea sistemului de audit
În cadrul sistemului de audit avem două scheme importante de luat în considerare:
1. Nucleul sistemului de audit preia toate evenimentele procesate de utilizator și trimite aceste informații către demonul de audit.
2. Demonul de audit preia aceste informații și creează înregistrările.
Sistemul de audit gestionează două pachete: audit Da audit-libsAcestea sunt instalate implicit în CentOS 7, putem verifica instalarea acestora folosind următoarea comandă:
sudo yum audit audit-libs
În cazul în care nu le avem, putem instala sistemul de audit folosind următoarea comandă:
sudo yum audit de instalareOdată ce au fost instalate, trebuie să vedem următorul text:
Pachete instalate audit.x86_64 audit-libs.x86_64Să trecem la configurația sistemului.
3. Configurați sistemul de audit în CentOS 7
Odată ce am validat că avem pachetele necesare, vom modifica configurația fișierului auditd.conf și în acest fișier avem opțiunea de a configura registrele, evenimentele și altele. Pentru a accesa acest fișier vom folosi următoarea comandă:
sudo nano /etc/audit/auditd.confVa fi afișată următoarea fereastră:
Cei mai importanți parametri
- num_logs: Permite definirea numărului de jurnale care trebuie înregistrate în echipament.
- max_log_file: Folosind acest parametru putem defini dimensiunea maximă a unui jurnal.
- space_left: Putem seta cantitatea de spațiu liber pe disc.
- disc_full_action: Putem defini o anumită acțiune pentru momentul în care discul este plin.
După cum putem vedea, putem ajusta diverși parametri. De exemplu, dacă dorim ca numărul jurnalelor să fie 12, ștergem pur și simplu valoarea implicită (5) și adăugăm cea dorită (12). Dacă vrem să schimbăm dimensiunea jurnalelor la 20, pur și simplu schimbăm valoarea implicită (6) la cea necesară (20).
Salvăm modificările folosind combinația Ctrl + O și ieșim din editor folosind combinația Ctrl + X. Odată ce modificările au fost procesate, trebuie să repornim serviciul de audit folosind comanda:
sudo service auditd restartNotăDacă dorim să edităm parametrii regulilor, trebuie să edităm fișierul audit.rules folosind următoarea comandă:
/etc/audit/rules.d/audit.rules
4. Înțelegeți jurnalele de audit ale sistemului în CentOS 7
În mod implicit, sistemul de audit stochează toate evenimentele care au avut loc în CentOS în cale /var/log/audit/audit.log iar aceste fișiere conțin o mulțime de informații și cod care poate să nu fie atât de ușor de înțeles pentru mulți dintre noi, dar Solvetic are grijă să rezume puțin aceste fișiere.
Pentru a demonstra cum funcționează sistemul de audit, am creat o regulă numită sshconfigchange și poate fi creată folosind următoarea comandă:
sudo auditctl -w / etc / ssh / sshd_config -p rwxa -k sshconfigchangePentru a vedea regula, folosim următoarea sintaxă:
sudo cat / etc / ssh / sshd_config
Acum vom vedea jurnalul creat de instrumentul de audit al sistemului introducând următoarele:
sudo nano /var/log/audit/audit.log
Ne vom baza pe trei (3) înregistrări vitale:
- SYSCALL
- CWD
- CALE
Aceste fișiere sunt compuse după cum urmează:
- Cuvânt cheie: Se referă la numele procesului (PATH, CWD etc.)
- Timestamp-ul: Se referă la data și ora (1469708505.235)
- Merge: Constă din ID-ul evenimentului în cauză (153)
Eveniment SYSCALL
SYSCALL se referă la mesajul generat de un apel kernel din sistemul de audit, msg field = audit (1469708505.235:153):
În marca de timp și câmpul ID vedem că aceste trei înregistrări au aceeași valoare (1469708505.235: 153) care indică faptul că aceste trei înregistrări au fost stocate cu același eveniment de audit.
câmpul arcului se referă la arhitectura mașinii, în acest caz 40000003 indică faptul că este i386, dacă ar fi valoarea c000003e s-ar referi la o mașină x86_64.
Câmp Syscall menționează tipul de apel trimis către sistem. Valoarea poate varia, în acest caz este 5. Putem folosi comanda sudo ausyscall 5 pentru a vedea starea serviciului (Deschis).
Există mai mult de 300 de valori, dacă vrem să vedem ce înseamnă valorile în general, putem folosi comanda:
sudo ausyscall -dumpȘi vom vedea toate valorile și semnificația lor:
Câmpul de succes Ne spune dacă apelul evenimentului a avut succes sau nu, da sau nu. Putem localiza evenimentul SYSCALL și derulați la stânga pentru a vedea alte rapoarte incluse.
câmp uid se referă la utilizatorul care a început serviciul de audit, în acest caz este uid = 0.
câmp de comunicare se referă la comanda care a fost utilizată pentru a afișa mesajul, așa că vedem că apare ca comm = "pisică".
câmp exe Acesta indică calea către comanda care a generat evenimentul de audit, putem vedea în acest exemplu că este exe = "/ usr / bin / cat".
Eveniment CWD
În cazul CWD putem observa că nu există aceleași informații ca în SYSCALL, aici avem directorul utilizat pentru salvarea evenimentelor, CWD- Director de lucru curent, de aceea vedem valoarea cwd = ”/ home / solvetic”.
Eveniment PATH
În ultimul eveniment, PATH, vedem că câmpul de nume care se referă la fișierul sau directorul care a fost utilizat pentru a crea auditul, în acest caz vedem următoarele: nume = "/ etc / ssh / sshd_config".
5. Căutați evenimente de audit pentru evenimente specifice
Unul dintre cele mai interesante moduri în care putem căuta un eveniment în CentOS 7 este folosirea sintaxei:
sudo ausearch -m Event_name --start today -iAceastă comandă ne permite să filtrăm un anumit eveniment și să nu trebuie să căutăm întregul fișier de evenimente, deoarece acesta este extins. În acest caz, vom căuta toate evenimentele asociate autentificării, prin urmare vom introduce următoarele:
sudo ausearch -m LOGIN --start today -iRezultatul obținut va fi următorul:
De asemenea, este posibil să filtrați căutarea după ID-ul evenimentului pentru aceasta, vom folosi următoarea sintaxă:
sudo ausearch -a Event_IDÎn continuare vom vedea cum se generează rapoarte.
6. Generați rapoarte de audit
Unul dintre modurile în care putem gestiona mai bine evenimentele este cu un raport detaliat despre ceea ce se întâmplă în CentOS 7 și cu sistemul de audit putem genera rapoarte simple și clare de înțeles pentru a ne ajuta în gestionarea noastră. Pentru aceasta vom folosi comanda:
sudo aureport -x -sumaryȘi vom vedea rezultatul obținut:
Prima coloană pe care o vedem indică de câte ori a fost executată comanda, iar a doua coloană indică ce comandă a fost executată. În același mod putem genera un raport cu evenimentele eșuate folosind comanda:
sudo aureport - a eșuat
Dacă dorim să generăm un raport cu numele utilizatorilor și apelurile de sistem, vom folosi comanda:
sudo aureport -f -i
7. Cum se analizează procesele individual
Este posibil ca uneori să fim nevoiți să analizăm procesele individual și nu un întreg director, pentru aceasta vom folosi autrace, acest instrument ne permite să monitorizăm apelurile de sistem către un anumit proces. Rezultatele traseului automat sunt stocate în cale:
/var/log/audit/audit.logDe exemplu vom analiza calea / bin / data, pentru aceasta vom folosi următoarele:
sudo autrace / bin / date
Vedem că a fost creat evenimentul cu ID 16541. Acum continuăm să introducem următoarea comandă pentru a vedea rezumatul evenimentului:
udo ausearch -p 16541 --raw | aureport -f -i
În acest fel putem analiza fișierele individual. În următorul link putem vedea toate tipurile de înregistrări care pot fi auditate de sistemul de audit în CentOS 7.
În acest fel, vedem cum sistemul de audit din CentOS 7 ne poate ajuta să gestionăm și să supraveghem evenimentele care apar în computerele noastre și astfel să ne asigurăm că avem un sistem sigur, stabil și optim.
În cele din urmă, vă lăsăm un tutorial despre instrumentul gratuit WinAudit, pentru a efectua audituri în Windows:
Audit cu WinAudit