Hoe de integriteit van bestanden of mappen te controleren met AIDE op Linux

Wanneer u meerdere besturingssystemen gebruikt, is het ideaal om altijd tools te hebben waarmee we gecentraliseerde en directe controle erover kunnen behouden. Een van de meest delicate kwesties is ontegensprekelijk de veiligheid en integriteit van de bestanden, aangezien dit de beschikbaarheid en betrouwbaarheid van de bestanden garandeert.

Vandaag zal Solvetic het hebben over een praktische tool genaamd AIDE waarmee het mogelijk zal zijn om de integriteit van een bestand of directory in de verschillende Linux-distributies te controleren en zo zeker te zijn van de volledige betrouwbaarheid van het geselecteerde bestand.

Wat is AIDEAIDE ((Advanced Intrusion Detection Environment) is een integriteitscontrole van bestanden en mappen in Linux-omgevingen die ons als beheerders in staat stelt er specifieke controle over te behouden.
De werking ervan bestaat uit het creëren van een database die is ontworpen op basis van de regels voor reguliere expressies die beschikbaar zijn in de configuratiebestanden. Zodra deze database is geïnitialiseerd, kan deze worden gebruikt om de integriteit van de vereiste bestanden te verifiëren.

AIDE-bestandskenmerkenAIDE is verantwoordelijk voor het bouwen van de database op basis van de bestanden die zijn gespecificeerd in aide.conf, het AIDE-configuratiebestand. De AIDE-database slaat verschillende bestandskenmerken op, waarbinnen we hebben:

  • type bestand
  • vergunningen
  • gebruiker en groep
  • bestandsgrootte
  • mtime, ctime en atime
  • groei grootte
  • aantal links en linknaam.

Bovendien maakt AIDE een cryptografische controlesom of hash van elk bestand met behulp van een of een combinatie van de volgende algoritmen voor berichtoverzicht: sha1, sha256, sha512, md5, rmd160, tiger, haval, crc32, en ook de acl-attributen, xattr, selinux , en e2fsattrs kunnen worden gebruikt wanneer deze expliciet zijn ingeschakeld tijdens het compileren.

AIDE heeft verschillende algoritmen voor het samenvatten van berichten die worden gebruikt om de integriteit van het bestand te verifiëren. Alle gebruikelijke bestandskenmerken kunnen ook worden gecontroleerd op inconsistenties daarin. AIDE kan databases van oudere of nieuwere versies lezen.

AIDE-functiesDoor het gebruik van deze tool hebben we de volgende kenmerken:

  • Door Message Digest ondersteunde algoritmen zoals: md5, sha1, rmd160, tigger, crc32, sha256, sha512, whirlpool (aanvullend met libmhash: gost, haval, crc32b)
  • Ondersteunde bestandskenmerken: bestandstype, machtigingen, inode, Uid, Gid, linknaam, grootte, bloknummer, aantal links, Mtime, Ctime en Atime
  • Het heeft ondersteuning voor Posix ACL, SELinux, XAttrs en uitgebreide bestandssysteemkenmerken als de ondersteuning voor de eenvoud is gecompileerd in platte tekst en databaseconfiguratiebestanden
  • Het heeft ondersteuning voor reguliere expressies om selectief bestanden en mappen op te nemen of uit te sluiten om te worden gecontroleerd
U kunt de gzip-database comprimeren als de zlib-ondersteuning is gecompileerd in een afzonderlijk statisch binair bestand voor client-/serverbewakingsconfiguraties.

AIDE is opgenomen in de volgende UNIX-distributies:

  • Debian
  • Gentoo
  • MacPorts
  • GratisBSD
  • CentOS / RedHat
  • IPCop
  • OpenSUSE

Het is belangrijk om te verduidelijken dat AIDE geen absolute beveiliging kan bieden voor de wijziging in een bestand, aangezien, net als elk ander systeembestand, de database en/of binaire bestanden van AIDE ook kunnen worden gewijzigd met behulp van de juiste tools.

1. AIDE installeren op Linux


AIDE is beschikbaar in officiële repositories voor de meest populaire Linux-distributies, hiervoor kunnen we het als volgt installeren met behulp van een pakketbeheerder volgens de geselecteerde distro:
 apt install aide (Debian / Ubuntu) yum install aide CRHEL / CentOS) dnf install aide (Fedora) zypper install aide (OpenSUSE) emerge aide (Gentoo)

In dit geval gebruiken we Ubuntu. Daar voeren we de letter S in om de download en installatie van AIDE te accepteren. Na installatie zien we het volgende:

Zoals we kunnen zien, is het hoofdconfiguratiebestand /etc/aide/aide.conf. Om de geïnstalleerde versie te bekijken, evenals de parameters voor de compilatietijd, kunnen we het volgende uitvoeren:

 assistent -v

2. Toegang tot het AIDE Linux-configuratiebestand


