Bei Tripwire handelt es sich um ein klassisches Host-based Intrusion Detection System (IDS). Es überwacht die Eigenschaften von Dateien und Verzeichnissen, wodurch Änderungen an diesen sehr schnell erkannt werden. Der Einsatz mach also nur Sinn, wenn Datei selten geändert werden, da ansonsten ständig Fehlalarme verursacht werden. Da sich Konfigurationsdateien selten ändern, ist das Tool für die grundlegende Überwachung der Integrität eines Linuxsystems sehr gut geeignet. Der Hersteller Tripware Inc. bietet neben dem Source Code für Linux (Version 2.3.47) auch eine kommerzielle Variante für alle Betriebssysteme mit einem erweiterten Funktionsumfang an.
Es ist von großer Wichtigkeit, daß die Konfigurationsdateien von Tripwire vor unberechtigtem Zugriff geschützt werden. Gelingt es einem Angreifer dieses Dateien zu manipulieren, so kann er die Überwachung unterlaufen. Aus diesem Grund sind alle Konfigurationsdateien mit Hilfe der Public-Key Verschlüsselung signiert. Dazu werden zwei unterschiedliche Schlüssel verwendet um kritische Dateien zu schützen - einer oder gar beide werden zu Durchführung fast jeder Konfigurationsänderung in Tripware benötigt. Der „site key“ schützt Dateien, die auf verschiedenen Systemen genutzt werden können. Dazu gehören zum Beispiel die Policy- und die Konfigurationsdateien. Der „local key“ schützt Dateien, die zu jeweiligen Maschine gehören, wie zum Beispiel die Tripware Datenbank. Weitere Informationen zu den Schlüsseln sind in der twadmin (8) man page zu finden.
Ein einfaches…
apt-get install tripwire
…installiert die Programme und erstellt zwei passwortgeschütze Keys. Im Falle, dass man diesen Vorgang ein weiteres Mal durchführen möchte gibt es das Kommando…
dpkg-reconfigure tripwire
Um die zuvor gemachte Konfiguration zu aktivieren, muss das Config-File einmalig verschlüsselt werden. Beim Absetzen des Kommandos wird nach dem Passwort für den Schlüsselt gefragt.
# twadmin -m F -v -c /etc/tripwire/tw.cfg -S \ /etc/tripwire/site.key /etc/tripwire/twcfg.txt
Als nächstes wird auch die Policy-Dateien mit dem „site key“ verschlüsselt“:
# twadmin -m P -v -c /etc/tripwire/tw.cfg -S \ /etc/tripwire/site.key /etc/tripwire/twpol.txt
Nun muß noch die Datenbank angelegt bzw. initialisiert werden:
# tripwire -m i -v -c /etc/tripwire/tw.cfg -S \ /etc/tripwire/site.key -p /etc/tripwire/tw.pol -L /etc/tripwire/$(hostname)-local.key
Bei Änderungen, muss die Datenbank aktualisiert werden. Andernfalls wird beim E-Mail Report, die Liste der Dateien immer länger und es fällt schwer die Übersicht zu behalten:
tripwire -m u
Auch hier wird nach dem Passwort des Keys gefragt.
Prüfen der Daten per Crontab
# cat /etc/cron.daily/tripwire #!/bin/sh -e tripwire=/usr/sbin/tripwire [ -x $tripwire ] || exit 0 umask 027 $tripwire --check --quiet --email-report