Hoe Linux te auditen met de Auditd Tool en Ausearch

Als systeembeheerder, ondersteunend groepspersoneel of gewoon als een maatregel om de beste controleniveaus van zowel de server als de clientcomputers van de organisatie te behouden, controleert het voortdurend het besturingssysteem om de fouten die kunnen optreden een stap voor te zijn en zo de integriteit en beschikbaarheid van het systeem te behouden, evenals de rollen, services en elementen die erin zijn opgeslagen.

Wat is een Linux-audit?Als we het hebben over een controlesysteem in een Linux-omgeving, hebben we het over een mechanisme dat een manier biedt om informatie te volgen die relevant is voor beveiliging in dat besturingssysteem.

Een audit bestaat uit een onderzoek van de verschillende onderdelen die specifiek deel uitmaken van dat systeem, met een kritische evaluatie en zo nodig testen op verschillende aandachtsgebieden.

Op basis van dit concept zal Solvetic vandaag twee van de beste tools voor het auditproces in Linux analyseren: auditd en ausearch.

Het is belangrijk om te verduidelijken dat de audit geen extra beveiliging van het besturingssysteem biedt, maar kan worden gebruikt om schendingen van het beveiligingsbeleid van het systeem te ontdekken en dus met voldoende kennis hiervan te zijn.

geauditeerdAuditd is het Linux-controlesysteem dat vertrouwt op vooraf geconfigureerde regels om logboekvermeldingen te genereren en zo zoveel mogelijk informatie op te slaan over de gebeurtenissen die in het systeem plaatsvinden.

Deze verzamelde informatie is cruciaal voor missiekritieke omgevingen om de overtreder van het beveiligingsbeleid en de acties die ze hebben ondernomen te bepalen en zo alle beveiligingsacties en nieuw beleid in de organisatie te laten richten op het verbeteren van de gehele operationele omgeving.

Auditd kan de volgende logbestanden opnemen:

  • Datum, tijd, type en resultaat van een evenement.
  • Onderwerp- en objectgevoeligheidslabels.
  • Associatie van een gebeurtenis met de identiteit van de gebruiker die de gebeurtenis heeft uitgevoerd.
  • Implementeer alle wijzigingen in de auditconfiguratie en probeer toegang te krijgen tot auditlogbestanden.
  • Bewaar alle toepassingen van authenticatiemechanismen, zoals SSH, Kerberos en andere.
  • Het is mogelijk om over te schakelen naar elke vertrouwde database, zoals / etc / passwd.
  • Registreert elke poging om informatie van of naar het systeem te importeren of te exporteren.
  • Bevat of sluit gebeurtenissen uit op basis van gebruikersidentiteit, onderwerp- en objecttags en andere kenmerken.

VereistenOp dezelfde manier is het gebruik van het auditsysteem ook een noodzakelijke vereiste voor een reeks certificeringen met betrekking tot beveiliging als dit op een bepaald moment vereist is. De audit is ontworpen om te voldoen aan de vereisten van de volgende wereldwijde nalevingsrichtlijnen of certificeringen of deze te overtreffen:

  • Gecontroleerd toegangsbeveiligingsprofiel (CAPP)
  • Gelabeld beveiligingsbeschermingsprofiel (LSPP)
  • Regelset Basistoegangscontrole (RSBAC)
  • Handleiding Nationaal Industrieel Veiligheidsprogramma (NISPOM)
  • Federale wet op het beheer van informatiebeveiliging (FISMA)
  • Betaalkaartindustrie - Standaard voor gegevensbeveiliging (PCI-DSS)
  • Handleidingen voor technische implementatie van beveiliging (STIG)

Bijkomende voordelenEnkele van de extra voordelen van het gebruik van het Linux-controlesysteem zijn als volgt:

  • Het vereist geen externe programma's of processen om te draaien op een systeem dat het zelfvoorzienend maakt.
  • Het is zeer configureerbaar, daarom kunnen we elke bewerking van het systeem zien die we willen.
  • Het helpt bij het detecteren of analyseren van mogelijke compromissen, op het beveiligingsniveau, van een systeem.
  • Het kan functioneren als een onafhankelijk detectiesysteem.
  • Het kan werken met inbraakdetectiesystemen om inbraakdetectie mogelijk te maken.
  • Het is een essentieel hulpmiddel voor forensisch onderzoek.

