aufbau schematischer Aufbau eines NIDS und HIDS
NIDS
Sensor Sensor
| /
Internet ====== Firewall ====== Intranet
|
|
NIDS Manager
- verteilte Sensoren überwachen den Traffic und melden ihre
Ergebnisse
an den NIDS Manager, der weitere Aktionen veranlasst
- Angriffe hinter der Firewall können erkannt werden
- Nachteil: nicht in geswitchten oder verschlüsselten Netzen
- Datenverkehr wird geloggt, daraus ergeben sich Probleme mit dem
Datenschutz
HIDS:
Das IDS läuft direkt auf dem Rechner (z.B. ein Virenscanner oder
Logchecker)
und funktioniert daher auch in geswitchten oder
verschlüsselten Netzwerken.
Nachteilig kann sich das HIDS auf die Performance auswirken und es
kann wieder Probleme mit dem Datenschutz geben.
Desweiteren gibt es auch hybride IDS, welche sowohl Merkmale eines hostbasierten als
auch eines netzbasierten IDS auf sich vereinigen.
platz Plazierung
Wie sollte man das IDS plazieren? Bei einem HIDS scheint sich diese Frage recht einfach
zu erledigen, aber man sollte auch beachten wo man dieses HIDS installiert. Ein IDS auf einem
Paketfilter der ins Internet geht, kann zu sehr vielen falschen Positivmeldungen führen
und ist somit wenig nützlich, er sollte also dann schon hinter dem Paketfilter sitzen,
so das einige Attacken von selbigem abgefangen werden.
Ein Gateway das zum Beispiel die Serverfarm vom restlichen
LAN trennt sollte unbedingt per IDS überwacht werden.
Ein HIDS auf einem großem Server kann evtl. die Last massiv erhöhen und den Traffic
ausbremsen. Wie bereits schon angedeutet können IDS
massivst den Datenschutz verletzen wenn sie z. B. auf einem Arbeits-PC den
Netzwerkverkehr überwachen und dabei sogar gegen geltendes Recht verstoßen.
programme Maßnahmen und Programme
Eine einfache, aber wirkungsvolle, Maßnahme zur ID ist das sogenannte Simple
Auditing. Dabei werden Informationen über das System und seine Attribute
zusammengestellt und gegen eine Beispieldatenbank abgeglichen.
Dies kann zum Beispiel das Dateisystem, laufende Daemons oder geöffnete Ports
umfassen, die Backline zum Datenbankvergleich sollte auf einem frischen System
erstellt werden.
Beispiele zur Sicherung des Dateisystems:
Ein geeignetes Programm zur Überwachung des Dateisystems ist AIDE, das ich hier
weiter beschrieben habe. AIDE erstellt mathematische Prüfsummen über das Dateisystem
und kann so Veränderungen oder gar Fälschungen (z. B. durch Rootkits) aufspüren und
lässt sich hervorragend per Skript über cron automatisieren.
Ebenfalls sehr einfach aber wirkungsvoll ist das wahrscheinlich älteste IDS -
root der seine Logfiles liest. In den Logdateien werden wichtige bzw. vorher
definierte Ereignisse eingetragen. Dies ermöglicht es Einbruchsversuche (besonders
welche per Script auf schon bekannte und behobene Exploits) oder vorbereitende
Maßnahmen (z. B. Portscans detektieren mit Portsentry) zu erkennen. Daher
sollte man die Logfiles sorgfältig studieren und sichern, da sie nebenbei auch ein
wichtiger juristischer Beweisfaktor sind und damit wohl auch das erste Angriffsziel bei
einem erfolgreichen Angriff darstellen. Diese Aufgaben lassen sich auch wieder
hervorragend automatisieren, der syslogd ist z. B. in der Lage die Logdateien auf
einen anderen Netzwerkhost zu schreiben, oder der Einsatz von ssyslogd, welcher
die Logdateien automatisch verschlüsselt. Auf einem wichtigen Rechner kann man die Logs
auch gleich ausdrucken lassen, so das kein Einbrecher mehr diese wichtigen Daten
manipulieren kann. Ebenso sollte man Programme, so sie es denn unterstützen, dazu
veranlassen Logs zu generieren. Dies kann z. B. mit dem xinetd statt dem
inetd geschehen oder in dem ein eingesetzter Paketfilter oder tcpwrapper Verbindungen
mitloggt.
Ein weiterer wichtiger Aspekt ist die Netzwerküberwachung auf verdächtige
Aktionen. In einem Netzwerk das relativ öffentliche Zugänge bietet (z. B. an einer Uni)
kann man mit arpwatch das Netz auf neue MAC Adressen, also Netzwerkkarten,
überwachen.
Ein sehr einfaches Mittel ist das Leiten des Netzwerktraffics durch einen Filter, das
sog. "network grep". Dieses System ist sehr einfach umzusetzen, allerdings ist es auch
nicht besonders leistungsfähig, da es z. B. durch Fragmentierung sehr leicht umgangen
werden kann. Vorteile sind die sehr leichte Updatebarkeit und die höchste Anzahl an
verfügbaren Signaturen, allerdings werden diese nicht besonders intelligent
abgearbeitet.
Ein Programm das der NIDS dient, ist das beliebte Snort.
Snort selber unterstützt drei Modi, Sniffer,
Packet Logger und NIDS. Hier soll nur das NIDS interessieren. Snort überwacht den
Netzwerkverkehr und reagiert dabei auf vorbestimmte Regeln. So kann Snort z. B. bei
einem root ftp-login Alarm schlagen oder bei ICMP ECHO Paketen das ICMP Sequenzfeld
nach bestimmten Werten durchsuchen um damit Stacheldraht aufzuspüren.
Eine weitere Maßnahme kann das Einrichten eines sogenannten Honeypots sein. Ein
Honeypot (Honigtopf) ist eine Methode aus dem Kampf von Infanterieeinheiten. Ein
einzelner Soldat wird angeschossen damit seine Kameraden ihn retten wollen. Wenn diese
dann in den Bereich des Scharfschützen kommen, werden sie der Reihe nach ausgeschaltet.
In der IDS ist ein Honeypot ein System das besonders konfiguriert wird um einen
Angreifer anzulocken um ihn somit zu analysieren oder von den wichtigen
Produktivsystemen wegzulocken. Dies kann mit einem Programm oder einem einzelnen
Rechner geschehen. Beispielsweise kann man ein unsicheres System einrichten das
exploitete Programme enthält (ein beliebiges Microsoft OS) und keinem weiteren
Zweck im Netzwerk dient. Da es ja keine Last auf dem System geben sollte und es keinen
weiteren Nutzen hat als der IDS zu dienen, sollte man jeden entstehenden Verkehr
mitloggen, da dieser schon von vornherein suspekt ist. Ein Honeypot hat auch Nachteile,
er kann bei erfolgreichem Einbruch als Basis für weitere Angriffe gegen die echten
Server dienen (vielleicht sogar gegen fremde Systeme, was juristische Komplikationen
bringen kann), eventuell sollte man daher den Honeypot in einem extra Netz plazieren.
Desweiteren erhöht ein Honeypot die Komplexität des Netzes und dies ist
selbstverständlich nicht wünschenswert. Ebenso entsteht administrativer Aufwand, der
Honeypot muss zwar nicht unbedingt gepatcht aber eben überwacht werden.
Daher sollte man den Einsatz eines Honeypot wohl überdenken. Programme die speziell dazu dienen
sind z. B. LaBrea oder das Deceiption Toolkit.
Ebefalls ist es empfehlenswert die eigenen Rechner bzw. das Netzwerk auf
Sicherheitslücken zu überprüfen. Dazu gehören die Pflichten des Admins, das Verfolgen
diverser Listen zu Sicherheitslücken (z. B. bugtraq) oder das Überprüfen des Systems
mit audit-packeges oder einem Security Scanner wie Nessus. (Nur weil Nessus keine
Fehler findet, heißt das nicht, das das System sicher ist!) Sollte man dazu aus verschiedenen
Gründen nicht in der Lage seine sollte man evtl. einen externen Diensleister in Betracht ziehen.
Abschließend sei noch einmal auf die grösste Fehlerquelle - den Benutzer - hingewiesen,
schließlich ist Social Engineering auch eine beliebte und äusserst effektive Einbruchsmethode.
net-tex.de, Index
$Id: ids.html,v 1.29 2010/06/09 06:31:33 stefan Exp $
Autor: Stefan Schumacher,
stefan@net-tex.de, PGP-Key 0xB3FBAE33
für net-tex.de/cryptomancer.de
Bitte beachten Sie, das die Seite inhaltlich seit Ende 2007 nicht mehr gepflegt wird!
Aktuellere Informationen erhalten Sie auf Kaishakunin.com