AIDE ist ein sogenanntes Host-based intrusion Detection System, kurz HIDS welches Veränderungen an Dateien überwacht und den Administrator darüber informiert. Durch berechnen eines Hashes für jede überwachte Datei sollen auch Veränderungen an Dateien auffallen, bei denen weder Größe noch Zeitstempel verändert wurden. Ein HIDS kann somit nicht helfen einen Einbruch zu verhindern, es hilft aber zu erkennen dass überhaupt ein Einbruch stattgefunden hat, bzw. hilft herauszufinden worüber der Einbruch stattgefunden hat. Um zu viele falsche Alarme zu verhindern bringt AIDE standardmäßig einige Regeln mit, so erwartet es  z.B. von Logfiles dass diese sich täglich ändern und täglich größer werden.

AIDE kann unter Ubuntu direkt aus den Paketquellen installiert werden. Bevor das Programm gestartet werden kann muss es allerdings konfiguriert werden.

sudo apt-get install aide

Die Konfiguration wird über die Dateien /etc/aide/aide.conf und /etc/default/aide vorgenommen

sudo nano /etc/aide/aide.conf

Wie immer lohnt es sich die Konfigurationsdatei einmal komplett zu lesen, um einen Überblick zu bekommen was das Programm an Einstellmöglichkeiten bietet. Ich werde hier nur auf einige Einstellungen eingehen, das bedeutet jedoch nicht dass die anderen nicht auch interessant sind.

Die erste Einstellung die es zu überdenken gilt sind die verwendeten Hashingalgorithmen. In den Standardeinstellungen bildet AIDE sieben verschiedene Checksummen für jede überwachte Datei. Ob der dafür nötige Rechenaufwand und Zeit gerechtfertigt ist muss jeder selbst entscheiden. Ich denke jedoch dass zwei Hashes pro Datei mehr als ausreichend sind. In diesem Fall kann die Zeile

Checksums = sha256+sha512+rmd160+haval+gost+crc32+tiger

geändert werden auf z.B.

Checksums = sha512+tiger

Jetzt kann die Datei gespeichert und geschlossen werden. Als nächstes wird die /etc/default/aide geöffnet

sudo nano /etc/default/aide

Auch hier wieder einige der wichtigsten Einstellungen

CRON_DAILY_RUN=yes

Hier wird angegeben ob AIDE einmal täglich automatisch von einem Cronjob ausgeführt werden soll. Tauscht man yes gegen no, wird diese Funktion deaktiviert.

MAILTO=mainname@example.com

Hier wird die Mailadresse angegeben auf die man die Berichte von AIDE erhalten möchte. Das System muss hierzu so konfiguriert sein dass es Emails versenden kann, wie z.B. in Postfix mit Gmail als Smarthost konfigurieren beschrieben.

COPYNEWDB=no

AIDE speichert die Hashes aller überwachten Dateien in einer Datenbank. Beim nächsten Lauf werden die neu berechneten Hashes mit den alten Hashes aus der Datenbank verglichen und Veränderungen so bemerkt. Mit COPYNEWDB=no wird die alte Datenbank nie überschrieben. Im Idealfall hat man die erste Datenbank auf einem neu installierten sauberen System erstellt. Somit wird bei jeden Lauf von AIDE die Veränderungen seit der Neuinstallation aufgezeigt. Mit COPYNEWDB=yes überschreibt die neu erstellte Datenbank die alte. Die Dateien werden also immer mit dem letzten Lauf (i.d.R. also dem Vortag) verglichen. Veränderungen über einen längeren Zeitraum kann man in den Logfiles von AIDE oder in den täglichen Emailreports feststellen.


TRUNCATEDETAILS=yes
FILTERUPDATES=yes
FILTERINSTALLATIONS=yes

Wenn diese drei Punkte auf yes gesetzt werden erhält man täglich einen verkürzten Emailreport. AIDE überprüft dafür das Logfile /var/log/dpkg.log und blendet Änderungen durch Paketinstallationen und Sicherheitsupdates aus. Diese Einstellung betrifft nur den Email Report, das Logfile von AIDE enthält weiterhin sämtliche Veränderungen am System.

Die Konfiguration von AIDE ist hiermit abgeschlossen. Nun kann AIDE zum ersten Mal gestartet werden. Mit dem Befehl

sudo aideinit

wird die erste Datenbank unter /var/lib/aide/aide.db.new erstellt. Je nach größe des Systems und zur Verfügung stehende Rechenleistung kann dies eine ganze Weile dauern. AIDE benötigt immer zwei Datenbanken die es miteinander verlgleichen kann, und zwar immer die neue aide.db.new mit der alten Datenbank aide.db. Daher müssen wir die soeben erstellte Datenbank umbenennen mit

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

AIDE ist hiermit fertig installiert und konfiguriert. Der erste reguläre Lauf wird vom Cronjob automatisch gestartet. Wer darauf nicht warten will kann diese auch manuell auslösen mit

sudo /etc/cron.daily/aide


Dieser Artikel ist lizensiert unter einer Creative Commons Namensnennung 4.0 International Lizenz.

2 Comments

  1. WHen I run this manually I get an error:

    „`
    # /etc/cron.daily/aide
    /etc/cron.daily/aide: line 79: update-aide.conf: command not found
    /etc/cron.daily/aide: line 21: onexit: command not found

    „`