Hoewel sommige termen misschien vreemd lijken, is dit ongetwijfeld een van de beste opties als we ons inzetten voor beveiliging.

1. Linux auditd auditsysteemcomponenten


Het auditsysteem heeft twee basiscomponenten, namelijk:
  • Gebruikerstoepassingen en hulpprogramma's of tools
  • Verwerking van systeemoproepen op kernelniveau, die systeemaanroepen van toepassingen in de gebruikersruimte accepteert en deze door drie soorten filters leidt: gebruiker, taak, afsluiten of uitsluiten.
Het belangrijkste onderdeel is de gebruikersaudit-daemon (auditd) die de informatie verzamelt op basis van vooraf geconfigureerde regels, uit de kernel en ingangen genereert in een logbestand: het standaardlogboek is:
 /var/log/audit/audit.log
Daarnaast is audispd een gebeurtenismultiplexer die samenwerkt met auditd en gebeurtenissen verzendt naar andere programma's die realtime gebeurtenisverwerking willen uitvoeren.

Er zijn verschillende tools voor gebruikersruimte om informatie uit het auditsysteem te beheren en op te halen, namelijk:

AuditctlHet is een hulpprogramma om het kernel-auditsysteem te besturen.
zoekenHet is een hulpprogramma om auditlogbestanden te doorzoeken op specifieke gebeurtenissen.
AureportHet is een hulpprogramma voor het maken van rapporten van opgenomen gebeurtenissen.

Voor deze analyse gebruiken we CentOS 7

2. Installeer en configureer auditd op CentOS 7


De eerste stap is om ervoor te zorgen dat de audittool op het systeem is geïnstalleerd met behulp van het rpm-commando en het grep-hulpprogramma als volgt:
 rpm -qa | grep-audit
Het resultaat zal zijn:

In het geval dat we de auditpakketten niet hebben, moeten we de volgende opdracht uitvoeren als rootgebruikers:

 yum installatie audit
Eenmaal geïnstalleerd, moeten we configureren of auditd is ingeschakeld, hiervoor zullen we een van de volgende opdrachten in hun volgorde uitvoeren:

Op CentOS of RHEL 7

 systemctl is ingeschakeld auditdsystemctl status auditdsystemctl start auditd (start de service) systemctl enable auditd (schakelt de service in)

Op CentOS of RHEL 6

 service auditd statusservice auditd start (start de service) chkconfig auditd on (schakelt de service in)

We kunnen zien dat de status actief is.

3. Gecontroleerde configuratie


Om auditd te configureren, moeten we het hoofdconfiguratiebestand /etc/audit/auditd.conf gebruiken, omdat het daar mogelijk is om te bepalen hoe de service werkt, zoals het definiëren van de locatie van het logbestand, het maximale aantal logbestanden, het recordformaat , hoe om te gaan met volledige schijven, opnamerotatie en meer opties.
Hiervoor gebruiken we de voorkeurseditor:
 nano /etc/audit/auditd.conf
Daar zien we het volgende:

We kunnen zien dat elke regel ons in staat stelt een specifieke actie aan te geven en we kunnen deze indien nodig wijzigen.

4. Auditregels in Linux


Zoals hierboven vermeld, maakt auditd gebruik van regels om specifieke informatie uit de kernel te verzamelen. Deze regels zijn in feite auditctl-opties die vooraf kunnen worden geconfigureerd in het bestand /etc/audit/rules.d/audit.rules.

Er zijn drie soorten auditregels die kunnen worden gedefinieerd, namelijk:

Controle regelsHiermee kunt u het gedrag van het auditsysteem en sommige instellingen wijzigen.
Regels voor bestandssysteemMet deze regels kan de toegang tot een specifiek bestand of specifieke map worden gecontroleerd.
Regels voor systeemoproepenHiermee kunnen systeemoproepen van elk programma worden opgenomen.

Om toegang te krijgen tot deze regels gaan we naar de volgende route met behulp van de gewenste editor:

 nano /etc/audit/rules.d/audit.rules
