Was ist AIDE?
AIDE (Advanced Intrusion Detection Environment) ist ein Host-based Intrusion Detection System (HIDS), das die Integrität von Dateien überwacht.
Dabei erstellt AIDE zunächst eine Referenzdatenbank aller überwachten Dateien. Bei späteren Prüfungen werden die aktuellen Dateieigenschaften mit dieser Datenbank verglichen. So lassen sich Veränderungen schnell erkennen – unabhängig davon, ob sie durch Administratoren, Softwareupdates oder einen Angreifer verursacht wurden.
AIDE überprüft unter anderem:
- Dateigröße
- Dateiberechtigungen
- Eigentümer und Gruppen
- Zeitstempel
- Inode-Nummern
- ACLs
- Extended Attributes
- kryptografische Prüfsummen (SHA-256, SHA-512 usw.)
- Dateityp
- Link-Ziele
Dadurch eignet sich AIDE hervorragend, um unbemerkte Änderungen an sicherheitskritischen Dateien aufzudecken.
Warum Dateiintegrität wichtig ist
Viele Angriffe verändern bestehende Dateien, anstatt neue Schadsoftware abzulegen.
Beispiele:
- Manipulation von
/bin/login - Austausch von SSH-Binärdateien
- Veränderung der
sudoers-Datei - Modifizierte Apache- oder Nginx-Konfigurationen
- Austausch von PHP-Dateien
- Einfügen von Backdoors in Webanwendungen
- Manipulation von Cronjobs
- Änderung von Systembibliotheken
Ohne eine Integritätsprüfung bleiben solche Veränderungen häufig unbemerkt.
Vorteile von AIDE
AIDE bietet zahlreiche Vorteile:
- Open Source
- kostenlos
- geringer Ressourcenverbrauch
- kryptografische Integritätsprüfung
- flexible Konfiguration
- Unterstützung moderner Hashverfahren
- ideal für Server und virtuelle Maschinen
- automatisierbar
- distributionsübergreifend einsetzbar
Installation unter Debian 13
Zunächst die Paketlisten aktualisieren:
sudo apt update
Anschließend AIDE installieren:
sudo apt install aide
Version anzeigen:
aide --version
Konfigurationsdateien
Die Hauptkonfiguration befindet sich unter:
/etc/aide/aide.conf
Weitere Konfigurationsdateien liegen häufig in:
/etc/aide/aide.conf.d/
Dadurch lässt sich die Konfiguration modular erweitern.
Referenzdatenbank erstellen
Nach der Installation muss zunächst eine Datenbank erstellt werden.
sudo aideinit
Je nach System kann dieser Vorgang einige Minuten dauern.
Die erzeugte Datenbank befindet sich beispielsweise unter:
/var/lib/aide/aide.db.new
Anschließend wird sie aktiviert:
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
Erst danach können Integritätsprüfungen durchgeführt werden.
Ersten Integritätscheck starten
Der eigentliche Vergleich erfolgt mit:
sudo aide --check
AIDE vergleicht nun sämtliche überwachten Dateien mit der Referenzdatenbank.
Aufbau der Ausgabe
Eine typische Zusammenfassung sieht beispielsweise so aus:
AIDE found differences between database and filesystem Added files Removed files Changed files
Dabei unterscheidet AIDE zwischen:
- neuen Dateien
- gelöschten Dateien
- geänderten Dateien
- geänderten Berechtigungen
- geänderten Prüfsummen
- Eigentümeränderungen
Beispiel einer Dateiveränderung
Changed entries: /etc/ssh/sshd_config
Anschließend werden die geänderten Eigenschaften angezeigt.
Zum Beispiel:
- SHA256
- Größe
- Zeitstempel
- Berechtigungen
Dadurch lässt sich schnell erkennen, welche Änderungen vorgenommen wurden.
Datenbank nach Updates aktualisieren
Nach geplanten Änderungen – beispielsweise nach Systemupdates – muss die Referenzdatenbank aktualisiert werden.
Neue Datenbank erzeugen:
sudo aide --update
Danach:
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
Nur so werden legitime Änderungen künftig nicht mehr als Manipulation erkannt.
Wichtige Überwachungsbereiche
AIDE sollte insbesondere folgende Verzeichnisse überwachen:
/bin /sbin /usr/bin /usr/sbin /etc /boot /lib /lib64 /opt
Webserver:
/var/www
Konfigurationsdateien:
/etc/ssh /etc/systemd /etc/apache2 /etc/nginx
Dateien bewusst ausschließen
Nicht alle Dateien eignen sich für eine Integritätsprüfung.
Beispielsweise ändern sich häufig:
- Logdateien
- Cache-Dateien
- temporäre Dateien
- Datenbanken
- Session-Dateien
Diese sollten ausgeschlossen werden.
Beispiele:
!/var/log !/tmp !/var/cache !/run
Dadurch reduziert sich die Anzahl unnötiger Meldungen erheblich.
Welche Hashverfahren verwendet AIDE?
AIDE unterstützt unter anderem:
- SHA-256
- SHA-512
- SHA-1
- Whirlpool
- CRC32
Empfohlen werden heute SHA-256 oder SHA-512.
Berichte auswerten
Ein typischer Bericht enthält beispielsweise:
Added entries Removed entries Changed entries
Besonders kritisch sind Änderungen an:
- SSH
- sudo
- PAM
- passwd
- shadow
- Apache
- Nginx
- Kerneldateien
Diese sollten immer überprüft werden.
Automatische tägliche Prüfung
AIDE lässt sich problemlos automatisieren.
Beispielsweise per Systemd-Timer oder Cronjob:
sudo aide --check
Der Bericht kann anschließend per Mail versendet oder zentral ausgewertet werden.
Kombination mit anderen Sicherheitswerkzeugen
AIDE entfaltet seine volle Stärke im Zusammenspiel mit weiteren Sicherheitslösungen.
Empfehlenswert sind:
- Lynis
- RKHunter
- Fail2ban
- UFW
- AppArmor
- auditd
- ClamAV
- Wazuh
- OSSEC
Jedes dieser Werkzeuge deckt einen anderen Bereich der IT-Sicherheit ab.
Grenzen von AIDE
AIDE erkennt ausschließlich Änderungen an Dateien.
Nicht erkannt werden beispielsweise:
- Netzwerkangriffe
- Brute-Force-Angriffe
- DDoS-Angriffe
- Zero-Day-Exploits
- laufende Prozesse
- Speicher-Manipulationen
AIDE ersetzt daher weder einen Virenscanner noch ein SIEM oder eine Firewall.
Best Practices
Für einen sicheren Linux-Server empfiehlt sich folgendes Vorgehen:
- AIDE direkt nach der Grundinstallation einrichten.
- Referenzdatenbank unmittelbar nach einem sauberen Systemzustand erstellen.
- Integritätsprüfungen täglich automatisieren.
- Änderungen zeitnah analysieren.
- Referenzdatenbank nur nach geplanten Änderungen aktualisieren.
- Log-, Cache- und temporäre Dateien ausschließen.
- Berichte archivieren.
- AIDE mit Lynis und RKHunter kombinieren.
- Nach größeren Updates eine neue Datenbank erstellen.
- Die Referenzdatenbank vor unbefugtem Zugriff schützen, beispielsweise durch restriktive Dateiberechtigungen oder eine Offline-Kopie.
AIDE, RKHunter oder Lynis?
Alle drei Werkzeuge verfolgen unterschiedliche Ziele und ergänzen sich ideal.
Dateiintegrität prüfen
- AIDE: ✓
- RKHunter: Teilweise
- Lynis: Teilweise
Rootkits erkennen
- AIDE: Nein
- RKHunter: ✓
- Lynis: Teilweise
Sicherheits-Audit
- AIDE: Nein
- RKHunter: Eingeschränkt
- Lynis: ✓
System-Hardening
- AIDE: Nein
- RKHunter: Nein
- Lynis: ✓
Konfigurationsanalyse
- AIDE: Nein
- RKHunter: Teilweise
- Lynis: ✓
Empfehlungen zur Härtung
- AIDE: Nein
- RKHunter: Wenige
- Lynis: Umfangreich
Automatisierung
- AIDE: ✓
- RKHunter: ✓
- Lynis: ✓
Geeignet für regelmäßige Sicherheitsprüfungen
- AIDE: ✓
- RKHunter: ✓
- Lynis: ✓
Empfehlung: Für ein möglichst hohes Sicherheitsniveau sollten alle drei Werkzeuge gemeinsam eingesetzt werden. Lynis unterstützt bei der Systemhärtung, RKHunter erkennt bekannte Rootkits und manipulierte Systemkomponenten, während AIDE Änderungen an Dateien und Verzeichnissen zuverlässig dokumentiert.
AIDE ist ein unverzichtbares Werkzeug für Administratoren, die die Integrität ihrer Linux-Systeme dauerhaft überwachen möchten. Durch den Vergleich kryptografischer Prüfsummen und weiterer Dateieigenschaften erkennt AIDE selbst kleine Veränderungen an sicherheitsrelevanten Dateien zuverlässig.
In Kombination mit regelmäßigen Sicherheitsupdates, einer Firewall, Intrusion-Detection-Lösungen wie RKHunter sowie Hardening-Analysen mit Lynis bildet AIDE einen wichtigen Baustein eines professionellen Sicherheitskonzepts. Besonders auf produktiven Servern und in sicherheitskritischen Umgebungen sollte eine automatisierte Integritätsprüfung fester Bestandteil der Betriebsprozesse sein.