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
- bin-Verzeichnis auf dem USB-Stick erstellen:
cd /media/USBSTICK && mkdir bin
- AIDE herunterladen:
wget http://heanet.dl.sourceforge.net/sourceforge/aide/aide-0.13.1.tar.gz
- entpacken:
tar xzf aide-0.13.1.tar.gz
- zur einfacheren Handhabung Verzeichnis umbennenen:
mv aide-0.13.1 aide
- ins aide-Verzeichnis wechseln:
cd aide
- AIDE so konfigurieren, dass das Verzeichnis auf dem USB-Stick genutzt wird:
./configure --prefix=/media/USBSTICK/bin/aide --exec-prefix=/media/USBSTICK/bin/aide
- etc-Verzeichnis erstellen und hineinwechseln:
mkdir etc && cd etc
- Konfigurationsdatei erstellen:
touch aide.conf
- 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