Zoeken op website

Hoe u de integriteit van bestanden en mappen kunt controleren met behulp van "AIDE" in Linux


In onze megagids voor het versterken en beveiligen van CentOS 7, onder de sectie “systeem intern beschermen”, is een van de nuttige beveiligingshulpmiddelen die we hebben vermeld voor interne systeembescherming tegen virussen, rootkits, malware en detectie van ongeautoriseerde activiteiten is AIDE.

AIDE (Advanced Intruction Detection Environment) is een kleine maar krachtige, gratis open source tool voor inbraakdetectie, die vooraf gedefinieerde regels gebruikt om de integriteit van bestanden en mappen in Unix-achtige besturingssystemen te controleren zoals Linux. Het is een onafhankelijk statisch binair bestand voor vereenvoudigde client/server-bewakingsconfiguraties.

Het is rijk aan functies: maakt gebruik van configuratiebestanden en database met platte tekst, waardoor het gemakkelijk te gebruiken is; ondersteunt verschillende algoritmen voor het verwerken van berichten, zoals maar niet beperkt tot md5, sha1, rmd160, tijger; ondersteunt algemene bestandskenmerken; ondersteunt ook krachtige reguliere expressies om selectief bestanden en mappen op te nemen of uit te sluiten die moeten worden gescand.

Het kan ook worden gecompileerd met uitzonderlijke ondersteuning voor Gzip-compressie, Posix ACL, SELinux, XAttrs en Extended file system-attributen.

Aide werkt door een database te creëren (die eenvoudigweg een momentopname is van geselecteerde delen van het bestandssysteem), op basis van de reguliere expressieregels die zijn gedefinieerd in de configuratiebestanden. Zodra deze database is geïnitialiseerd, kunt u de integriteit van de systeembestanden verifiëren. Deze handleiding laat zien hoe je assistent in Linux kunt installeren en gebruiken.

Hoe AIDE onder Linux te installeren

Aide is verpakt in officiële repository's van reguliere Linux-distributies. Om het te installeren, voert u de opdracht voor uw distributie uit met behulp van een pakketbeheerder.

apt install aide 	   [On Debian/Ubuntu]
yum install aide	   [On RHEL/CentOS] 	
dnf install aide	   [On Fedora 22+]
zypper install aide	   [On openSUSE]
emerge aide 	           [On Gentoo]

Na installatie is het belangrijkste configuratiebestand /etc/aide.conf. Om de geïnstalleerde versie en de parameters voor de compileertijd te bekijken, voert u de onderstaande opdracht uit op uw terminal:

aide -v
Voorbeelduitvoer
Aide 0.14

Compiled with the following options:

WITH_MMAP
WITH_POSIX_ACL
WITH_SELINUX
WITH_PRELINK
WITH_XATTR
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

U kunt de configuratie openen met uw favoriete editor.

vi /etc/aide.conf

Het bevat richtlijnen die de databaselocatie, rapportlocatie, standaardregels en de mappen/bestanden die in de database moeten worden opgenomen, definiëren.

Standaardassistentregels begrijpen

Met behulp van de bovenstaande standaardregels kunt u bijvoorbeeld nieuwe aangepaste regels definiëren in het bestand aide.conf.

PERMS = p+u+g+acl+selinux+xattrs

De PERMS regel wordt alleen gebruikt voor toegangscontrole, het zal alle wijzigingen in bestanden of mappen detecteren op basis van bestands-/maprechten, gebruiker, groep, toegangscontrolerechten, SELinux-context en bestandsattributen.

Hiermee worden alleen de bestandsinhoud en het bestandstype gecontroleerd.

CONTENT = sha256+ftype

Dit is een uitgebreide versie van de vorige regel en controleert uitgebreide inhoud, bestandstype en toegang.

CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs

Met de onderstaande DATAONLY regel kunt u eventuele wijzigingen in gegevens in alle bestanden/directory's detecteren.

DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256

Regels definiëren om bestanden en mappen te bekijken

