Integritätschecker überprüfen Dateien und Ordner auf Manipulationen durch Angreifer indem sie Prüfsummen (fast) aller bzw. wichtiger Dateien anlegen und später mit den gespeicherten Werten vergleichen. Manche Programme bieten auch Rootkiterkennung an.
Sehr wichtig ist die Lagerung der Signaturen am besten auf einem schreibgeschätzen Medium (Diskette mit Schreibschutz, CD, …). Andernfalls kann ein Angreifer (der bereits root-Rechte erlangt hat) die Signaturen aktualisieren. Das Aktualisieren bei Systemupdates kann so aber evtl. unkomfortabler werden. Alternativ bietet sich ein Serverkonzept (wie bei Samhain) an, dabei muss aber der Server gut abgesichert werden. Ideal ist die Verwendung von PGP-signierten Signaturdatenbanken.
Auf Unix/Linux-Systemen muss man z.B. bei neu auftauchenden Programmen mit suid/sgid-Attributen aufpassen, diese können von normalen Benutzern aufgerufen werden und laufen mit root-Rechten. Sicherheitslücken in solchen Programmen führen zur Aneignung der root-Rechte für Unbefugte („privilege escalation“). Suid-Programme lassen sich mit dem Befehl
find / -perm -4000 2>/dev/nul
finden. Die Integritätschecker sollten auch auf solche Programm achten, andernfalls kann man z.B. sxid für diese Aufgabe (evtl. auch zusätzlich) benutzen.
The SAMHAIN file integrity / intrusion detection system Host-based intrusion detection with samhain
Samhain bietet zentralisierten Management (Einzelsystem auch möäglich), umfangreiche Protokollfunktionen, PGP-Signaturen und einige Rootkit-Erkennungmechanismen.
db: /var/lib/tripwire binaries: /usr/sbin
See /usr/share/doc/tripwire/README.Debian
Aide Homepage Linux Magazin: AIDE - Host-basiertes IDS im Tripwire-Stil
Nachdem man mit
aide --init
die Datenbank initialisiert hat, sollte man diese sichern. Bei späteren Neu-initialisierungen wird immer eine neue Datenbank angelegt, die alte bleibt erhalten. Unter /var/lib/aide/
liegen dann aide.db
und aide.db.new
. Die neue Datenbank muss also auf aide.db umbenannt werden.
Am besten ist es die Datenbank auf einem schreibgeschützten Medium abzulegen, damit niemand heimlich updatet. Dann hat er allerdings schon root-Rechte und die Sache sieht nicht gut aus.
Mit
aide --update
prüft und updatet man die Datenbank interaktiv.
Mit
aide --check
überprüft man Änderungen an Dateien, am besten einen Cron-job dafür anlegen.