Hur man granskar Linux med Auditd Tool och Ausearch

Som systemadministratörer, supportgruppspersonal eller helt enkelt som ett mått på att upprätthålla de bästa kontrollnivåerna för både servern och organisationens klientdatorer, granskar den ständigt operativsystemet för att vara ett steg före de fel som kan uppstå och därmed bevara systemets integritet och tillgänglighet samt dess roller, tjänster och element som lagras i det.

Vad är en Linux -granskningNär vi pratar om ett granskningssystem i en Linux -miljö talar vi om en mekanism som ger ett sätt att spåra information som är relevant för säkerheten i nämnda operativsystem.

En revision består av en undersökning av de olika delarna som utgör systemet specifikt, med en kritisk utvärdering och tester vid behov inom olika intresseområden.

Baserat på detta koncept kommer Solvetic idag att analysera två av de bästa verktygen för revisionsprocessen i Linux: auditd och ausearch.

Det är viktigt att förtydliga att granskningen inte ger ytterligare säkerhet till operativsystemet utan kan användas för att upptäcka kränkningar av de säkerhetspolicyer som används i systemet och därmed ha tillräcklig kunskap om dessa.

GranskadAuditd är Linux -granskningssystemet som förlitar sig på förkonfigurerade regler för att generera loggposter och därmed lagra så mycket information om de händelser som händer i systemet som möjligt.

Denna information som samlas in är avgörande för uppdragskritiska miljöer för att fastställa den säkerhetspolitiskt överträdande och de åtgärder som de vidtagit och därmed låta alla säkerhetsåtgärder och nya policyer som skapats i organisationen fokuseras på att förbättra hela driftsmiljön.

Auditd kan spela in följande loggfiler

  • Datum, tid, typ och resultat av en händelse.
  • Ämnes- och objektkänslighetsetiketter.
  • Associering av en händelse med identiteten på användaren som utförde händelsen.
  • Distribuera alla ändringar av granskningskonfigurationen och försök komma åt granskningsloggfiler.
  • Lagra alla användningsområden för autentiseringsmekanismer, till exempel SSH, Kerberos och andra.
  • Det är möjligt att byta till en betrodd databas, till exempel / etc / passwd.
  • Registrerar alla försök att importera eller exportera information till eller från systemet.
  • Inkluderar eller utesluter händelser baserade på användaridentitet, ämnes- och objekttaggar och andra attribut.

KravPå samma sätt är användningen av revisionssystemet också ett nödvändigt krav för en rad certifieringar relaterade till säkerhet om det krävs någon gång. Granskningen är utformad för att uppfylla eller överträffa kraven i följande globala riktlinjer för överensstämmelse eller certifieringar:

  • Controlled Access Protection Profile (CAPP)
  • Märkt säkerhetsskyddsprofil (LSPP)
  • Rule Set Base Access Control (RSBAC)
  • National Industrial Security Program Operating Manual (NISPOM)
  • Federal Information Security Management Act (FISMA)
  • Betalkortindustri - Datasäkerhetsstandard (PCI -DSS)
  • Säkerhetstekniska implementeringsguider (STIG)

Ytterligare fördelarNågra av de ytterligare fördelarna med att använda Linux -revisionssystemet är följande:

  • Det kräver inte externa program eller processer för att köra på ett system som gör det självförsörjande.
  • Det är mycket konfigurerbart, varför det gör att vi kan se alla funktioner i systemet som vi vill ha.
  • Det hjälper till att upptäcka eller analysera potentiella kompromisser på säkerhetsnivå för ett system.
  • Det kan fungera som ett oberoende detektionssystem.
  • Det kan fungera med intrångsdetekteringssystem för att möjliggöra intrångsdetektering.
  • Det är ett viktigt verktyg för granskning av rättsmedicinsk utredning.

Även om vissa termer kan verka konstiga, är detta utan tvekan ett av de bästa alternativen om vi är engagerade i säkerhet.

1. Linux auditd revisionssystemkomponenter


Revisionssystemet har två grundläggande komponenter som är:
  • Användarprogram och verktyg eller verktyg
  • Systemanropsbehandling på kärnnivå, som accepterar systemanrop från användarutrymmesapplikationer och skickar dem genom tre typer av filter: användare, uppgif.webpt, avsluta eller utesluta.
Den viktigaste delen är användarrevisionsdemon (auditd) som samlar information baserad på förkonfigurerade regler från kärnan och genererar poster i en loggfil: standardloggen är:
 /var/log/audit/audit.log
Utöver detta är audispd en händelse multiplexer som interagerar med auditd och skickar händelser till andra program som vill utföra händelsehantering i realtid.

Det finns flera verktyg för användarutrymme för att hantera och hämta information från revisionssystemet som är:

AuditctlDet är ett verktyg för att styra kärnrevisionssystemet.
AusearchDet är ett verktyg för att söka efter granskningsloggfiler efter specifika händelser.
AureportDet är ett verktyg för att skapa rapporter om inspelade händelser.

För denna analys kommer vi att använda CentOS 7

2. Installera och konfigurera auditd på CentOS 7


Det första steget är att se till att granskningsverktyget är installerat på systemet med kommandot rpm och grep -verktyget så här:
 rpm -qa | grep revision
Resultatet blir:

Om vi ​​inte har granskningspaket måste vi köra följande kommando som rotanvändare:

 yum installera granskning
När vi väl har installerat måste vi konfigurera om auditd är aktiverat, för detta kommer vi att utföra något av följande kommandon i deras ordning:

