Es sollte anspruchslos an die Ressourcen sein, nicht noch ein Daemon, der wertvollen Arbeitsspeicher in Besitz nimmt. Es sollte standardmäßig lautlos sein und nur Alarm geben, wenn es etwas Verdächtiges zu melden gibt und ganz klar, es musste ein nützliches Werkzeug sein, welches vor einer Vielzahl von Sicherheitsproblemen warnen konnte und regelmäßig das System auf Unregelmäßigkeiten überprüft.
So habe ich Tiger gefunden. Wie alle Programme in diesem Bereich ist auch Tiger nur ein Mosaikstein, um den Server etwas sicherer zu machen. Mich hat das modulare Design und die einfache Konfiguration überzeugt. Die meisten Module sind in purem Shell-Skript geschrieben und greifen ausschließlich auf UNIX-Werkzeuge zurück, um z.B. Datei- und Benutzerrechte zu überprüfen, unbenutzte Accounts anzuzeigen oder verdächtige Prozesse zu melden.
Des Weiteren existieren noch systemspezifische Programme, die im Fall von Debian die Md5-Summe von installierten Paketen überprüfen. Bei Veränderungen wird per Mail gewarnt. Neben Tiger werden noch John "the Ripper", chkrootkit und ab Wheezy auch Tripwire oder Aide als empfohlene Pakete installiert.
John versucht die Passwörter der Benutzer zu knacken und meldet schwache an den Admin oder direkt an den Benutzer. Chkrootkit testet auf typische Veränderungen, die von Rootkits verursacht werden und Tripwire bzw. Aide melden ebenfalls, ob wichtige Systemdateien verändert worden sind, nachdem zuvor in einer Datenbank der Ursprungszustand definiert worden ist.
Bedienung
aptitude install tiger
- cronrc. Die Skripte und Module laufen zu festgelegten Zeiten und werden durch Cron gesteuert. Die Konfigurationsdatei hierfür ist /etc/tiger/cronrc. Ich habe hier lediglich die Ausführung des Moduls "check_system" auf 3.00 Uhr geändert, weil zu dieser Zeit die wenigsten Leute auf dem Server spielen, um dadurch beeinträchtigt werden zu können. Check_System ist CPU-intensiv und überprüft unter anderem mit deb_checkmd5sums die Integrität aller installierten Pakete.
- tigerrc. In /etc/tiger/tigerrc lässt sich wiederum festlegen, welche Checks ausgeführt werden sollen und welche nicht, wenn man Tiger manuell mit dem Befehl
tiger
aufruft. Dazu setzt man hinter dem betreffenden Modul entweder ein Y für Ja oder ein N für Nein. Die Datei ist sehr gut dokumentiert und ziemlich selbsterklärend. - tiger.ignore. In /etc/tiger/tiger.ignore kann Output eingetragen werden, der durch Tiger ignoriert werden soll.
Am Anfang wird Tiger mehrere Mails mit Warnungen verschicken, danach nur noch, wenn sich etwas geändert hat. Jede Warnung enthält einen typischen Code, z.B. [cron005w]. Das mitgelieferte Programm tigexp liefert dann die Erkenntnis, um was für ein Problem es sich handelt.
tigexp cron005w
Bei Debian ist es Standard, dass jeder Benutzer einen Cronjob anlegen darf. Das Verhalten kann man unterbinden, indem die Datei /etc/cron.allow angelegt und root eingetragen wird, wodurch schließlich nur noch der Admin diese Aufgaben erstellen darf.
Es gibt einige Warnungen, die gar nicht bedrohlich sind. Tiger regt jedoch an darüber nachzudenken. Insgesamt finde ich, dass das gesamte Paket eine interessante und nützliche Ergänzung für den Spieleserver ist.
Tolles Tutorial, generell tolle Seite. Hab sie mal in meiner Linksammlung empfohlen.
Deine Erklärungen bringen immer alles nötige, sind aber nicht überladen.
Zu dieser hier habe ich mal eine Frage:
Wenn ich das richtig verstehe, läuft Tiger ja als cronjob, aber außerhalb des üblichen debian-cronjob-Systems? Von wem wird Tiger aufgerufen?
Aber viel wichtiger für mich ist:
Tripwire wird ja zusätzlich installiert und es wird für Tripwire der gewöhnliche Cronjob in cron.daily angelegt. Ist das dann nicht überflüssig, weil Tiger ja auch schon Tripwire aufruft?
Oder ist es so, dass Tiger Tripwire einfach mitbringt, das aber autonom läuft. In der cronrc von Tiger ist der Aufruf von Tripwire ja per default auskommentiert.
Auf den Punkt gebracht: Ist es gleichzeitig ausreichend und NICHT doppelt-gemoppelt, wenn man die Standard-Config verwendet? (Alles nach deiner Anleitung ausgeführt)
herzlichen Dank für deinen Kommentar.
Tiger wird als normaler Cron-Job in einem Debian-System aufgerufen. Dafür gibt es /etc/cron.d/tiger, das wiederum /usr/sbin/tigercron ausführt und die Konfiguration in /etc/tiger/cronrc berücksichtigt.
/etc/tiger/tigerrc ist die Konfigurationsdatei, wenn man Tiger manuell mit dem Befehl
tiger
aufruft. Ich habe das eben im Artikel noch mal deutlicher gemacht.Standardmäßig ist Tripwire bei Tiger deaktiviert. In der Konfiguration wird auch empfohlen Tripwire oder Aide separat zu konfigurieren. Man kann also Tripwire über Tiger starten lassen, aber ich würde es als eigenständige Anwendung betrachten und dementsprechend konfigurieren.
Zusammengefasst: Die Standardkonfiguration bei Tiger ist schon ziemlich gut und ich würde sie so beibehalten. Wenn du Tripwire noch zusätzlich benutzen möchtest, würde ich es unabhängig von Tiger konfigurieren und die Einstellungen in Tiger auskommentiert lassen.
Wow, die Antwort kam flott. Vielen Dank dafür.
Hab nochmal nachgesehen, ist alles genauso im cron-Verzeichnis, wie du sagst. Muss es beim ersten Schauen übersehen haben. Das wäre geklärt.
Den Rest bzgl. Tripwire denke ich auch verstanden zu haben. Ich vermute, dass du in deinem letzten Absatz meintest „Wenn du Tripwire NICHT zusätzlich benutzen möchtest…“
Jedenfalls fasse ich das jetzt so auf.
Tripwire läuft bei mir jetzt separat und wird nicht von Tiger aufgerufen. Funktioniert auch alles ohne Probleme.
Nochmal Danke für die schnelle Hilfe.
Gruß,
Fabian