Som systemadministratorer, supportgruppepersonale eller simpelthen som et mål for at opretholde de bedste niveauer af kontrol af både serveren og organisationens klientcomputere, reviderer den konstant operativsystemet for at være et skridt foran de fejl, der kan opstå og dermed bevare systemets integritet og tilgængelighed samt dets roller, tjenester og elementer, der er gemt i det.
Hvad er en Linux -revisionNår vi taler om et revisionssystem i et Linux -miljø, taler vi om en mekanisme, der giver en måde at spore oplysninger, der er relevante for sikkerheden i operativsystemet.
En revision består af en undersøgelse af de forskellige dele, der udgør dette system specifikt, med en kritisk evaluering og tester om nødvendigt inden for forskellige interesseområder.
Baseret på dette koncept vil Solvetic i dag analysere to af de bedste værktøjer til revisionsprocessen i Linux: auditd og ausearch.
Det er vigtigt at præcisere, at revisionen ikke giver yderligere sikkerhed til operativsystemet, men kan bruges til at opdage overtrædelser af de sikkerhedspolitikker, der anvendes i systemet og dermed være med tilstrækkeligt kendskab til disse.
RevideretAuditd er Linux -revisionssystemet, der er afhængig af forudkonfigurerede regler for at generere logposter og dermed gemme så mange oplysninger om de hændelser, der sker i systemet som muligt.
Disse indsamlede oplysninger er afgørende for missionskritiske miljøer for at fastslå den overtrædelse af sikkerhedspolitikken og de handlinger, de har foretaget, og dermed tillade, at alle sikkerhedshandlinger og nye politikker, der er oprettet i organisationen, fokuseres på at forbedre hele driftsmiljøet.
Auditd er i stand til at registrere følgende logfiler
- Dato, tid, type og resultat af en begivenhed.
- Emne- og objektfølsomhedsetiketter.
- Forening af en begivenhed med identiteten af den bruger, der udførte begivenheden.
- Implementér alle ændringer til revisionskonfiguration og forsøg på at få adgang til revisionslogfiler.
- Gem alle anvendelser af godkendelsesmekanismer, såsom SSH, Kerberos og andre.
- Det er muligt at skifte til en hvilken som helst betroet database, såsom / etc / passwd.
- Registrerer ethvert forsøg på at importere eller eksportere oplysninger til eller fra systemet.
- Inkluderer eller ekskluderer begivenheder baseret på brugeridentitet, emne- og objektmærker og andre attributter.
KravPå samme måde er brugen af revisionssystemet også et nødvendigt krav for en række certificeringer relateret til sikkerhed, hvis det på et tidspunkt er påkrævet. Revisionen er designet til at opfylde eller overstige kravene i følgende verdensomspændende retningslinjer for overensstemmelse eller certificeringer:
- Controlled Access Protection Profile (CAPP)
- Mærket Security Protection Profile (LSPP)
- Regelsæt Base Access Control (RSBAC)
- National Industrial Security Program Operating Manual (NISPOM)
- Federal Information Security Management Act (FISMA)
- Betalingskortindustri - Datasikkerhedsstandard (PCI -DSS)
- Sikkerhedstekniske implementeringsvejledninger (STIG)
Yderligere fordeleNogle af de yderligere fordele ved at bruge Linux -revisionssystemet er som følger:
- Det kræver ikke eksterne programmer eller processer at køre på et system, der gør det selvforsynende.
- Det er meget konfigurerbart, hvorfor det giver os mulighed for at se enhver drift af systemet, vi ønsker.
- Det hjælper med at opdage eller analysere potentielle kompromiser på sikkerhedsniveau i et system.
- Det er i stand til at fungere som et uafhængigt detektionssystem.
- Det kan arbejde med indtrængningsdetekteringssystemer for at muliggøre indtrængningsdetektering.
- Det er et vigtigt redskab til retsmedicinsk undersøgelsesrevision.
Selvom nogle vilkår kan virke underlige, er dette uden tvivl en af de bedste muligheder, hvis vi er forpligtet til sikkerhed.
1. Linux auditd revisionssystemkomponenter
Revisionssystemet har to grundlæggende komponenter, som er:
- Brugerprogrammer og værktøjer eller værktøjer
- Systemopkaldsbehandling på kernelniveau, som accepterer systemopkald fra brugerpladsapplikationer og sender dem gennem tre typer filtre: bruger, opgave, afslut eller ekskluder.
/var/log/audit/audit.logUd over dette er audispd en hændelsesmultiplexer, der interagerer med auditd og sender begivenheder til andre programmer, der ønsker at udføre hændelsesbehandling i realtid.
Der er flere brugerrumsværktøjer til at styre og hente oplysninger fra revisionssystemet, som er:
AuditctlDet er et værktøj til at kontrollere kernekontrolsystemet.
AusearchDet er et værktøj til at søge efter revisionslogfiler efter bestemte begivenheder.
AureportDet er et værktøj til at oprette rapporter om registrerede hændelser.
Til denne analyse vil vi bruge CentOS 7
2. Installer og konfigurer auditd på CentOS 7
Det første trin er at sikre, at revisionsværktøjet er installeret på systemet ved hjælp af rpm -kommandoen og grep -værktøjet som dette:
rpm -qa | grep revisionResultatet bliver:
Hvis vi ikke har revisionspakkerne, skal vi udføre følgende kommando som rodbrugere:
yum installere revisionNår vi er installeret, skal vi konfigurere, om auditd er aktiveret, for dette vil vi udføre en af følgende kommandoer i deres rækkefølge:
På CentOS eller RHEL 7
systemctl er aktiveret auditdsystemctl status auditdsystemctl start auditd (starter tjenesten) systemctl aktiverer auditd (aktiverer tjenesten)
På CentOS eller RHEL 6
service auditd statusservice auditd start (starter tjenesten) chkconfig auditd on (aktiverer tjenesten)
Vi kan se, at dens status er aktiv.
3. Auditd -konfiguration
For at konfigurere auditd skal vi bruge hovedkonfigurationsfilen /etc/audit/auditd.conf, da det vil være muligt at kontrollere, hvordan tjenesten kører, såsom at definere placeringen af logfilen, det maksimale antal logfiler, postformatet , hvordan man håndterer fulde diske, optagerotation og flere muligheder.
Til dette vil vi bruge den foretrukne editor:
nano /etc/audit/auditd.confDer vil vi se følgende:
Vi kan se, at hver linje giver os mulighed for at angive en bestemt handling, og vi kan ændre den efter behov.
4. Revisionsregler i Linux
Som nævnt ovenfor gør auditd brug af regler til at indsamle specifikke oplysninger fra kernen. Disse regler er grundlæggende auditctl -muligheder, som kan forudkonfigureres i filen /etc/audit/rules.d/audit.rules.
Der kan defineres tre typer revisionsregler, som er:
KontrolreglerDisse gør det muligt at ændre revisionssystemets adfærd og nogle af dets indstillinger.
FilsystemreglerDisse regler tillader revision af adgang til en bestemt fil eller mappe.
SystemopkaldsreglerDisse tillader optagelse af systemopkald foretaget af ethvert program.
For at få adgang til disse regler går vi til følgende rute ved hjælp af den ønskede editor:
nano /etc/audit/rules.d/audit.rulesVi vil se følgende:
I denne fil skal vi i det første afsnit tilføje kontrolregler. Efterfølgende tilføjes revisionsreglerne i det midterste afsnit, og til sidst indeholder det sidste afsnit uforanderlige parametre, der også er kontrolregler.
Nogle eksempler på disse regler er:
Fjern alle tidligere regler
-D
Definer bufferstørrelse
-b 3074
Fejl genererer en panikmulighed
-f 4
Opret maksimalt 120 revisionsmeddelelser pr. Sekund
-r 120
Et eksempel på en regel er som følger:
Der har vi følgende:
Bruges til at angive en fil eller et bibliotek, der skal ses.
-w
TilladelserDe er tilladelserne til at blive registreret, r - til læseadgang, w - til skriveadgang, x - til udførelse af adgang og - til ændring af fil eller direktørattribut.
-s
Identificer regelsætGiver dig mulighed for at angive en valgfri kæde til at identificere, hvilken regel (eller et sæt regler) der oprettede en bestemt registreringspost.
-k
Når reglerne er defineret, bruger vi tastekombinationen Ctrl + O til at gemme filen og Ctrl + X for at afslutte den. Vi tilføjer disse regler og tager dem fra eksemplet ved at udføre følgende linjer som root:
auditctl -w / etc / passwd -p wa -k passwd_changesauditctl -w / etc / group -p wa -k group_changesauditctl -w / etc / sudoers -p wa -k sudoers_changesFor at se de gældende regler udfører vi følgende:
sudo auditctl -l
På denne måde bliver auditd et værdifuldt revisionsværktøj i CentOS 7.
5. Ausearch Linux
Ausearch -værktøjet er designet til at tillade søgning af revisionslogfiler efter bestemte begivenheder baseret på begivenheder og forskellige søgekriterier, såsom hændelsesidentifikator, nøgleidentifikator, CPU -arkitektur, kommandonavn, værtsnavn, gruppenavn eller gruppe -id.
Som standard ser ausearch ud i filen /var/log/audit/audit.log. Du kan angive en anden fil ved hjælp af kommandoen ausearch options -if filnavn. At give flere muligheder i en ausearch -kommando svarer til at bruge AND -operatoren.
For at bruge standardværdien og se de aktuelle logfiler udfører vi en af følgende kommandoer:
cat /var/log/audit/audit.logcat /var/log/audit/audit.log | mindre
Som vi kan se, kan de data, der er repræsenteret her, være forvirrende, hvorfor ausearch gør brug af ausearch -syntaksen (option) til at filtrere disse resultater og opnå en vision, der er meget lettere at administrere.
Vi har muligheder som:
Kontroller udførelsen af proceslogfilerDer kan vi bruge parameteren -p plus PID til at opnå et specifikt resultat:
ausearch -p 579
Kontrol af revisionslogfilen for loginforsøgI dette tilfælde skal vi bruge parameteren -m til at identificere specifikke meddelelser og -sv til at definere de vellykkede resultater.
ausearch -m USER_LOGIN -sv nr
Find brugeraktivitet i Auditd -logfilenTil dette resultat vil vi bruge parameteren -ua plus brugernavnet:
ausearch -ua Solvetic
Find ændringer af brugere, grupper og rollerMed denne mulighed vil det være muligt at gennemgå alle systemændringer, der bruges til brugerkonti, grupper og roller; Vi kan angive flere typer meddelelser adskilt af kommaer som følger:
ausearch -m ADD_USER, DEL_USER, USER_CHAUTHTOK, ADD_GROUP, DEL_GROUP, CHGRP_ID, ROLE_ASSIGN, ROLE_REMOVE -iVi vil se følgende:
Se hjælp til ausearchFor at se de forskellige muligheder i dette værktøj udfører vi følgende:
mand ausearch
Så vi kan se de forskellige muligheder, når vi udfører en komplet og effektiv revision i CentOS eller RedHat.