Nadat u regels heeft gedefinieerd, kunt u het bestand en de mappen opgeven die u wilt bekijken. Rekening houdend met de bovenstaande PERMS-regel, controleert deze definitie de machtigingen voor alle bestanden in de hoofdmap.

/root/\..*  PERMS

Hierdoor worden alle bestanden in de map /root gecontroleerd op eventuele wijzigingen.

/root/   CONTENT_EX

Gebruik dit om u te helpen eventuele wijzigingen in gegevens in alle bestanden/directory's onder /etc/ te detecteren.

/etc/   DATAONLY 

AIDE gebruiken om de integriteit van bestanden en mappen te controleren in Linux

Begin met het opbouwen van een database op basis van de controles die worden uitgevoerd met de vlag --init. Dit gebeurt naar verwachting voordat uw systeem op een netwerk is aangesloten.

Met de onderstaande opdracht wordt een database gemaakt die alle bestanden bevat die u in uw configuratiebestand hebt geselecteerd.

aide --init

Hernoem de database vervolgens naar /var/lib/aide/aide.db.gz voordat u verdergaat, met behulp van deze opdracht.

mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

Het wordt aanbevolen om de database naar een veilige locatie te verplaatsen, mogelijk op een alleen-lezen medium of op een andere machine, maar zorg ervoor dat u het configuratiebestand bijwerkt om het vanaf daar te kunnen lezen.

Nadat de database is aangemaakt, kunt u nu de integriteit van de bestanden en mappen controleren met behulp van de vlag --check.

aide --check

Het leest de momentopname in de database en vergelijkt deze met de bestanden/mappen die op uw systeemschijf zijn gevonden. Als er veranderingen worden aangetroffen op plaatsen die u misschien niet verwacht, genereert het een rapport dat u vervolgens kunt bekijken.

Omdat er geen wijzigingen zijn aangebracht in het bestandssysteem, krijgt u alleen een uitvoer die lijkt op die hierboven. Probeer nu enkele bestanden in het bestandssysteem aan te maken, in gebieden die zijn gedefinieerd in het configuratiebestand.

vi /etc/script.sh
touch all.txt

Voer vervolgens nogmaals een controle uit, die de hierboven toegevoegde bestanden zou moeten rapporteren. De uitvoer van deze opdracht is afhankelijk van de delen van het bestandssysteem die u hebt geconfigureerd voor controle. Dit kan veel tijd in beslag nemen.

aide --check

U moet regelmatig assistentiecontroles uitvoeren, en in het geval van wijzigingen in reeds geselecteerde bestanden of toevoeging van nieuwe bestandsdefinities in het configuratiebestand, update dan altijd de database met behulp van de --update optie:

aide --update

Als u de nieuwe database wilt gebruiken voor toekomstige scans, moet u na het uitvoeren van een database-update de naam ervan altijd wijzigen in /var/lib/aide/aide.db.gz:

mv /var/lib/aide/aide.db.new.gz  /var/lib/aide/aide.db.gz

Dat is het voor nu! Maar let op deze belangrijke punten:

  • Een kenmerk van de meeste inbraakdetectiesystemen, inclusief AIDE, is dat ze geen oplossingen bieden voor de meeste gaten in de beveiligingslekken in een systeem. Ze helpen echter bij het vereenvoudigen van het inbraakreactieproces door systeembeheerders te helpen bij het onderzoeken van eventuele wijzigingen in systeembestanden/mappen. U moet dus altijd waakzaam zijn en uw huidige beveiligingsmaatregelen blijven bijwerken.
  • Het wordt ten zeerste aanbevolen om de nieuw aangemaakte database, het configuratiebestand en het binaire bestand van AIDE op een veilige locatie te bewaren, zoals alleen-lezen media (mogelijk als u vanaf de bron installeert).
  • Voor extra veiligheid kunt u overwegen de configuratie en/of database te ondertekenen.

Voor aanvullende informatie en configuraties, zie de manpagina of bekijk de AIDE Homepage: http://aide.sourceforge.net/