[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ A ] [ B ] [ C ] [ D ] [ E ] [ F ] [ weiter ]

Anleitung zum Absichern von Debian
Kapitel 9 - Vor einer Kompromittierung


9.1 Aufsetzen einer Eindringlings-Erkennung

Debian enthält verschiedene Tools zur Erkennung von Eindringlingen, die Sie vielleicht dazu benutzen wollen, Ihr lokales System zu verteidigen (wenn Sie wirklich paranoid sind oder Ihr System wirklich kritische ist) oder um andere Systeme im gleichen Netzwerk zu verteidigen.

Beachten Sie immer, dass Sie, um Ihre System-Sicherheit mit einer dieser Tools wirklich zu verbessern, einen Alarm-und-Antwort-Mechanismus brauchen Benutzen Sie also keinen Eindringlings-Erkennung, wenn sie niemanden alarmieren werden (d.h. verschwenden Sie nicht Ihre Zeit damit, Dinge zu konfigurieren, die Sie später nicht benutzen werden).

Die meisten Eindringlings Erkennungs Tools werden entweder auf Syslog protokollieren oder E-Mails, über einen bestimmten erkannten Angriff, an den Root-User senden (die meisten können umkonfiguriert werden, um stattdessen einem anderen User E-Mails zu schicken). Ein Administrator muss sie passend konfigurieren, so dass falsche Positivmeldungen keinen Alarme auslösen, und so diesen Alarmen die notwendige Aufmerksamkeit geschenkt wird. Alarme können auf einen laufenden Angriff hindeuten und wären - sagen wir mal einen Tag - später nicht mehr nützlich, da der Angriff dann bereits erfolgreich beendet worden sein kann. Stellen Sie also sicher, dass es eine passende Regelung über die Behandlung von Alarmen gibt, und das technische Maßnahmen zur Handhabung statt finden.

Eine Interessante Quelle für Information ist CERT's Intrusion Detection Checklist


9.1.1 Netzwerk basierende Eindringlings Erkennung

Snort ist ein flexibler Packet Schnüffler oder logger, der Angriffe durch Nutzen einer Angriffs-Signatur-Bibliothek erkennt. Es erkennt eine breite Palette von Angriffen und Tests, wie zum Beispiel Speicher-Überläufe, stealth Port scans, CGI Angriffe, SMB Tests und vieles mehr. Dies ist in Tool, das auf jedem Router installiert werden sollte, um ein Auge auf Ihrem Netzwerk zu haben. Installieren Sie es einfach mit apt-get install snort, folgen Sie den Fragen und beobachten Sie die logs.

Debians Snort kommt mit vielen eingeschalteten Sicherheits Checks, die Sie vielleicht haben möchten, jedoch sollten Sie das Setup anpassen, um bestimmte Dienste auf Ihrem System zu berücksichtigen. Sie möchten vielleicht auch zusätzliche Tests speziell für Ihre Dienste nutzen.

Sie können snort sowohl dazu benutzen, eine Netzwerk-Eindringlings-Erkennung für viele Hosts in Ihrem Netzwerk zu etablieren, als auch um Angriffe gegen Ihren eigenen Host zu erkennen.

Es gibt noch andere Tools, die dazu benutzt werden können, Netzwerk Angriffe zu erkennen (sogar einfacherere). Portsentry ist ein anderes interessantes Paket, dass Sie warnen kann, wenn jemand Ihre Seite scannt. Andere Tools, wie ippl oder iplogger erkennen außerdem bestimmte IP (TCP und ICMP) Angriffe, auch wenn Sie keine fortgeschrittenen Techniken zur Erkennung von Netzwerk Angriffen haben (was snort kann).

Sie können jedes dieser Tools mit dem idswakeup Programm testen. Hierbei handelt es sich um einen Falsch-Positiv Generator, der NIDS mit einer Auswahl der üblichen unter Debian verfügbaren Angriffs-Signaturen alarmiert.


9.1.2 Host basierende Erkennung

