Mit dem hostbasierten Einbruchserkennungs-System AIDE monitoren Sie Dateiveränderungen und Datei-Zugriffe. Das unter GNU/GPL lizensierte Aide 0.15.1 ist ein Dateiintegritätschecker, der mit Hilfe von Checksummen Dateien auf Veränderungen und Zugriffe hin überwacht. Aide benachrichtigt den Serveradministrator über Veränderungen per E-Mail und ist in den meisten unixnahen Betriebssystemen bereits als fertiges Paket über den Paketmanager installierbar.
Das Intrusion-Detection System (IDS) liegt beispielsweise in den Ports von OpenBSD und Freebsd sowie in den Standardsoftware-Repositories von CentOS, Redhat, Debian und Ubuntu. Der Fileintegritätschecker bewahrt Sie keinesfalls vor einer feindlichen Übernahme des Systems, er benachrichtigt Sie nur via Mail darüber, dass jemand sich am System vergangen hat.
Loggen Sie sich auf der Maschine ein und wechseln Sie zum User Root:
su
Installieren Sie aide aus den Standardsoftwarearchiven mit
apt-get update && apt-get install aide
Tragen Sie folgende Konfigurationsparameter in die  Datei /etc/aide/aide.conf ein
nano /etc/aide/aide.conf

#Eigenes Ruleset
custor = s+m+b+p+i+n+g+u+c+l+sha256
# Auszulassende Verzeichnisse
# Aide überschüttet einen mit Fehlermeldungen, wenn man diese Verzeichnisse nicht
# exkludiert.
!/var/log/.*
!/tmp
!/etc/mtab
!/dev
!/usr/share/terminfo
!/usr/src
!/usr/mnt
!/etc/adjtime
!/proc
!/mnt
!/usr/lib/python*
!/etc/network/run
# Zu überwachende Verzeichnisse
# Überwache den /Ordner mit dem Ruleset “custor”
/etc custor
/bin custor
/sbin custor
/usr/bin custor
/usr/local custor
/usr/sbin custor

TIPP!

TIPP!

-Nutzen Sie den Befehl man aide.conf und schauen Sie sich die verschiedenen Trigger (p i n g u) für die Rules im Abschnitt “Default Groups”  an.
-Widmen Sie einen kurzen Augenblick den Regular Expressions, die verwendet werden, um z.B. rekursive Regeln für Ordnerstrukturen zu erstellen.
Editieren Sie im nächsten Schritt die Datei /etc/default/aide mit einem Editor und setzen Sie die nachfolgenden Werte
nano /etc/default/aide

# Ändern Sie Ihre Mailadresse in der Datei etc/default/aide
MAILTO=Ihre@MailAdresse13342.de
# Die alte Datenbank wird automatisch mit der neu erstellten Datenbank
# überschrieben

COPYNEWDB=YES

Speichern Sie die eben erstellten Konfigurationsdateien und initialisieren Sie die Aide Datenbank:
# update-aide.conf verbindet die Dateien /etc/aide/aide.conf und /etc/aide/aide.conf.d zur gemeinsamen Konfigurationsdatei /var/lib/aide/config-autogenerated
update-aide.conf && aideinit -y -f
Laden Sie die eben erstellte Datei “aide.db.new” auf Ihren lokalen Rechner und brennen Sie sie auf eine CD.
Sollten Sie keine Root Logins auf dem Server erlauben, kopieren Sie die eben erstellte Datei in einen Ordner, auf den Ihr Loginuser Zugriff hat und chownen (Eigentümeränderung) Sie diese aus der Rootshell:
chown loginuser:loginuser /var/lib/aide/aide.db.new && cp /var/lib/aide/aide.db.new /home/loginuser/aide.db.new
Erstellen Sie einen Cronjob, der täglich eine Reportmail über (nicht vorhandene) Änderungen auf dem Server verschickt.
Öffnen Sie die Datei /etc/cron.daily/aide.cron
nano /etc/cron.daily/aide.cron
Tragen Sie folgenden Inhalt in die Datei ein.
/usr/bin/aide –c /etc/aide/aide.conf | /usr/bin/mail -s “Aides Daily Log” a@web.de
Testen Sie die Funktion des Cron Aufrufes, indem Sie folgendes in der Rootshell eingeben:
/etc/cron.daily/aide.cron
Testen Sie im nächsten Schritt den manuellen Check mit folgendem Befehl aus einer Rootshell:
touch /etc/evilroot
aide –c /etc/aide/aide.conf | less
Schliessen Sie das Outputfenster mit q
Neue Einträge in der /etc/aide/aide.conf aktivieren Sie mit dem Befehl:
update-aide.conf
Eine neue Konfigurationsdatei und neue Datenbankhashes erstellen Sie mit:
rm /var/lib/aide/aide* && update-aide.conf && aideinit -f -y

Fazit: Aide ist ein nützlicher Helfer, stellt jedoch keinen 100%igen Garant für Sicherheit dar.
Ein Angreifer kann sein Rootkit beispielsweise in genau den Ordnern ablegen, die Sie in der aide.conf nicht angegeben haben.
Überdenken Sie die Option, Ihre anfänglich erstellte aide.db Datenbank stets extern zu lagern und bei Bedarf zu uploaden oder alternativ die aide.db Datei mit Pgp zu signieren.
Aide stellt eine wunderbare Ergänzung zu einem Virenscanner dar und bietet eine elegante Möglichkeit seine Dropboxdaten zu überwachen.

Kompiliert man aide von Hand, stehen optional  z.B. Postgresanbindungsmöglichkeiten, das Signieren der aide.conf und der generierten Datenbank zur Verfügung. Weitere Flags, bzw. “./configure –with” Optionen erlauben die Einbindung von Syslog und Syslog-ng in ein Security Information Event System (SIEM),  das Herunterladen von Homepageinhalten und dessen Integritätscheck via curl von einem lokalen System aus.
Fallstricke “Known Errors”

  •   “open_dir():No such file or directory: /dev/.udev/db/bsg:0.0.0.0”

Die aide.conf braucht einige Konfigurationseinträge, wie !/proc

  • Punkte in Dateinamen müssen escaped werden -hier am Beispiel /home/loginuser/.ssh      /home/loginuser/.ssh
  •   Nach der Eingabe von aideinit erscheint die Fehlermeldung:

30: Error in expression: XXX    Configuration Error   AIDE –init return code 17
Die Regel (oben im Beispiel “custor”) muss vor den gelisteten Verzeichnissen stehen

  • Old db contains a entry that shouldn’t be there, run –init or –update

Verwenden Sie aktuelle Hashsummen, nicht md5!

Die Aide Rule-Konfigurationsparameter im Detail:
p permissions    / Dateizugriffsrechte
i inodes            / Inodes enthalten Metainformationen, wie zB permissions
n nodes            / Anzahl Links, die auf die relevante Datei zeigen
g group            / Eigentümergruppe
u user              / Eigentümer
c access           / Letzte Zugriffszeit
s size               / Dateigrösse
m modification / Letze Bearbeitungszeit der Datei
b block count   / Anzahl belegter Blöcke im Dateisystem
l links              / Anzahl Links
> Logs            /  Überwachung eines Logs auf Zuwachs
md5 md5 hash  / md5 Checksummenhash
sha256 sha256 hash/ sha256 Checksummenhash
Eine neue Konfigurationsdatei und neue Datenbankhashes erstellen Sie mit:
rm /var/lib/aide/aide* && update-aide.conf && aideinit -f -y
Einen manuellen Check auf Änderungen und Zugriffe starten Sie mit
aide -c /etc/aide/aide.conf