We zullen het volgende zien:

In dit bestand moeten we in de eerste sectie controleregels toevoegen. Voeg vervolgens de auditregels toe in het middelste gedeelte en tot slot bevat het laatste gedeelte onveranderlijkheidsparameters die ook controleregels zijn.

Enkele voorbeelden van deze regels zijn:

Alle vorige regels verwijderen

 -NS

Definieer buffergrootte

 -b3074

Falen genereert een paniekoptie

 -f 4

Maak maximaal 120 auditberichten per seconde

 -r 120

Een voorbeeld van een regel is als volgt:

Daar hebben we het volgende:

Wordt gebruikt om een ​​bestand of map op te geven om te bekijken.

 -w

RechtenDit zijn de permissies die geregistreerd moeten worden, r - voor leestoegang, w - voor schrijftoegang, x - voor uitvoeringstoegang en - voor wijziging van bestand of director-attribuut.

 -P

Identificeer set van regelsHiermee kunt u een optionele keten instellen om te identificeren welke regel (of een reeks regels) een specifieke registervermelding heeft gemaakt.

 -k

Zodra de regels zijn gedefinieerd, gebruiken we de toetsencombinatie Ctrl + O om het bestand op te slaan en Ctrl + X om het af te sluiten. We zullen deze regels toevoegen, waarbij we die van het voorbeeld nemen door de volgende regels als root uit te voeren:

 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
Om de huidige regels te zien zullen we het volgende uitvoeren:
 sudo auditctl -l

Op deze manier wordt auditd een waardevolle audittool in CentOS 7.

5. Ausearch Linux


Het hulpprogramma ausearch is ontworpen om auditlogbestanden te kunnen doorzoeken op specifieke gebeurtenissen op basis van gebeurtenissen en verschillende zoekcriteria, zoals gebeurtenis-ID, sleutel-ID, CPU-architectuur, opdrachtnaam, hostnaam, groepsnaam of groeps-ID.

Standaard zoekt ausearch in het bestand /var/log/audit/audit.log. U kunt een ander bestand specificeren door de opdracht ausearch options -if bestandsnaam te gebruiken. Het aanbieden van meerdere opties in een ausearch-opdracht is gelijk aan het gebruik van de AND-operator.

Om de standaardwaarde te gebruiken en de huidige logboeken te bekijken, voeren we een van de volgende opdrachten uit:

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

Zoals we kunnen zien, kunnen de gegevens die hier worden weergegeven verwarrend zijn, daarom maakt ausearch gebruik van de ausearch-syntaxis (optie) om deze resultaten te filteren en een visie te verkrijgen die veel gemakkelijker te beheren is.

We hebben opties zoals:

Controleer de uitvoering van proceslogboekenDaar kunnen we de parameter -p plus de PID gebruiken om een ​​specifiek resultaat te verkrijgen:

 ausearch -p 579

Het auditlogbestand controleren op inlogpogingenIn dit geval moeten we de parameter -m gebruiken om specifieke berichten te identificeren en -sv om de succesvolle resultaten te definiëren.

 ausearch -m USER_LOGIN -sv no

Zoek gebruikersactiviteit in het Auditd-logbestandVoor dit resultaat gebruiken we de parameter -ua plus de gebruikersnaam:

 ausearch -ua Solvetic

Vind aanpassingen aan gebruikers, groepen en rollenMet deze optie is het mogelijk om alle systeemwijzigingen te bekijken die zijn gebruikt met gebruikersaccounts, groepen en rollen; We kunnen als volgt verschillende soorten berichten specificeren, gescheiden door komma's:

 ausearch -m ADD_USER, DEL_USER, USER_CHAUTHTOK, ADD_GROUP, DEL_GROUP, CHGRP_ID, ROLE_ASSIGN, ROLE_REMOVE -i
We zullen het volgende zien:

Zie ausearch helpOm de verschillende opties van dit hulpprogramma te zien, zullen we het volgende uitvoeren:

 man ausearch

Zo zien we de verschillende mogelijkheden bij het uitvoeren van een volledige en effectieve audit in CentOS of RedHat.

wave wave wave wave wave