Login
Newsletter
Werbung

Do, 11. April 2013, 15:00

Dateiüberprüfung mit iWatch

Einbruchserkennung in Echtzeit

Mit iWatch lässt sich das ganze Dateisystem eines Rechners auf Veränderungen überwachen, die sofort gemeldet werden. Dies kann zur schnellen Einbruchserkennung und für andere Zwecke dienen.

Einführung

Eines der probatesten Mittel, um Einbrüche in Rechner zu erkennen, ist die Überwachung aller kritischen Dateien auf Veränderungen. Diverse Programme stehen für solche Zwecke zur Verfügung, beispielsweise Tripwire, AIDE, Samhain und noch andere. Sie arbeiten nach dem Prinzip, Prüfsummen aller Dateien zu bilden und diese regelmäßig zu prüfen. Ihr Hauptnachteil ist die Reaktionszeit, die im ungünstigsten Fall so lang ist wie das Intervall zwischen zwei Prüfungen. Auch die Systemressourcen, die zum Verifizieren der Prüfsummen benötigt werden, können nachteilig sein.

iWatch behebt den Nachteil der Reaktionszeit auf, indem es über alle Änderungen unmittelbar informiert. Von den obigen Werkzeugen hat Samhain (ab Version 3.0) ähnliche Fähigkeiten, aber iWatch ist deutlich simpler, da es nur diese eine Funktion hat.

Installation

iWatch dürfte bei vielen Distributionen im Paketarchiv zu finden sein. Dies dürfte dann auch meist aktuell sein, denn iWatch selbst hat seit 2009 kein Update mehr erfahren. Wahrscheinlich war einfach keines mehr nötig, nachdem das Programm seinen aktuellen Funktionsumfang erreicht hatte. Es ist in Perl geschrieben und veraltet dementsprechend auch nicht. Effektiv besteht es nur aus einer Datei, die gut 500 Zeilen Perl-Code umfasst. Es steht zum Download auf Sourceforge bereit.

Bei einer manuellen Installation muss man die Voraussetzungen beachten. iWatch benötigt einen Kernel mit inotify-Unterstützung, die seit Linux 2.6.13 existiert. Die Perl-Module Linux::Inotify2, Event, Mail::Sendmail und XML::Simple müssen installiert sein, die man entweder in seinem Distributions-Archiv oder bei CPAN findet.

Einsatz

iWatch kann in zwei Modi zum Einsatz kommen: Auf der Kommandozeile und als Daemon. Ersteres ist wahrscheinlich nur für Ad-Hoc-Aktionen interessant und kann nicht gemeinsam mit dem Daemon-Modus verwendet werden. Die Einzelheiten zur Ausführung als Kommandozeilenprogramm kann man der Online-Hilfe bzw. der Dokumentationsseite entnehmen. Ein sehr einfaches Beispiel wäre:

iwatch /tmp

Eine mögliche Ausgabe dieses Aufrufs wäre (nachdem man lange genug gewartet hat):

[16/Feb/2013 19:45:01] IN_CREATE /tmp/tmpfTN2ok1
[16/Feb/2013 19:45:01] IN_DELETE /tmp/tmpfTN2ok1
[16/Feb/2013 19:45:01] * /tmp/tmpfTN2ok1 is deleted
[16/Feb/2013 19:45:01] IN_CLOSE_WRITE /tmp/tmpfTN2ok1

Das Programm läuft weiter, bis man es unterbricht.

iWatch kann grundsätzlich als Root oder normaler Benutzer ausgeführt werden. Dateien, für die man keine Zugriffsrechte hat, werden natürlich nicht überwacht, und für Dateien in einem überwachten Verzeichnis, auf das man keine Rechte hat, erhält man vom Kernel keine Benachrichtigungen.

Wird von iWatch ein Ereignis registriert, so kann es verschiedene Aktionen ausführen. Es kann eine E-Mail an eine festgelegte Adresse senden, einen Eintrag in Syslog vornehmen oder ein externes Programm ausführen. Alle diese Aktionen sind optional und können auch kombiniert werden. Im Kommandozeilenmodus wird auf jeden Fall auch eine Ausgabe auf das Terminal geschrieben.

Der gebräuchlichere Modus ist der Daemon-Modus, der z.B. von Debian standardmäßig bereits eingerichtet wird. Tatsächlich gestartet wird iWatch allerdings erst (durch /etc/init.d/iwatch start), wenn man in der Datei /etc/default/iwatch die Variable START_DAEMON auf true gesetzt hat. Zuvor sollte man die Konfigurationsdatei /etc/iwatch/iwatch.xml in Augenschein nehmen. Es handelt sich hierbei um eine XML-Datei, deren Syntax von iWatch strikt geprüft wird. Welche Einträge zulässig sind, wird aus der Dokumentation schnell klar, allerdings sind nicht alle Attribute ausdrücklich erklärt.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung