AIDE Advanced Intrusion Detection Environment installeren en gebruiken op CentOS 8

AIDE staat voor “Advanced Intrusion Detection Environment” en is een van de meest populaire programma’s om veranderingen aan Linux besturingssystemen te bewaken. Het wordt gebruikt om je systeem te beschermen tegen malware, virussen en om ongeoorloofde activiteiten op te sporen. Het werkt door een database van het bestandssysteem te maken en deze database te vergelijken met het systeem om de bestandsintegriteit te verzekeren en systeemintrusies op te sporen. AIDE helpt je om de onderzoekstijd tijdens de incidentbestrijding te verkorten door je te concentreren op de bestanden die veranderd zijn.

Kenmerken

  • Ondersteunt diverse attributen waaronder, Bestandstype, Inode, Uid, Gid, Toestemmingen, Aantal links, Mtime, Ctime en Atime.
  • Ondersteunt Gzip compressie, SELinux, XAttrs, Posix ACL en Uitgebreide bestandssysteem attributen.
  • In staat tot het maken en vergelijken van verschillende message digest algoritmen, waaronder, md5, sha1, sha256, sha512, rmd160, crc32, enz.
  • In staat om je via e-mail te waarschuwen.

In deze handleiding laten we je zien hoe je AIDE installeert en gebruikt om inbraken te detecteren op CentOS 8.

Vereisten

  • Een server met CentOS 8 met minimaal 2 GB RAM.
  • Een root wachtwoord is op je server ingesteld.

Aan de slag

Alvorens te beginnen is het een goed idee om je systeem bij te werken naar de bijgewerkte versie. Voer het volgende commando uit om je systeem te updaten.

dnf update -y

Zodra je systeem bijgewerkt is, herstart je het om de veranderingen door te voeren.

Installeer AIDE

Standaard is AIDE beschikbaar in de CentOS 8 standaard repository. Je kunt het gemakkelijk installeren door gewoon het volgende commando uit te voeren:

dnf install aide -y

Zodra de installatie voltooid is, kun je de geïnstalleerde versie van AIDE controleren met het volgende commando:

aide --version

Je zou de volgende uitvoer moeten zien:

Aide 0.16

Compiled with the following options:

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

Je kunt ook alle met aide commando beschikbare optie zien met het volgende commando:

aide --help

Je zou het volgende scherm moeten zien:

Geavanceerde Intrusion Detection Omgeving

Database maken en initialiseren

Na de installatie van AIDE is het eerste wat je moet doen het initialiseren van de setup. Deze initialisatie zal een database (snapshot) maken van alle bestanden en mappen van je server.

Voer het volgende commando uit om de database te initialiseren:

aide --init

Je zou de volgende uitvoer moeten zien:

Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz

Number of entries:	49472

---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------

/var/lib/aide/aide.db.new.gz
  MD5      : 4N79P7hPE2uxJJ1o7na9sA==
  SHA1     : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
  RMD160   : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
  TIGER    : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
  SHA256   : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
             xWXT2iaEHgQ=
  SHA512   : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
             uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
             nDw6lgDNI/ls2esijukliQ==


End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s)

Het bovenstaande commando maakt een nieuwe AIDE databank aide.db.new.gz binnen de map /var/lib/aide. Je kunt het zien met het volgende commando:

ls -l /var/lib/aide

Je zou de volgende uitvoer moeten zien:

total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz

AIDE zal het nieuwe databankbestand pas gebruiken als het hernoemd is naar aide.db.gz. Je kunt het hernoemen met het volgende commando:

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

Het is aan te bevelen deze databank op een vaste periode bij te werken om veranderingen goed te kunnen volgen. Je kunt ook de plaats van de AIDE databank veranderen door het bestand /etc/aide.conf te bewerken en de waarde DBDIR te wijzigen.

Controleer AIDE

Op dit punt is AIDE klaar om de nieuwe databank te gebruiken. Voer nu je eerste controle van AIDE uit zonder veranderingen aan te brengen:

aide --check

Dit commando zal enige tijd in beslag nemen, afhankelijk van de grootte van je bestandssysteem en de hoeveelheid RAM in je server. Als de AIDE controle voltooid is, zou je de volgende uitvoer moeten zien:

Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

De bovenstaande uitvoer geeft aan dat elk bestand en elke directory overeenkomen met de AIDE database.

Test AIDE

Standaard is AIDE niet ingesteld om bestanden en directories van de Apache standaard document root /var/www/html te bekijken. Je zult AIDE dus moeten instellen om de directory /var/www/html in de gaten te houden. Je kunt dit instellen door het bestand /etc/aide.conf te bewerken.

nano /etc/aide.conf

Voeg de volgende regel toe boven de regel “/root/ CONTENT_EX”:

/var/www/html/ CONTENT_EX

Sla het bestand op en sluit het als je klaar bent.

Maak vervolgens een aide.txt bestand aan binnen de directory /var/www/html/ met het volgende commando:

echo "Test AIDE" > /var/www/html/aide.txt

Voer nu AIDE check uit en controleer of het nieuw aangemaakte bestand door de aide check gedetecteerd wordt.

aide --check

Je zou de volgende uitvoer moeten zien:

Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!

Summary:
  Total number of entries:	49475
  Added entries:		1
  Removed entries:		0
  Changed entries:		0

---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

De bovenstaande uitvoer geeft aan dat het nieuw aangemaakte bestand aide.txt door de aide check wordt gedetecteerd.

Vervolgens is het een goed idee om de AIDE database bij te werken nadat je de door aide check ontdekte veranderingen hebt bekeken. Je kunt de AIDE database bijwerken met het volgende commando:

aide --update

Zodra de database bijgewerkt is, zou je de volgende uitvoer moeten zien:

Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz

Summary:
  Total number of entries:	49475
  Added entries:		1
  Removed entries:		0
  Changed entries:		0

---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

Het bovenstaande commando maakt een nieuwe databank met de naam aide.db.new.gz in de map /var/lib/aide/.

Je kunt het zien met het volgende commando:

ls -l /var/lib/aide/

Je zou de volgende uitvoer moeten zien:

total 5600
-rw------- 1 root root 2864012 Jan 16 03:09 aide.db.gz
-rw------- 1 root root 2864100 Jan 16 03:11 aide.db.new.gz

Hernoem nu de nieuwe databank opnieuw zodat AIDE deze nieuwe databank gebruikt om alle nieuwe veranderingen bij te houden. Je kunt de databank hernoemen met het volgende commando:

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

Voer nu opnieuw de AIDE check uit om te controleren of AIDE de nieuwe database wel of niet gebruikt:

aide --check

Je zou de volgende uitvoer moeten zien:

Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

Als je klaar bent, kun je verder gaan met de volgende stap.

AIDE controle automatiseren

Het is een goed idee om elke dag de AIDE controle te automatiseren en het rapport via mail naar een systeem te sturen. Je kunt dit proces automatiseren met de cron job.

Om dat te doen bewerk je het cron standaard configuratiebestand zoals hieronder:

nano /etc/crontab

Voeg aan het eind van het bestand de volgende regel toe om de AIDE controle elke dag om 10:15 AM te automatiseren:

15 10 * * * root /usr/sbin/aide --check

Sla het bestand op en sluit het als je klaar bent.

Nu geeft AIDE je een melding via de systeemmail.

Je kunt je systeemmail controleren met het volgende commando:

tail -f /var/mail/root

Je kunt ook de AIDE log controleren met het volgende commando:

tail -f /var/log/aide/aide.log

Conclusie

In de bovenstaande uitleg heb je geleerd hoe je AIDE kunt gebruiken om de server veranderingen te begrijpen en ongeoorloofde toegang tot je server te identificeren. Je kunt het bestand /etc/aide.conf wijzigen om je toepassingsdirectory of andere geavanceerde instellingen in de gaten te houden. Het wordt aanbevolen om je AIDE database en configuratiebestand om veiligheidsredenen in een alleen-lezen medium te bewaren. Voor meer informatie kun je de AIDE documentatie raadplegen op AIDE Doc.