mtree(8)

mtree(8) als Dateisystemintegritätsprüfer einsetzen.
1 Was ist ein Dateisystemintegritätsprüfer?
2 Was ist mtree?
    2.1 Konfiguration
    2.2 Einsatz
        2.2.1 Vergleiche
    2.3 Einsatzautomatisierung



Einbruchserkennung mit mtree(8)

1 Was ist ein Dateisystemintegritätsprüfer? (Index)

Ein Dateisystemintegritätsprüfer erstellt einen Fingerabdruck einer Dateihierarchie in dem er bspw Größe, Mode, Besitzer und kryptographische Signaturen der Dateien abspeichert. Zu einem späteren Zeitpunkt kann man eine aktuelle Datenbank erstellen lassen und gegen die alte vergleichen, so das veränderte Dateien aufgespürt werden können. Der Hauptzweck ist somit Manipulationen an wichtigen Dateien bspw. durch Einbrecher oder rootkits aufzudecken.


2 Was ist mtree? (Index)

mtree ist ein Instrument um eine Dateihierarchie gegen eine Spezifikation abzugleichen. Eingesetzt wird es vor allem im build.sh Framework um die installierten Binärdateien gegen eine vorher spezifizierte Liste abzugleichen.
Seit NetBSD 1.6 verfügt mtree auch über kryptographische Prüfsummen und ist somit ein ideales Werkzeug zur Dateisystemintegrätitsprüfung.

2.1 Konfiguration (Index)

mtree -c erstellt standardmäßig Liste mit Dateieigenschaften ausgehend vom aktuellen Verzeichnis aus. ein Beispiel:
    ypbind      size=390 time=1016771641.0
    yppasswdd   size=446 time=1016771641.0
    ypserv      size=495 time=969368679.
mtree verfügt über einige Schlüsselwörter, die entsprechende Dateieigenschaften repräsentiert, einige wichtige sind: diese Schlüsselweörter können als kommaseparierte Liste und Argument für -K übergeben werden.


2.2 Einsatz (Index)

mtree -L -c -K sha1,rmd160,gname,uname,mode -p / -X /etc/mtree.excl > /root/mtree.orig


Erzeugt nun eine Liste mit den entsprechenden Dateieigenschaften, wobei die Pfade in /etc/mtree.excl ausgeschlossen werden.
Um die Datenbank effektiv einsetzen zu können, muss sie vor einem möglichen Einbrecher geschützt werden, die geschieht am einfachsten mit einer kryptographischen Signatur (PGP oder OpenSSL) oder in dem sie verschlüsselt abgelegt wird. Ebenfalls möglich ist es bei einem entfernten Rechner Prüfsummen (sha1, rmd160, md5) über die Datenbank zu erstellen und auszudrucken oder aufzuschreiben.

2.2.1 Vergleiche (Index)

Ist die Integrität der originalen Datenbank sichergestellt, kann man nun das laufende System gegen diese Datenbank abgleichen lassen. mtree macht dies automatisch mit der Option -f :
mtree -L -p / -X /etc/mtree.excl -f /root/mtree.orig

Stimmen laufendes und originales System überein, gibt mtree nichts aus.
Anders sieht es aus wenn Dateien verändert wurden:
stefan@fenris > cd mtreetest/3/;
stefan@fenris > rm 7 8 9 ; touch 1 2; date >> 3; date > new1; date > new2

stefan@fenris > mtree -p mtreetest/ -L -f init-db 
3:      modification time (Wed Feb  9 18:49:07 2005, Wed Feb  9 18:55:16 2005)
3/1:    modification time (Wed Feb  9 18:36:51 2005, Wed Feb  9 18:54:47 2005)
3/2:    modification time (Wed Feb  9 18:36:51 2005, Wed Feb  9 18:54:48 2005)
3/3:    size (6460, 6489)
        modification time (Wed Feb  9 18:48:17 2005, Wed Feb  9 18:54:52 2005)
        rmd160 (0xf30de94ae188d9114a00118e80bbedf8e2c6c6ed, 0x6a5b3781799b09e2b8d8037e89fe03957ebca247)
        sha1 (0x4c499470dcaed01c2681eb0676ddac8cf3024d5a, 0xc04159927a4e9ca5f521161d2cc8daa019fca19a)
extra: 3/new1
extra: 3/new2
missing: ./3/7
missing: ./3/8
missing: ./3/9
stefan@fenris > 


2.3 Einsatzautomatisierung (Index)

NetBSD verfügt mit daily.conf(5) und security.conf(5) über Mechanismen, die per cron täglich bestimmte Verwaltungsmaßnahmen und Sicherheitsstest durchführt. Dabei gibt es in /etc/defaults/daily.conf den Schalter run_security=YES, der security.conf ausführt. /etc/defaults/security.conf wiederum startet mittels check_mtree=YES einen mtree-Lauf. Standardmäßig verwendet mtree dazu die Datenbanken in /etc/mtree/. Hierin kann der Benutzer eigene Datenbanken als VERZEICHNIS.secure hinzufügen.
net-tex.de, Index
$Id: mtree.html,v 1.26 2014/08/21 09:24:03 stefan Exp $ 
Autor: Stefan Schumacher, stefan@net-tex.de, PGP-Key 0xB3FBAE33
für net-tex.de/cryptomancer.de

Bitte beachten Sie, das die Seite inhaltlich seit Ende 2007 nicht mehr gepflegt wird!
Aktuellere Informationen erhalten Sie auf Kaishakunin.com