Vor Kursbeginn
AIDE steht für „Advanced Intrusion Detection Environment“ und ist eines der beliebtesten Systeme zur Überwachung von Änderungen in Linux-basierten Betriebssystemen. AIDE dient zum Schutz vor Malware und Viren und zur Erkennung unbefugter Aktivitäten. Um die Dateiintegrität zu überprüfen und Eindringlinge zu erkennen, erstellt AIDE eine Datenbank mit Dateiinformationen und vergleicht den aktuellen Status des Systems mit dieser Datenbank. AIDE trägt dazu bei, die Zeit für die Untersuchung von Vorfällen zu verkürzen, indem es sich auf geänderte Dateien konzentriert.
AIDE-Funktionen:
- Unterstützt verschiedene Dateiattribute, darunter: Dateityp, Inode, UID, GID, Berechtigungen, Anzahl der Links, Mtime, Ctime und Atime.
- Unterstützung für Gzip-Komprimierung, SELinux, XAttrs, Posix ACL und Dateisystemattribute.
- Unterstützt verschiedene Algorithmen, einschließlich MD5, SHA1, SHA256, SHA512, RMD160, CRC32 usw.
- Versenden von Benachrichtigungen per E-Mail.
In diesem Artikel schauen wir uns an, wie man AIDE für die Einbruchserkennung unter CentOS 8 installiert und verwendet.
Voraussetzungen
- Server mit CentOS 8 und mindestens 2 GB RAM.
- Root-Zugriff
Erste Schritte
Es wird empfohlen, zuerst das System zu aktualisieren. Führen Sie dazu den folgenden Befehl aus.
dnf update -y
Starten Sie nach der Aktualisierung Ihr System neu, damit die Änderungen wirksam werden.
AIDE installieren
AIDE ist im Standard-CentOS 8-Repository verfügbar. Sie können es einfach installieren, indem Sie den folgenden Befehl ausführen:
dnf install aide -y
Sobald die Installation abgeschlossen ist, können Sie die AIDE-Version mit dem folgenden Befehl anzeigen:
aide --version
Sie sollten Folgendes sehen:
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"
Verfügbare Optionen aide
kann wie folgt eingesehen werden:
aide --help
Erstellen und Initialisieren der Datenbank
Das erste, was Sie nach der Installation von AIDE tun müssen, ist die Initialisierung. Die Initialisierung besteht aus der Erstellung einer Datenbank (Snapshot) aller Dateien und Verzeichnisse auf dem Server.
Führen Sie den folgenden Befehl aus, um die Datenbank zu initialisieren:
aide --init
Sie sollten Folgendes sehen:
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)
Der obige Befehl erstellt eine neue Datenbank aide.db.new.gz
im Katalog /var/lib/aide
. Es kann mit dem folgenden Befehl angezeigt werden:
ls -l /var/lib/aide
Ergebnis:
total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz
AIDE wird diese neue Datenbankdatei erst verwenden, wenn sie umbenannt wird aide.db.gz
. Dies kann wie folgt erfolgen:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Es wird empfohlen, diese Datenbank regelmäßig zu aktualisieren, um sicherzustellen, dass Änderungen ordnungsgemäß überwacht werden.
Sie können den Speicherort der Datenbank ändern, indem Sie den Parameter ändern DBDIR
im Ordner /etc/aide.conf
.
Eine Überprüfung durchführen
AIDE ist nun bereit, die neue Datenbank zu verwenden. Führen Sie die erste AIDE-Prüfung durch, ohne Änderungen vorzunehmen:
aide --check
Die Ausführung dieses Befehls kann je nach Größe Ihres Dateisystems und der Menge an RAM auf Ihrem Server einige Zeit in Anspruch nehmen. Sobald der Scan abgeschlossen ist, sollten Sie Folgendes sehen:
Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
Die obige Ausgabe besagt, dass alle Dateien und Verzeichnisse mit der AIDE-Datenbank übereinstimmen.
AIDE testen
Standardmäßig verfolgt AIDE nicht das Standard-Apache-Stammverzeichnis /var/www/html.
Lassen Sie uns AIDE so konfigurieren, dass es angezeigt wird. Dazu müssen Sie die Datei ändern /etc/aide.conf
.
nano /etc/aide.conf
Fügen Sie die obige Zeile hinzu "/root/CONTENT_EX"
следующее:
/var/www/html/ CONTENT_EX
Als nächstes erstellen Sie eine Datei aide.txt
im Katalog /var/www/html/
mit dem folgenden Befehl:
echo "Test AIDE" > /var/www/html/aide.txt
Führen Sie nun die AIDE-Prüfung durch und stellen Sie sicher, dass die erstellte Datei erkannt wird.
aide --check
Sie sollten Folgendes sehen:
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
Wir sehen, dass die erstellte Datei erkannt wird aide.txt
.
Aktualisieren Sie nach der Analyse der erkannten Änderungen die AIDE-Datenbank.
aide --update
Nach dem Update sehen Sie Folgendes:
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
Der obige Befehl erstellt eine neue Datenbank aide.db.new.gz
im Katalog
/var/lib/aide/
Sie können es mit dem folgenden Befehl sehen:
ls -l /var/lib/aide/
Ergebnis:
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
Benennen Sie nun die neue Datenbank erneut um, damit AIDE die neue Datenbank verwendet, um weitere Änderungen zu verfolgen. Sie können es wie folgt umbenennen:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Führen Sie die Prüfung erneut durch, um sicherzustellen, dass AIDE die neue Datenbank verwendet:
aide --check
Sie sollten Folgendes sehen:
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
Wir automatisieren die Prüfung
Es ist eine gute Idee, jeden Tag eine AIDE-Überprüfung durchzuführen und den Bericht per Post zu versenden. Dieser Prozess kann mit cron automatisiert werden.
nano /etc/crontab
Um die AIDE-Prüfung jeden Tag um 10:15 Uhr auszuführen, fügen Sie die folgende Zeile am Ende der Datei hinzu:
15 10 * * * root /usr/sbin/aide --check
AIDE wird Sie nun per E-Mail benachrichtigen. Sie können Ihre E-Mails mit dem folgenden Befehl überprüfen:
tail -f /var/mail/root
Das AIDE-Protokoll kann mit dem folgenden Befehl angezeigt werden:
tail -f /var/log/aide/aide.log
Abschluss
In diesem Artikel haben Sie erfahren, wie Sie mit AIDE Dateiänderungen erkennen und unbefugten Serverzugriff identifizieren. Für zusätzliche Einstellungen können Sie die Konfigurationsdatei /etc/aide.conf bearbeiten. Aus Sicherheitsgründen wird empfohlen, die Datenbank und die Konfigurationsdatei auf schreibgeschützten Medien zu speichern. Weitere Informationen finden Sie in der Dokumentation
Source: habr.com