Verbessern des Datenverständnisses
Rocco Gagliardi
Vertrauen Sie Ihrem OS? Wie stellen Sie sicher, dass niemand irgendwelche Systemdateien ersetzt hat? Ein File Integrity Checker (FIC) schafft eine vertrauenswürdige Database von Dateien. Wenn diese erst einmal erstellt ist, dann kann sie die Integrität der Dateien verifizieren.
Einen FIC zu entwickeln ist, wie üblich, ein Kompromiss zwischen Usability und Sicherheit. Wenn Sie alle Dateien im System überwachen, erhalten Sie jede Menge False Positives, denn in jedem System existiert eine Vielzahl temporärer Daten oder Dateien, die stets modifiziert werden. Eine Warnung, wenn diese Dateien sich verändern, ist unter Umständen recht uninteressant. Das kommt aber ganz auf die Datei und deren Modifikation an. Ein Beispiel: In einem System, auf dem Auditing eingeschaltet ist, ist es unmöglich, dass eine abgespeicherte, nach Zeit sortierte Abfolge von Events (OS Logfile) kleiner wird. Sie können die Logfiles rotieren (ein Log abschliessen und eine neue Datei erstellen), aber der Audit Daemon ist nicht darauf ausgelegt, Events aus der Datei zu entfernen. In diesem Falle ist eine Warnung an den Administrator nur dann sinnvoll, wenn der FIC ein negatives Delta in der Grösse der Logfile feststellt (Limitierung seitens des FIC: Das stellt immer noch nicht sicher, dass die Logfile von ausserhalb manipuliert wurde. Der FIC berechnet nur das Delta zwischen der aktuellen Grösse der Logfile und deren beim vorherigen Ausführen. Wenn ein Eindringling 30kb Daten entfernt, die Logfile aber 30Mb gewachsen ist, dann ist der Delta 30Mb-30kb und daher positiv. Somit wird die Warnung nicht ausgelöst. Um sicherzustellen, dass der Ablauf der Events nicht manipuliert werden kann, müssen andere Mechanismen implementiert werden.)
Die Erstellung einer effizienten und effektiven Policy für FIC Monitoring ist eine Herausforderung. Im Folgenden wird eine solche Policy aus der Praxis besprochen. Sie soll eine solide Basis darstellen, damit sowohl Usability wie auch die Sicherheit gewahrt wird. Zudem soll sie zukunftssicher sein.
Nach einigen Tests und weiteren Anpassungen entstand die folgende Policy, die in der Folge implementiert wurde.
Directory/File | Value |
---|---|
=/boot$ | Full |
/bin | Full |
/sbin | Full |
/usr/bin | Full |
/usr/sbin | Full |
/usr/local/bin | Full |
/usr/local/sbin | Full |
/lib | Full |
/usr/local/lib | Full |
/etc | VarDir |
/etc/mtab$ | n+p+u |
/etc/cron\.daily$ | VarDir |
/etc/adjtime$ | VarFile |
/etc/resolv\.conf$ | VarFile |
/var/backups$ | VarDir |
/var/backups/lock$ | VarDir |
/var/backups/log$ | VarDir |
/var/backups/run$ | VarDir |
/var/backups/tmp$ | VarDir |
/var/run/sudo/[a-z0-9]+$ | VarDir |
/var/run/sshd.pid$ | VarFile |
/var/log/ | Log |
/dev | Full-m |
/tmp$ | OwnerMode+i |
!/tmp/ssh-[a-zA-Z0-9]{10}$ | |
!/tmp/ssh-[a-zA-Z0-9]{10}/agent.[0-9]{1,5}$ | |
!/dev/xconsole | |
!/dev/pts |
Aliases | Description | Comment |
---|---|---|
Full | p+i+n+u+g+s+b+m+c+Checksum | |
VarFile | p+u+g+n | |
VarDir | p+u+g+n+i | |
Log | p+u+g+n+S | Logs grow in size; this should only be used for logs that are not rotated |
OwnerMode | p+u+g |
Primitive | Description |
---|---|
p | permission |
i | inode |
n | number of links |
u | user |
g | group |
s | size |
b | block count |
m | mtime |
a | atime |
c | ctime |
S | check for growing size |
E | Empty group |
md5, sha1, rmd160, tiger, haval, gost,crc32 | checksums |
Die hier zur Anwendung kommende Sprache folgt dem AIDE Standard, aber der Inhalt kann auch auf andere FICs angepasst werden.
File Integrity Checker sind wichtige Bestandteile eines Security Frameworks. Die Entwicklung, das Tuning und die Instandhaltung einer effektiven und effizienten Monitoring Policy können komplexe und zeitintensive Arbeiten sein. Doch die in diesem Labs beschriebene Policy kommt in grossen RHEL-Serverumgebungen zur Anwendung und stellt einen guten Ausgangspunkt für einen soliden File Integrity Checker dar.
Unsere Spezialisten kontaktieren Sie gern!
Rocco Gagliardi
Rocco Gagliardi
Rocco Gagliardi
Rocco Gagliardi
Unsere Spezialisten kontaktieren Sie gern!