Aide

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Was ist Aide?

  • AIDE ist ein Angriffserkennungssystem, das Änderungen an Dateien auf dem lokalen System erkennt.
  • Es erstellt eine Datenbank aus den Regeln für reguläre Ausdrücke, die es in der Konfigurationsdatei findet.
  • Sobald diese Datenbank initialisiert ist, kann sie verwendet werden, um die Integrität der Dateien zu überprüfen.
  • Es verfügt über mehrere Message Digest-Algorithmen (md5, sha1, rmd160, tiger, haval usw.), die verwendet werden, um die Integrität der Datei zu überprüfen.
  • Weitere Algorithmen können relativ einfach hinzugefügt werden.
  • Alle üblichen Dateiattribute können auch auf Inkonsistenzen geprüft werden.
  • Einige der Dateieigenschaften, die AIDE überprüfen kann, umfassen Dateiberechtigungen, Inodes, Änderungszeit, Dateiinhalte, Benutzer, Gruppe, Dateigröße …

Features

  • supported message digest algorithms: md5, sha1, rmd160, tiger, crc32, sha256, sha512, whirlpool (additionally with libmhash: gost, haval, crc32b)
  • supported file attributes: File type, Permissions, Inode, Uid, Gid, Link name, Size, Block count, Number of links, Mtime, Ctime and Atime
  • support for Posix ACL, SELinux, XAttrs and Extended file system attributes if support is compiled in
  • plain text configuration files and database for simplicity
  • powerful regular expression support to selectively include or exclude files and directories to be monitored
  • gzip database compression if zlib support is compiled in
  • stand alone static binary for easy client/server monitoring configurations
  • and many more

Installation

  • apt update
  • apt install aide
Der Befehl zeigt die aktuell installierte Version von AIDE sowie die damit installierten Optionen an.
  • aide -v
Aide 0.17.3

Compiled with the following options:

WITH_MMAP
WITH_PCRE
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_CAPABILITIES
WITH_E2FSATTRS
WITH_ZLIB
WITH_MHASH
WITH_AUDIT
...

Konfiguration

  • Die Regeln und andere Konfigurationen befinden sich unter /etc/aide/.
  • Die AIDE-Datenbank befindet sich unter /var/lib/aide/.
  • Initialisieren Sie die AIDE-Datenbank auf Debian
  • Erstellen Sie eine neue AIDE-Datenbank.
  • aideinit erstellt eine neue Basisdatenbank, /var/lib/aide/aide.db.new
Der Prozess dauert ein paar Minuten.
  • aideinit
Running aide --init...
Start timestamp: 2022-09-18 16:40:15 +0200 (AIDE 0.17.3)
AIDE initialized database at /var/lib/aide/aide.db.new

Number of entries:	37878

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

/var/lib/aide/aide.db.new
 SHA256    : nOUO2FitvwXdNnsreZGUYdZEpKKBi/rv
             FxuJDPwLkIE=
 SHA512    : bwGO6eT5jUfHIOBND18alP5OcP/Tzesp
             X+o3aC3KCnA44JW7H4jyrBJrggWXbl2E
             x6S4Px2zf1tu+ITALTycJg==
 RMD160    : OoaDrkHVESzjk8PHdH/7lK3hsWI=
 TIGER     : FDdLiosyEA2Wjqxn6Xh93MmMytAowcdj
 CRC32     : Y3pXxA==
 HAVAL     : u227ddSQNbKXTbOQiVHSz1sy0P+5mNil
             f7G9FZYuP2c=
 WHIRLPOOL : k/9OOT8LkezgDC36Gz662C4USnjwclnT
             gsuFgaVSiLBt2aMKncVqfSrLT64jyEPl
             cedh1W3kg0wDpSdjwBSqWA==
 GOST      : F1yHsipka5ZDJeIhFcSqxCWR2lbqICI3
             b+VZ3O9P++k=


End timestamp: 2022-09-18 16:41:14 +0200 (run time: 0m 59s)
  • Wie Sie sehen können, wurde eine neue Basis-AIDE-Datenbank erstellt, /var/lib/aide/aide.db.new.

Neue AIDE-Datenbank installieren

Um die neu erstellte AIDE-Datenbank zu installieren, müssen Sie sie wie folgt kopieren
  • cp /var/lib/aide/aide.db{.neu,}

Erstellen Sie die AIDE-Konfiguration neu

  • Führen Sie den folgenden Befehl aus, um die AIDE-Laufzeitkonfiguration /etc/aide/aide.conf zu aktualisieren
  • aide --config=/etc/aide/aide.conf --update

Überprüfen Sie die AIDE-Datenbank auf Inkonsistenzen

  • Sobald die neue Konfiguration generiert ist, führen Sie die manuelle Datenbankprüfung durch
  • Dies wird mit dem folgenden Befehl gemacht.
  • aide --config=/etc/aide/aide.conf --check

Testen von AIDE unter Debian 10

  • Sie können jetzt neue Dateien erstellen, einige bearbeiten und sogar löschen und die AIDE-Prüfung erneut ausführen,
  • Um zu sehen, wie AIDE all diese Änderungen erkennen kann.
  • echo "1.2.3.4 test.kifarunix-demo.com" >> /etc/hosts
  • touch /etc/newfile
  • rm -rf /etc/issue

Nun testen wir

  • aide -c /etc/aide/aide.conf -C