Tiger ist ein bewährtes Eindringlings Erkennungs Tools, dass seit der Woody Distribution auf Debian portiert wurde. Tiger bietet Tests von allgemein üblichen Dingen, in Bezug auf Einbrüche, Tests der Passwort-Stärke, Dateisystem Probleme, kommunizierende Prozesse.... Die Debian Version umfasst neue, Debian spezifische Tests: md5-Summen von vorhandenen binaries, und Test auf installierte und verwundbare Pakete. Die standard Installation lässt tiger jeden Tag einmal laufen und einen Report erstellen, der an den Superuser geschickt wird. Die erstellten Reports können Informationen zu einer geglückten Kompromittierung geben.

Protokoll-Analyse Tools, wie zum Beispiel logcheck können zusätzliche benutzt werden, wenn Sie angepasst wurden, um Eindring-Versuche zu erkennen. Siehe Nutzen und anpassen von logcheck, Abschnitt 4.11.1.

Außerdem kann jeder der Dateisystem-Integritäts-Checker (siehe Prüfen der Integrität des Dateisystems, Abschnitt 4.16.3) können sehr nützlich sein, um Anomalien in einer abgesicherten Umgebung zu erkennen. Ein erfolgreicher Eindringling wird mit höchster Sicherheit Dateien auf dem lokalen Dateisystem verändern, um die lokalen Sicherheits Regelungen zu umgehen, Trojaner zu installieren, eigene User zu erstellen... solche Sachen können mit ihnen erkannt werden.


9.2 nützliche Kernel-Patches

FIXME: This section needs to cover how these specific patches can be installed in Debian using the kernel-2.x.x-patch-XXX packages.

Es gibt einige Kernel-Patches, die die System-Sicherheit signifikant erhöhen. Hier sind einige davon aufgezählt:


9.3 Vermeiden von Root-Kits


9.3.1 LKM - Ladbare Kernel-Module

LKM (Loadable Kernel Modules) sind Dateien, die nachladbare Teile des Kernels enthalten. Sie werden dynamisch in den Kernel geladen und führen bestimmte Aufgaben aus. Unter GNU/Linux werden sie dazu benutzt, die Funktionalität des Kernels zu erweitern. Wenn Sie LKMs benutzen, genießen Sie einige Vorteile. Wie wir gesehen haben, können Sie dynamisch nachgeladen werden, ohne dass der Kernel neu kompiliert werden muss. Sie können bestimmte Geräte-Treiber (oder Dateisysteme) und Treiber für andere Hardware, wie Sound- oder Netzwerk-Karten, enthalten. Aber manche Cracker können LKMs für Root-Kits (knark oder adore) benutzen, um auf GNU/Linux Systemen Hinter-Türen zu installieren.

LKM Root-Kits können Prozesse, Dateien, Verzeichnisse und sogar Verbindungen verstecken, ohne den Quellcode irgendeines Binaries verändern zu müssen. Zum Beispiel kann ps Prozess Informationen aus /proc beziehen, ein bösartiges LKW kann den Kernel untergraben, so dass er einen bestimmten Prozess vor dem procfs verheimlicht. So kann noch nicht einmal eine selbst erstellte, unangetastete Kopie des ps Binary alle Prozess Informationen korrekt auflisten.


9.3.2 Erkennen von Root-Kits

Die Sucharbeit kann einfach und schmerzlos sein, oder schwierig und ermüdend, ganz abhängig von der Maßnahme, die Sie benutzen. Es gibt zwei Verteidigungs-Maßnahme zur Sicherheit bei LKMs, die pro-aktive, und die reaktive.


9.3.2.1 Pro-aktive Verteidigung

Der Vorteil dieser Verteidigung ist, dass hier verhindert wird, dass einige LKM Root-Kits dem System schaden. Die meist genutzte pro-aktive Verteidigung ist es, das Ziel zuerst zu erreichen, also ein LKM zu laden, das dazu da ist, das System vor Schaden durch ein böswilliges LKM zu schützen. Eine andere Maßnahme ist es, dem Kernel Fähigkeiten zu entziehen, und so das System sicherer zu machen. Zum Beispiel können Sie dem Kernel die Fähigkeit entziehen, Kernel-Module zu laden oder zu entfernen.

