În calitate de administratori de sistem, personal de grup de asistență sau pur și simplu ca măsură de menținere a celor mai bune niveluri de control atât a serverului, cât și a computerelor client ale organizației, acesta auditează în mod constant sistemul de operare pentru a fi cu un pas înaintea eșecurilor care pot apărea și, astfel, păstrează integritatea și disponibilitatea sistemului, precum și rolurile, serviciile și elementele stocate în acesta.
Ce este un audit LinuxCând vorbim despre un sistem de audit într-un mediu Linux, vorbim despre un mecanism care oferă o modalitate de urmărire a informațiilor relevante pentru securitate în sistemul de operare menționat.
Un audit este compus dintr-o examinare a diferitelor părți care alcătuiesc sistemul în mod specific, cu o evaluare critică și teste, dacă este necesar, în diferite domenii de interes.
Pe baza acestui concept, Solvetic va analiza astăzi două dintre cele mai bune instrumente pentru procesul de audit în Linux: auditd și ausearch.
Este important să se clarifice faptul că auditul nu oferă securitate suplimentară sistemului de operare, dar poate fi utilizat pentru a descoperi încălcările politicilor de securitate utilizate în sistem și, astfel, să aibă cunoștințe adecvate despre acestea.
AuditdAuditd este sistemul de audit Linux care se bazează pe reguli preconfigurate pentru a genera intrări de jurnal și astfel stoca cât mai multe informații despre evenimentele care se întâmplă în sistem.
Aceste informații colectate sunt cruciale pentru mediile critice ale misiunii, pentru a determina încălcarea politicii de securitate și acțiunile pe care le-au întreprins și, astfel, toate acțiunile de securitate și noile politici create în organizație să fie axate pe îmbunătățirea întregului mediu de operare.
Auditd este capabil să înregistreze următoarele fișiere jurnal
- Data, ora, tipul și rezultatul unui eveniment.
- Etichete de sensibilitate pentru subiect și obiect.
- Asocierea unui eveniment cu identitatea utilizatorului care a executat evenimentul.
- Implementați toate modificările pentru configurarea auditului și încercați să accesați fișierele jurnal de audit.
- Stocați toate utilizările mecanismelor de autentificare, cum ar fi SSH, Kerberos și altele.
- Este posibil să treceți la orice bază de date de încredere, cum ar fi / etc / passwd.
- Înregistrează orice încercare de import sau export de informații către sau din sistem.
- Include sau exclude evenimente bazate pe identitatea utilizatorului, subiect și etichete obiect și alte atribute.
CerințeÎn același mod, utilizarea sistemului de audit este, de asemenea, o cerință necesară pentru o serie de certificări legate de securitate, dacă este necesară la un moment dat. Auditul este conceput pentru a îndeplini sau a depăși cerințele următoarelor linii directoare sau certificări de conformitate la nivel mondial:
- Profil de protecție a accesului controlat (CAPP)
- Profil de protecție de securitate etichetat (LSPP)
- Controlul accesului de bază al setului de reguli (RSBAC)
- Manualul de operare al Programului Național de Securitate Industrială (NISPOM)
- Legea federală privind gestionarea securității informațiilor (FISMA)
- Industria cardurilor de plată - Standard de securitate a datelor (PCI-DSS)
- Ghiduri de implementare tehnică de securitate (STIG)
Beneficii aditionaleUnele dintre beneficiile suplimentare ale utilizării sistemului de audit Linux sunt următoarele:
- Nu necesită programe sau procese externe pentru a rula pe un sistem care îl face autosuficient.
- Este extrem de configurabil, motiv pentru care ne permite să vedem orice funcționare a sistemului dorim.
- Ajută la detectarea sau analizarea potențialelor compromisuri, la nivel de securitate, ale unui sistem.
- Este capabil să funcționeze ca un sistem de detectare independent.
- Poate funcționa cu sisteme de detectare a intruziunilor pentru a permite detectarea intruziunilor.
- Este un instrument vital pentru auditul investigației criminalistice.
Deși unii termeni pot părea ciudați, dacă suntem dedicați securității, aceasta este, fără îndoială, una dintre cele mai bune opțiuni.
1. Componente ale sistemului de audit Linux și audit
Sistemul de audit are două componente de bază care sunt:
- Aplicații de utilizator și utilitare sau instrumente
- Procesarea apelurilor de sistem la nivel de nucleu, care acceptă apelurile de sistem din aplicațiile de spațiu utilizator și le trece prin trei tipuri de filtre: utilizator, sarcină, ieșire sau excludere.
/var/log/audit/audit.logÎn plus, audispd este un multiplexor de evenimente care interacționează cu auditd și trimite evenimente către alte programe care doresc să efectueze procesarea evenimentelor în timp real.
Există mai multe instrumente de spațiu utilizator pentru a gestiona și prelua informații din sistemul de audit care sunt:
AuditctlEste un utilitar pentru a controla sistemul de audit al nucleului.
Căutare automatăEste un utilitar pentru a căuta fișiere jurnal de audit pentru evenimente specifice.
AureportEste un utilitar pentru crearea de rapoarte despre evenimente înregistrate.
Pentru această analiză vom folosi CentOS 7
2. Instalați și configurați auditd pe CentOS 7
Primul pas este să vă asigurați că instrumentul de audit este instalat pe sistem utilizând comanda rpm și utilitarul grep astfel:
rpm -qa | grep auditRezultatul va fi:
În cazul în care nu avem pachetele de audit, trebuie să executăm următoarea comandă ca utilizatori root:
yum instalați auditOdată instalat trebuie să configurăm dacă auditd este activat, pentru aceasta vom executa oricare dintre următoarele comenzi în ordinea lor:
Pe CentOS sau RHEL 7
systemctl este activat auditdsystemctl status auditdsystemctl start auditd (pornește serviciul) systemctl enable auditd (activează serviciul)
Pe CentOS sau RHEL 6
service auditd statusservice auditd start (pornește serviciul) chkconfig auditd on (activează serviciul)
Putem vedea că statutul său este activ.
3. Configurare Auditd
Pentru a configura auditd trebuie să folosim fișierul principal de configurare /etc/audit/auditd.conf, deoarece va fi posibil să se controleze modul în care rulează serviciul, cum ar fi definirea locației fișierului jurnal, numărul maxim de fișiere jurnal, formatul de înregistrare , cum să gestionați discurile complete, rotația înregistrărilor și mai multe opțiuni.
Pentru aceasta vom folosi editorul preferat:
nano /etc/audit/auditd.confAcolo vom vedea următoarele:
Putem vedea că fiecare linie ne permite să indicăm o acțiune specifică și o putem schimba după cum este necesar.
4. Reguli de audit în Linux
După cum sa menționat mai sus, auditd folosește reguli pentru a colecta informații specifice din nucleu. Aceste reguli sunt practic opțiuni auditctl care pot fi preconfigurate în fișierul /etc/audit/rules.d/audit.rules.
Există trei tipuri de reguli de audit care pot fi definite care sunt:
Reguli de controlAcestea permit modificarea comportamentului sistemului de audit și a unor setări ale acestuia.
Regulile sistemului de fișiereAceste reguli permit auditul accesului la un anumit fișier sau director.
Reguli de apelare a sistemuluiAcestea permit înregistrarea apelurilor de sistem efectuate de orice program.
Pentru a accesa aceste reguli vom merge la următorul traseu folosind editorul dorit:
nano /etc/audit/rules.d/audit.rulesVom vedea următoarele:
În acest fișier, în prima secțiune trebuie să adăugăm reguli de control. Ulterior, adăugați regulile de audit în secțiunea din mijloc și, în cele din urmă, ultima secțiune conține parametri de imuabilitate, care sunt, de asemenea, reguli de control.
Câteva exemple ale acestor reguli sunt:
Eliminați toate regulile anterioare
-D
Definiți dimensiunea bufferului
-b 3074
Eșecul generează o opțiune de panică
-f 4
Creați maximum 120 de mesaje de audit pe secundă
-r 120
Un exemplu de regulă este următorul:
Acolo avem următoarele:
Folosit pentru a specifica un fișier sau un director de urmărit.
-w
PermisiuniAcestea sunt permisiunile de înregistrat, r - pentru accesul la citire, w - pentru accesul la scriere, x - pentru accesul la executare și - pentru schimbarea fișierului sau a atributului director.
-p
Identificați setul de reguliVă permite să setați un lanț opțional pentru a identifica care regulă (sau un set de reguli) a creat o intrare de registru specifică.
-k
Odată definite regulile, folosim combinația de taste Ctrl + O pentru a salva fișierul și Ctrl + X pentru a ieși din acesta. Vom adăuga aceste reguli, luând cele din exemplu executând următoarele linii ca rădăcină:
auditctl -w / etc / passwd -p wa -k passwd_changesauditctl -w / etc / group -p wa -k group_changesauditctl -w / etc / sudoers -p wa -k sudoers_changesPentru a vedea regulile actuale vom executa următoarele:
sudo auditctl -l
În acest fel, auditd devine un instrument valoros de audit în CentOS 7.
5. Ausearch Linux
Utilitarul ausearch a fost conceput pentru a permite căutarea fișierelor jurnal de audit pentru evenimente specifice bazate pe evenimente și diferite criterii de căutare, cum ar fi identificatorul evenimentului, identificatorul cheii, arhitectura CPU, numele comenzii, numele gazdei, numele grupului sau ID-ul grupului.
În mod implicit, ausearch arată în fișierul /var/log/audit/audit.log. Puteți specifica un alt fișier utilizând opțiunea ausearch -if nume de fișier. Furnizarea de opțiuni multiple într-o comandă ausearch este echivalentă cu utilizarea operatorului AND.
Pentru a utiliza valoarea implicită și a vedea jurnalele curente, vom executa una dintre următoarele comenzi:
cat /var/log/audit/audit.logcat /var/log/audit/audit.log | Mai puțin
După cum putem vedea, datele reprezentate aici pot fi confuze, motiv pentru care ausearch folosește sintaxa ausearch (opțiune) pentru a filtra aceste rezultate și a obține o viziune mult mai ușor de gestionat.
Avem opțiuni precum:
Verificați execuția jurnalelor de procesAcolo putem folosi parametrul -p plus PID pentru a obține un rezultat specific:
ausearch -p 579
Verificarea fișierului jurnal de audit pentru încercări de conectareÎn acest caz, trebuie să folosim parametrul -m pentru a identifica mesaje specifice și -sv pentru a defini rezultatele reușite.
ausearch -m USER_LOGIN -sv nr
Găsiți activitatea utilizatorului în fișierul jurnal AuditdPentru acest rezultat vom folosi parametrul -ua plus numele de utilizator:
ausearch -ua Solvetic
Găsiți modificări pentru utilizatori, grupuri și roluriCu această opțiune va fi posibil să revizuiți toate modificările de sistem utilizate cu conturile de utilizator, grupurile și rolurile; Putem specifica mai multe tipuri de mesaje separate prin virgule, după cum urmează:
ausearch -m ADD_USER, DEL_USER, USER_CHAUTHTOK, ADD_GROUP, DEL_GROUP, CHGRP_ID, ROLE_ASSIGN, ROLE_REMOVE -iVom vedea următoarele:
A se vedea ajutorul de căutarePentru a vedea diferitele opțiuni ale acestui utilitar vom executa următoarele:
om ausearch
Deci, putem vedea diferitele opțiuni atunci când efectuăm un audit complet și eficient în CentOS sau RedHat.