We hebben toegang tot het AIDE-configuratiebestand door de volgende regel uit te voeren met de gewenste editor:
 nano /etc/aide/aide.conf
We zullen het volgende zien:

In dit bestand vinden we richtlijnen die de locatie van de database definiëren, de locatie van het rapport, de standaardregels, de mappen of bestanden die in de database moeten worden opgenomen, en nog veel meer.

3. AIDE-regels beheren en begrijpen

AIDE beheert regels zoals:

PMachtigingen - Machtigingen
NAantal koppelingen
of= Gebruiker
GGroepen
sMaat (maat)
BAantal blokken
mmtime
toteen tijd
Cctime
selinuxSelinux beveiligingscontext
xattrsGeeft de uitgebreide attributen van een bestand weer

Op basis van deze regels is het mogelijk om aangepaste regels te maken in het AIDE-configuratiebestand. We kunnen bijvoorbeeld de volgende regel maken:

 PERMS = p + u + g + acl + selinux + xattrs
In dit geval wordt de PERMS-regel geïmplementeerd voor toegangscontrole, die eventuele wijzigingen in het bestand of de mappen detecteert op basis van bestands- of directorymachtigingen, gebruiker, groep, toegangsbeheermachtigingen, bestandskenmerken en meer.

Een andere regel die we kunnen implementeren is er een die alleen de inhoud van het bestand en het geselecteerde bestandstype controleert, bijvoorbeeld:

 INHOUD = sha256 + ftype
Als we de uitgebreide inhoud, het type bestand en de toegang willen verifiëren, kunnen we een regel maken zoals:
 CONTENT_EX = sha256 + ftype + p + u + g + n + acl + selinux + xattrs
Een regel die ons helpt om wijzigingen in de directory alleen op gegevensniveau te detecteren, is:
 ALLEEN GEGEVENS = p + n + u + g + s + acl + selinux + xattrs + sha256
Deze regels moeten onderaan het AIDE-configuratiebestand worden toegevoegd:

We slaan de wijzigingen op met de toetsen Ctrl + O en sluiten af ​​met Ctrl + X.

4. Hoe regels te definiëren voor het bekijken van AIDE-bestanden en mappen


Met AIDE zal het ook mogelijk zijn om regels te creëren voor bepaalde bestanden of mappen die geanalyseerd moeten worden. Hiervoor hebben we opnieuw toegang tot het /etc/aide/aide.conf pad en kunnen we de volgende regels maken:
 / root / \… * PERMS (Deze regel controleert de machtigingen in de hoofdmap) / root / CONTENT_EX (Deze regel controleert alle bestanden in de hoofdmap voordat er wijzigingen worden aangebracht) / etc / DATAONLY (Met deze regel kunnen we elke wijziging in de map detecteren /enz)

We kunnen de wijzigingen opslaan in het AIDE-configuratiebestand.

5. Hoe AIDE te gebruiken om de integriteit van bestanden en directory's in Linux te verifiëren


Zodra de regels die met AIDE moeten worden gebruikt, zijn gedefinieerd, is de volgende stap het bouwen van de database aan de hand van de controles die zullen worden uitgevoerd met behulp van de parameter --init.

Met de volgende opdracht wordt een database gemaakt die alle bestanden bevat die we definiëren in het AIDE-configuratiebestand:

 assistent --init

Zodra dit is gebeurd, gaat u verder met het wijzigen van de naam van de database in /var/lib/aide/aide.db.gz voordat u verdergaat, hiervoor kunnen we de volgende opdracht gebruiken:

 mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db.gz
Het wordt aanbevolen om deze database naar een veilige locatie te verplaatsen, maar we moeten het configuratiebestand bijwerken zodat het vanaf daar kan worden gelezen.

Vervolgens moeten we een nieuw Aide-configuratiebestand compileren. We voeren het volgende commando uit:

 update-aide.conf
Nu zullen we dit nieuwe bestand naar de map / etc / aide kopiëren:
 cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.conf
Nadat de database is gemaakt, kunnen we de integriteit van de bestanden en mappen controleren met behulp van de vlag -check:
 assistent --check

6. Hoe AIDE te evalueren?


Om de werking van AIDE te testen, zullen we de volgende regels uitvoeren:
 mkdir / root / aide-test touch / root / aide-test / testsolvetic touch / root / aide-test / testsolvetic1
Met hen creëren we een nieuwe map en bestanden op het systeem. Later voeren we de volgende regel uit voor de validatie en verificatie:
 Aide-check
Het resultaat zal het volgende zijn:

Daar kunnen we zien dat er een verschil is gevonden in het bestand en wordt aangegeven wat voor soort actie het was, toevoeging, verwijdering of wijziging.
Op deze manier is AIDE een handig hulpmiddel om in realtime vast te stellen welke wijzigingen zich in het systeem hebben voorgedaan.

wave wave wave wave wave