Sie können auf Debian Systeme einige Pakete finden, die Pro-aktive-Tools enthalten:

Wenn Sie diese vielen Möglichkeiten auf Ihrem GNU/Linux System nicht brauchen, möchten Sie vielleicht die Unterstützung für ladbare Module während der Kernel Konfiguration abschalten. So werden LKM Root-Kits vermieden, aber Sie können keinen modulare Kernel benutzen. Beachten Sie auch, dass durch das Abschalten der nachladbaren Module der Kernel überladen werden kann. Manchmal ist dies nicht notwendig.

Um die Unterstützung für nachladbare Module abzuschalten, setzen Sie einfach CONFIG_MODULES=n in .config.


9.3.2.2 Reaktive Verteidigung

Der Vorteil reaktiver Verteidigung ist, dass das die System Ressourcen weniger überlädt. Sie funktioniert durch das Vergleichen von einer Tabelle für System-Aufrufe mit einer bekanntermaßen sauberen Kopie (System.map). Der augenscheinliche Nachteil ist, dass der Systemadministrator erst davon erfährt, wenn das System bereits kompromittiert wurde.

Die Entdeckung von Root-Kits vollbringt unter Debian chkrootkit. Das Programm Chkrootkit prüft Anzeichen von Root-Kits auf dem lokalen System und stellt fest, ob der Computer mit einem Root-Kit infiziert ist.

Sie können auch KSTAT (Kernel Security Therapy Anti Trolls) von S0ftproject group benutzen. KSTAT prüft den Bereich des Kernel-Speichers (/dev/kmem) auf Informationen über den Ziel Host, einschließlich der Installation von ladbaren Kernel-Modulen.

FIXME: Add info on how to compile the kernel w/o lkm support?


9.4 geniale/paranoide Ideen — was Sie tun können

Dies ist wahrscheinlich der instabilste und lustigste Abschnitt, da ich hoffe, dass manche der "Wow, das klingt verrückt" Ideen realisiert werden. Nachfolgend einer Liste von ein paar Ideen — abhängig von Ihrem Standpunkt aus können Sie sie für genial, paranoid, verrückt oder sicher halten — um Ihre Sicherheit schnell zu erhöhen. Unbeschädigt werden Sie sie aber nicht überstehen.


9.4.1 Aufstellen eines Honigtopfes (honeypot)

FIXME: More Content specific to Debian needed.

Wenn Sie wollen (und es implementieren können und ihm Zeit widmen können), können Sie einen vollen Honeypot mit einem Debian GNU/Linux System aufsetzen. Sie haben alle benötigten Werkzeuge, um einen allumfassendes Honeynet aufzubauen (d.h. das Netzwerk, der Honeypot ist lediglich ein falsche Server): Die Firewall, das Netzwerk Eindringlings-Erkennungs-System, und den falschen Server. Seien Sie aber vorsichtig, Sie müssen ziemlich sicher sein, dass Sie rechtzeitig alarmiert werden (siehe Die Wichtigkeit von Logs und Alarmen, Abschnitt 4.11), so dass Sie geeignete Maßnahmen einleiten können und die Kompromittierung, sobald Sie genug gesehen haben, beenden können.

Sie können mehr über das Aufstellen von Honeypots in Lanze Spitzners exzellentem Artikel To Build a Honeypot (aus der Know your Enemy Serie) oder David Raikow's Building your own honeypot lesen. Außerdem ist das Honeynet Project dem Aufstellen von Honeypots und der Analyse von Angriffen auf sie gewidmet. Dort gibt es wertvolle Informationen über das aufsetzen von Honeypots und die Analyse der Resultate eines Angriffs (sehen Sie sich den Contest an).


[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ A ] [ B ] [ C ] [ D ] [ E ] [ F ] [ weiter ]

Anleitung zum Absichern von Debian

2.5 (beta) 31 mayo 2004Sat, 17 Aug 2002 12:23:36 +0200

Javier Fernández-Sanguino Peña jfs@computer.org