Product SiteDocumentation Site

10.5. Geniale/paranoide Ideen — was Sie tun können

Dies ist wahrscheinlich der unsicherste und lustigste Abschnitt, da ich hoffe, dass manche der »Wow, das klingt verrückt«-Ideen umgesetzt werden. Im Folgenden werden nur ein paar Ideen vorgestellt, wie Sie Ihre Sicherheit erhöhen können — abhängig von Ihrem Standpunkt aus können Sie sie für genial, paranoid, verrückt oder sicher halten.
  • Mit Pluggable Authentication Modules (PAM) herum spielen. Wie in einem phrack 56 Artikel geschrieben wurde, ist das Schöne an PAM, dass »Ihrer Fantasie keine Grenzen gesetzt sind.« Das stimmt. Stellen Sie sich vor, Root kann sich nur mit einen Fingerabdruck oder Abtastung des Auges oder einer Kryptokarte einloggen (warum habe ich hier nur »oder« und nicht »und« gesagt?).
  • Faschistisches Protokollieren. Ich würde sagen, dass alles, was wir bisher über Protokollieren besprochen haben, unter »weiches Loggen« fällt. Wenn Sie echtes Protokollieren betreiben wollen, besorgen Sie sich einen Drucker mit Endlos-Papier und schicken ihm alle Protokolle. Hört sich lustig an, ist aber zuverlässig und kann nicht manipuliert oder entfernt werden.
  • CD-Distribution. Diese Idee ist sehr leicht zu realisieren und bewirkt ganz gute Sicherheit. Erstellen Sie eine abgesicherte Debian-Distribution mit passenden Firewall-Regeln. Erstellen Sie davon ein bootbares ISO-Image und brennen Sie es auf eine CD-ROM. Jetzt haben Sie eine nur lesbare Distribution mit etwa 600 MB Speicherplatz für Dienste. Stellen Sie lediglich sicher, dass alle Daten, die geschrieben werden sollen, übers Netz geschrieben werden. Für einen Eindringling ist es unmöglich, Schreibzugriff auf diesem System zu erhalten. Alle Änderungen, die ein Eindringling vornimmt, werden mit einem Neustart des Systems rückgängig gemacht.
  • Schalten Sie die Modul-Fähigkeiten des Kernels ab. Wenn Sie die Nutzung von Kernel-Modulen während der Kernel-Kompilierung abschalten, werden viele kernelbasierte Hintertüren nicht einsetzbar, da die meisten von ihnen darauf beruhen, modifizierte Kernel-Module zu installieren (siehe oben).
  • Protokollieren über ein serielles Kabel (von Gaby Schilders). So lange Server immer noch serielle Schnittstellen haben: Stellen Sie sich ein Protokollsystem für eine Anzahl von Servern vor. Es ist vom Netz abgeschnitten und mit den Servern über einen Multiplexer für serielle Schnittstellen (Cyclades oder ähnliches) verbunden. Jetzt sollen alle Ihre Server die Protokolle an ihre serielle Schnittstelle schicken, einfach nur hinschreiben. Die Protokollmaschine akzeptiert nur einfachen Text als Eingabe auf ihrer seriellen Schnittstelle und schreibt ihn lediglich in eine Protokolldatei. Schließen Sie einen CD- oder DVD-Brenner an. Brennen Sie die Protokolldatei, wenn sie die Größe des Mediums erreicht hat. Wenn es jetzt nur noch CD-Brenner mit automatischem Medien-Wechsel gäbe ... Nicht so dauerhaft gespeichert wie ein Ausdruck, aber mit dieser Methode kann man größere Mengen handhaben und die CD-ROMs nehmen nicht so viel Platz weg.
  • Ändern Sie die Dateiattribute mit chattr (dem Tipps-HOWTO von Jim Dennis entnommen). Nachdem Sie Ihr System sauber installiert und konfiguriert haben, verwenden Sie das Programm chattr mit dem Attribut +i, um Dateien unveränderbar zu machen (die Datei kann nicht gelöscht, umbenannt, verlinkt oder beschrieben werden). Sie sollten dieses Attribut für alle Dateien in /bin, /sbin/, /usr/bin, /usr/sbin, /usr/lib und den Kerneldateien in root. Sie können auch eine Kopie aller Dateien in /etc/ mit tar oder dergleichen erstellen und das Archiv als unveränderbar kennzeichnen.
    Mit dieser Vorgehensweise können Sie den Schaden zu begrenzen, den Sie anrichten können, wenn Sie als Root eingeloggt sind. Sie können nicht mehr Dateien mit einer fehlgeleiteten Umleitung überschreiben oder Ihr System durch ein fehlplatziertes Leerzeichen im Kommando rm -fr unbenutzbar machen (Sie können aber Ihren Daten immer noch einigen Schaden zufügen – aber Ihre Bibliotheken und Programme sind sicherer).
    Dies macht auch verschiedene Sicherheits- und Denial-of-Service (DoS) Exploits entweder unmöglich oder weitaus schwieriger (da viele von ihnen darauf beruhen, Dateien durch Aktionen eines SETUID-Programms zu überschreiben, das keinen frei wählbaren Shellbefehl zur Verfügung stellt.
    Eine Unbequemlichkeit dieser Vorgehensweise macht sich bemerkbar, wenn Sie verschiedene Systemprogramme bauen und installieren. Auf der anderen Seite verhindert dies auch, dass make install die Dateien überschreibt. Wenn Sie vergessen, das Makefile zu lesen, und die Dateien, die überschrieben werden sollen, mit chattr -i behandelt haben (und die Verzeichnisse, in denen Sie neue Dateien erstellen wollen), schlägt der make-Befehl fehl. Sie müssen nur das Kommando chattr ausführen und make neu aufrufen. Sie können diese Gelegenheit gleich dazu benutzen, Ihre alten bin's und libs auszumisten und sie z.B. in ein .old/-Verzeichnis oder Tar-Archiv zu verschieben.
    Beachten Sie, dass dies Sie auch daran hindert, die Pakete Ihres Systems zu aktualisieren, da die Dateien aus den Paketen nicht überschrieben werden können. Also sollten Sie vielleicht ein Skript oder einen anderen Mechanismus haben, der das immutable-Flag auf allen Dateien deaktiviert, bevor Sie ein apt-get update ausführen.
  • Spielen Sie mit der UTP-Verkabelung herum. Schneiden Sie dazu zwei oder vier Kabel durch und stellen ein Kabel her, das nur Verkehr in eine Richtung zulässt. Verwenden Sie dann UDP-Pakete, um Informationen an die Zielmaschine zu schicken, die ein sicherer Protokollserver oder ein System zur Speicherung von Kreditkartennummern sein kann.

10.5.1. Einrichten eines Honigtopfes (honeypot)

Ein Honigtopf ist ein System, das darauf ausgelegt ist, Systemadministratoren beizubringen, wie Cracker ein System abtasten und darin einbrechen. Es ist eine Systemeinstellung mit der Erwartung und dem Zweck, dass das System abgetastet und angegriffen und möglicherweise darin eingebrochen wird. Wenn Systemadministratoren erfahren, welche Werkzeuge und Methoden Cracker anwenden, können sie daraus lernen, wie sie ihr System und Netzwerk besser schützen.
Debian GNU/Linux-Systeme können leicht als Honigtopf eingerichtet werden, wenn Sie Zeit opfern, sie aufzusetzen und zu überwachen. Sie können leicht den gefälschten Server, die Firewall[75], die den Honigtopf überwacht, und ein Programm, das Eindringling ins Netzwerk entdecken kann, einrichten. Verbinden Sie den Honigtopf mit dem Internet und warten Sie ab. Stellen Sie sicher, dass Sie rechtzeitig alarmiert werden (siehe Abschnitt 4.13, „Die Wichtigkeit von Protokollen und Alarmen“), wenn in das System eingedrungen wird, damit Sie geeignete Schritte einleiten und den Angriff beenden können, wenn Sie genug gesehen haben. Hier folgen einige Pakete und Probleme, die Sie in Betracht ziehen sollten, wenn Sie einen Honigtopf einrichten:
  • die Firewall-Technologie, die Sie verwenden (verfügbar durch den Linux-Kernel)
  • syslog-ng: nützlich, um Protokolle des Honigtopfs zu einem entfernen syslog-Server zu schicken
  • snort, um allen eingehenden Netzwerkverkehr auf den Honigtopf mitzuschneiden und die Angriffe zu erkennen
  • osh, eine eingeschränkte Shell mit Protokollfunktion, die unter SETUID-Root läuft und verbesserte Sicherheit hat (siehe den Artikel von Lance Spitzner weiter unten)
  • natürlich alle Daemons, die Sie auf dem falschen Honigtopfserver verwenden wollen: Je nachdem, welche Art von Angreifer Sie analysieren wollen, können Sie den Honigtopf abhärten und die Sicherheitsaktualisierungen einspielen (oder eben nicht).
  • Integritätsprüfer (siehe Abschnitt 4.17.3, „Prüfung der Integrität des Dateisystems“) und das Coroner's Toolkit (tct), um nach dem Angriff eine Analyse durchzuführen
  • honeyd und farpd, um einen Honigtopf einzurichten, der auf Verbindungen zu ungenutzten IP-Adressen lauscht und diese an Skripte weiterleitet, die echte Dienste simulieren. Sehen Sie sich auch iisemulator an.
  • tinyhoneypot, um einen einfachen Honigtopf-Server mit gefälschten Diensten einzurichten
Falls Sie kein System übrig haben, um die Honigtöpfe und Systeme, die das Netzwerk schützen und kontrollieren, zu bauen, können Sie die Technologie zur Virtualisierung einsetzen, die in xen oder uml (User-Mode-Linux) enthalten ist. Wenn Sie diesen Weg wählen, müssen Sie Ihren Kernel entweder mit kernel-patch-xen oder kernel-patch-uml patchen.
Sie können mehr über das Aufstellen eines Honigtopfs in Lanze Spitzners exzellentem Artikel http://www.net-security.org/text/articles/spitzner/honeypot.shtml (aus der Know your Enemy Serie). Außerdem stellt das http://project.honeynet.org/ wertvolle Informationen über das Aufstellen von Honigtöpfen und der Analyse von Angriffen auf sie zur Verfügung.


[75] Sie sollten typischerweise eine Bridge-Firewall einsetzen, damit die Firewall selbst nicht entdeckt werden kann. Lesen Sie mehr dazu unter Abschnitt B.4, „Aufsetzenden einer Bridge-Firewall“.