På CentOS eller RHEL 7

 systemctl är aktiverad auditd systemctl status auditdsystemctl start auditd (startar tjänsten) systemctl aktiverar auditd (aktiverar tjänsten)

På CentOS eller RHEL 6

 service auditd statusservice auditd start (startar tjänsten) chkconfig auditd on (aktiverar tjänsten)

Vi kan se att dess status är aktiv.

3. Auditd -konfiguration


För att konfigurera auditd måste vi använda huvudkonfigurationsfilen /etc/audit/auditd.conf eftersom det kommer att vara möjligt att styra hur tjänsten körs, till exempel att definiera loggfilens plats, det maximala antalet loggfiler, postformatet , hur man hanterar fulla skivor, inspelningsrotation och fler alternativ.
För detta använder vi den föredragna redigeraren:
 nano /etc/audit/auditd.conf
Där kommer vi att se följande:

Vi kan se att varje rad tillåter oss att indikera en specifik åtgärd och vi kan ändra den efter behov.

4. Granskningsregler i Linux


Som nämnts ovan använder auditd regler för att samla in specifik information från kärnan. Dessa regler är i princip auditctl -alternativ som kan förkonfigureras i filen /etc/audit/rules.d/audit.rules.

Det finns tre typer av revisionsregler som kan definieras som är:

KontrollreglerDessa gör det möjligt att ändra beteendet hos revisionssystemet och några av dess inställningar.
Filsystemets reglerDessa regler tillåter granskning av åtkomst till en specifik fil eller katalog.
SystemanropsreglerDessa tillåter inspelning av systemanrop från alla program.

För att komma åt dessa regler går vi till följande rutt med önskad redaktör:

 nano /etc/audit/rules.d/audit.rules
Vi kommer att se följande:

I den här filen måste vi i det första avsnittet lägga till kontrollregler. Lägg sedan till revisionsreglerna i mitten och slutligen innehåller det sista avsnittet oföränderliga parametrar som också är kontrollregler.

Några exempel på dessa regler är:

Ta bort alla tidigare regler

 -D

Definiera buffertstorlek

 -b 3074

Misslyckande genererar ett panikalternativ

 -f 4

Skapa maximalt 120 granskningsmeddelanden per sekund

 -r 120

Ett exempel på en regel är följande:

Där har vi följande:

Används för att ange en fil eller katalog att titta på.

 -w

BehörigheterDe är behörigheterna att registreras, r - för läsåtkomst, w - för skrivåtkomst, x - för att utföra åtkomst och - för ändring av fil eller regissörsattribut.

 -s

Identifiera uppsättning reglerLåter dig ange en valfri kedja för att identifiera vilken regel (eller en uppsättning regler) som skapade en specifik registerpost.

 -k

När reglerna har definierats använder vi tangentkombinationen Ctrl + O för att spara filen och Ctrl + X för att lämna den. Vi kommer att lägga till dessa regler och ta de i exemplet genom att köra följande rader 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_changes
För att se de nuvarande reglerna kommer vi att utföra följande:
 sudo auditctl -l

På detta sätt blir auditd ett värdefullt revisionsverktyg i CentOS 7.

5. Ausearch Linux


Ausearch -verktyget har utformats för att tillåta sökning av granskningsloggfiler efter specifika händelser baserat på händelser och olika sökkriterier, t.ex. händelseidentifierare, nyckelidentifierare, CPU -arkitektur, kommandonamn, värdnamn, gruppnamn eller grupp -ID.

Som standard ser ausearch ut i filen /var/log/audit/audit.log. Du kan ange en annan fil med kommandot ausearch options -if filnamn. Att tillhandahålla flera alternativ i ett ausearch -kommando motsvarar att använda OCH -operatören.

För att använda standardvärdet och se de aktuella loggarna kör vi ett av följande kommandon:

 cat /var/log/audit/audit.logcat /var/log/audit/audit.log | mindre

Som vi kan se kan data som representeras här vara förvirrande, varför ausearch använder sig av ausearch -syntaxen (alternativ) för att filtrera dessa resultat och få en vision som är mycket lättare att hantera.

Vi har alternativ som:

Kontrollera körningen av processloggarDär kan vi använda parametern -p plus PID för att få ett specifikt resultat:

 ausearch -p 579

Kontrollerar granskningsloggfilen för inloggningsförsökI det här fallet måste vi använda parametern -m för att identifiera specifika meddelanden och -sv för att definiera framgångsrika resultat.

 ausearch -m USER_LOGIN -sv nr

Hitta användaraktivitet i Auditd -loggfilenFör detta resultat använder vi parametern -ua plus användarnamnet:

 ausearch -ua Solvetic

Hitta ändringar av användare, grupper och rollerMed det här alternativet blir det möjligt att granska alla systemändringar som används med användarkonton, grupper och roller; Vi kan ange flera typer av meddelanden separerade med kommatecken enligt följande:

 ausearch -m ADD_USER, DEL_USER, USER_CHAUTHTOK, ADD_GROUP, DEL_GROUP, CHGRP_ID, ROLE_ASSIGN, ROLE_REMOVE -i
Vi kommer att se följande:

Se hjälp från ausearchFör att se de olika alternativen för det här verktyget kör vi följande:

 man ausearch

Så vi kan se de olika alternativen när vi utför en fullständig och effektiv granskning i CentOS eller RedHat.

wave wave wave wave wave