Mit tripwire kann man das Dateisystem eines Servers nach veränderten Dateien überwachen. Zuerst installieren wir tripwire aus den Debian Paketquellen. Dabei wird nach ein Passwort für tripwire gefragt. Dann sichern wir uns die Original twpol.txt
und ändern dann die Policy darin.
root:~# apt-get install tripwire
root:~# cp /etc/tripwire/twpol.txt /etc/tripwire/twpol.txt.dist
root:~# vi /etc/tripwire/twpol.txt
# Tripwire Policy File
#
!/etc/mtab ;
!/etc/apache2 ;
/etc -> +ugisMS (emailto="postmaster@example.com");
/bin -> +ugisMS (emailto="postmaster@example.com");
/sbin -> +ugisMS (emailto="postmaster@example.com");
/usr -> +ugisMS (emailto="postmaster@example.com");
Ich habe ein Wrapper Script für das Verwalten von tripwire geschrieben, welches wir uns hier herunter laden können. Dieses Wrapper Script kopieren wir uns dann nach /usr/local/sbin/twctl
.
root:~# cp ~/tmp/twctl /usr/local/sbin/twctl
root:~# chmod 744 /usr/local/sbin/twctl
Nun leiten wir noch die Ausgabe STDOUT und STDERR im Cronjob Skript /etc/cron.daily/tripwire
nach /dev/null
um.
root:~# vi /etc/cron.daily/tripwire
#!/bin/sh -e
tripwire=/usr/sbin/tripwire
[ -x $tripwire ] || exit 0
umask 027
$tripwire --check --quiet --email-report >/dev/null 2>&1
Um die Änderungen an der twcfg.txt
zu aktualisieren, führen wir folgenden Befehl aus:
root:~# twctl config
Um die Änderungen an der twpol.txt
zu aktualisieren, führen wir folgenden Befehl aus:
root:~# twctl policy
Um unser Dateisystem zu initialisieren führen wir twctl init
aus. Diese Befehl muss jedes mal von root ausgeführt werden, wenn Änderungen an den zu überwachenden Verzeichnissen durchgeführt werden (z.B. nach ein Update der Debian Pakete).
root:~# twctl init