Installation des Advanced Intrusion Detection Environment (AIDE) auf einem USB-Stick

Diese Anleitung beschreibt die Installation und Anwendung von AIDE auf einem USB-Stick unter Ubuntu (Edgy Eft). Sie dürfte aber auch unter anderen Linux-Distributionen in leicht abgeänderter Form funktionieren. Der in dieser Anleitung verwendete USB-Stick wird unter /media/USBSTICK ins System eingehängt (gemountet).

Das Prinzip von AIDEs Arbeitsweise:

  • AIDE macht eine Zustandsaufnahme in die Datenbank „aide.db.new“
  • Der User bennent diese Datenbank in „aide.db“ um und sichert sie auf ein Medium, welches später im „read-only“-Zustand eingebunden werden kann
  • AIDE vergleicht nach definierten Regeln diese „aide.db“ mit späteren „aide.db.new“-Dateien und gibt die Unterschiede aus.

Zum Kompilieren von aide benötigt man folgende Ubuntu (Edgy Eft)-Pakete:

sudo apt-get install libmhash-dev libgpg-error-dev gcc bison flex

Installation

  1. bin-Verzeichnis auf dem USB-Stick erstellen:
    cd /media/USBSTICK && mkdir bin
  2. AIDE herunterladen:
    wget http://heanet.dl.sourceforge.net/sourceforge/aide/aide-0.13.1.tar.gz
  3. entpacken: tar xzf aide-0.13.1.tar.gz
  4. zur einfacheren Handhabung Verzeichnis umbennenen:
    mv aide-0.13.1 aide
  5. ins aide-Verzeichnis wechseln: cd aide
  6. AIDE so konfigurieren, dass das Verzeichnis auf dem USB-Stick genutzt wird:
    ./configure --prefix=/media/USBSTICK/bin/aide --exec-prefix=/media/USBSTICK/bin/aide
  7. etc-Verzeichnis erstellen und hineinwechseln:
    mkdir etc && cd etc
  8. Konfigurationsdatei erstellen: touch aide.conf
  9. Programm kompilieren: sudo make && sudo make install

Konfiguration und Regelerstellung

Um AIDE benutzen zu können, muss die Konfigurationsdatei, die in Schritt 8 erstellt wurde, mit sinnvollen Werten gefüllt werden. Als erstes werden in der aide.conf die Pfade für die Datenbanken festgelegt:

database=file:/media/USBSTICK/bin/aide/etc/aide.db
database_out=file:/media/USBSTICK/bin/aide/etc/aide.db.new

Dann erstellt man Regeln. Die möglichen Schalter für die Dateiprüfung sind:

   #p:      permissions
   #i:      inode
   #n:      number of links
   #l:      link name
   #u:      user
   #g:      group
   #s:      size
   #b:      block count
   #m:      mtime
   #a:      atime
   #c:      ctime
   #S:      check for growing size
   #I:      ignore changed filename
   #md5:    md5 checksum
   #sha1:   sha1 checksum
   #sha256: sha256 checksum
   #sha512: sha512 checksum
   #rmd160: rmd160 checksum
   #tiger:  tiger checksum
   #haval:  haval checksum
   #crc32:  crc32 checksum
   #R:      p+i+l+n+u+g+s+m+c+acl+selinux+xattrs+md5
   #L:      p+i+l+n+u+g+acl+selinux+xattrs
   #E:      Empty group
   #>:      Growing logfile p+l+u+g+i+n+S+acl+selinux+xattrs
   #The following are available if you have mhash support enabled:
   #gost:   gost checksum
   #whirlpool: whirlpool checksum
   #The following are available when explicitly enabled using configure:
   #acl:    access control list
   #selinux SELinux security context
   #xattr:  extended file attributes

Eine Regel ist eine Kombination verschiedener Schalter, wie

Checksums = md5+sha1+rmd160+haval+gost+crc32+tiger

oder

MyRule = p+i+n+u+g+s+b+m+c+md5+sha1

Diese Regeln weist man den zu überprüfenden Verzeichnissen zu.

/etc p+i+u+g
/bin MyRule

Um bestimmte Verzeichnisse von der Prüfung auszuschließen, stellt man ihnen ein Ausrufezeichen voran:

!/var/log/.*

(Weitere Regelbeispiele sind im AIDE manual zu finden.)

Anwendung

Nach dem Kompilieren findet man unter /media/USBSTICK/bin/aide ein bin-Verzeichnis. Einmal da rein wechseln

cd bin

… und man kann beim ersten Start eine Zustandsdatenbank anlegen lassen:

sudo ./aide --init

Das dauert jetzt je nach Größe des Systems ein Weilchen. Danach findet man im etc-Verzeichnis

cd ../etc/

… die eben erstellte Datenbank aide.db.new. Diese kopiert man nach aide.db

cp aide.db.new aide.db

In Zukunft kann man die aktuelle Prüfung (aide.db.new) mit der vorherigen (aide.db) vergleichen lassen:

sudo ./aide -u

Weiter Optionen von aide stehen unter

sudo ./aide -h