---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /etc/newfile
f++++++++++++++++: /var/lib/aide/aide.db

---------------------------------------------------
Removed entries:
---------------------------------------------------

f----------------: /etc/issue
l----------------: /run/systemd/units/invocation:session-3.scope

---------------------------------------------------
Changed entries:
---------------------------------------------------

f >b... mc..C.. .: /etc/aide/aide.conf
f >.... mc..C.. .: /etc/hosts
...

Umm diese Änderungen zu übernehmen muss die neue AIDE-Datenbank installiert werden

Um die neu erstellte AIDE-Datenbank zu installieren, müssen Sie sie wie folgt kopieren
  • cp /var/lib/aide/aide.db{.neu,}

Beschränkung der AIDES-Integritätsprüfung auf bestimmte Dateien/Verzeichnisse

  • Um die Integritätsprüfungen auf bestimmte Einträge zu beschränken, z. B. /etc, übergeben Sie die Option
  • --limit REGEX an den Befehl AIDE check, wobei REGEX der zu prüfende Eintrag ist.
  • Überprüfen und aktualisieren Sie zum Beispiel die Datenbankeinträge, die mit /etc übereinstimmen, würden Sie den Befehl aide wie unten gezeigt ausführen;
  • aide -c /etc/aide/aide.conf --limit /etc --check


Bestimmte Verzeichnisse von AIDE-Prüfungen ausschließen

  • Um einige Verzeichnisse auszuschließen, bearbeiten Sie die Konfigurationsdatei /etc/aide/aide.conf
  • Fügen Sie die zu ignorierenden Verzeichnisse am Ende der Datei im Format;
!/home/
!/var/lib/
!/proc

Verwenden der benutzerdefinierten AIDE-Konfiguration

  • Sie können auch Ihre eigene Konfiguration erstellen und festlegen, was geprüft werden soll und was nicht.
  • Siehe Beispielkonfiguration unten
  • vim /home/koromicha/aide/aide.conf
# Path for creating the databases
database=file:/home/koromicha/aide/aide.db
database_out=file:/home/koromicha/aide/aide.db.new
database_new=file:/home/koromicha/aide/aide.db.new

# Set your own AIDE rule.
MYRULE=p+n+u+g+s+m+c+xattrs+md5+sha512

# Directories/files to be monitored and rule to apply
#/etc MYRULE
#/bin MYRULE
#/usr/bin MYRULE

# Directories to ignore
/home MYRULE
!/proc

Im Grunde prüft der obige Regelsatz

permissions,
number of links,
user,
group,
modification time,
inode/file change time,
extended file attributes,
MD5 checksum,
SHA512 checksum.


Versand des AIDE-Berichts per Mail

  • Standardmäßig richtet sich AIDE bei der Installation selbst ein tägliches Ausführungsskript /etc/cron.daily/aide ein.
  • Die Ausgabe von Prüfungen wird an den Benutzer gesendet, der in der MAILTO=-Direktive der /etc/default/aide-Konfigurationsdatei angegeben ist, wie oben beschrieben.
  • Um den AIDE-Bericht per E-Mail zu senden, müssen Sie die Datei /etc/default/aide bearbeiten und den Wert der MAILTO-Direktive auf Ihre E-Mail-ID setzen, so dass er wie unten aussieht. Der Standardempfänger ist root.
  • vim /etc/default/aide
...
#MAILTO=root
MAILTO=analyst@kifarunix-demo.com
  • Die meisten AIDE-Standardparametereinstellungen sind in dieser Datei definiert.
  • Es wird für ein einfaches Verständnis sehr empfohlen, gehen Sie daher diese Datei durch, um zu sehen, welche anderen Optionen aktiviert oder deaktiviert werden können.
  • Der E-Mail-Versand kann nur funktionieren, wenn Sie Ihren MTA für den E-Mail-Versand konfiguriert haben.
  • Folgen Sie dem Link unten, um zu erfahren, wie Sie Postfix so konfigurieren, dass es Gmail SMTP für die Weiterleitung verwendet;
  • Konfigurieren Sie Postfix für die Verwendung von Gmail SMTP
  • Konfigurieren Sie Postfix für die Verwendung von Gmail SMTP unter Ubuntu 18.04
  • Anstatt die obige Cron-E-Mail-Empfängeradresse zu verwenden, können Sie Postfix-E-Mail-Aliase bearbeiten und einen Alias ​​für root auf die E-Mail-Adresse setzen, über die Sie den AIDE-Bericht erhalten möchten;
  • vim /etc/aliases
Postmeister: root
  • newaliases
  • Sie können auch einen Cron-Job installieren, um AIDE in bestimmten Zeitintervallen auszuführen;
  • sudo crontab -e
*/10 * * * * aide -c /home/koromicha/aide/aide.conf -u && cp /home/koromicha/aide/aide.db{.new,}
  • Dadurch wird die AIDE-Systemprüfung alle 10 Minuten ausgeführt und der Bericht gemäß meinem Setup per E-Mail an analyst@kifarunix-demo.com gesendet.
  • Es ist auch gut zu beachten, dass AIDE-Prüfungen ressourcenintensiv sein können und während Integritätsprüfungen zu Leistungsproblemen auf Ihrem System führen können. Wenn Sie systemweit scannen, stellen Sie sicher, dass Sie „genügend“ Ressourcen bereitstellen.



  • aide --config=/etc/aide/aide.conf --init

Links