Netzwerkanalyse, Fehlersuche, Testberichte
Home / News
Netzwerkanalyse
Grundlagen
Verkabelung
Erste Schritte
Baselining
Let's sniff
Tools
Auswerten/Filtern
Typische Probleme 1
Typische Probleme 2
Sicherheit
Bücher
Tutorials
Cacti
DSL einrichten
DynDNS einrichten
m0n0wall | pfSense
Nmap
VirtualBox
Wireshark
FAQ
Know How
Testberichte
Hardware-DB
Netzwerklexikon
Links / Service
Suche
Kontakt
Impressum
Feedback
Sitemap
Netzwerktechnik Forum

Forum Netzwerktechnik (Archiv)

Kategorie Netzwerktechnik - Forum Wettbewerb

 
Einfuehrung in snort

geschrieben am 30.05.2006 um 23:43 von derPENGUIN

Einfuehrung in snort
Vorwort
Dieser Artikel richtet sich an fortgeschrittene Anwender sowie Administratoren von kleinen bis mittleren Netzwerken. Unbedarfte Heimanwender, die kaum wissen, wie der PC angeht, seien auf einfuehrende Literatur verwiesen. Obgleich snort auch fuer Windows verfuegbar ist, basiert diese Arbeit, vor allem im zweiten Teil, auf einer Arbeitsumgebung unter Linux. Fuer ein tiefgreifendes Verstaendnis empfiehlt es sich, die Installation von snort direkt auszuprobieren, natuerlich sei dem interessierten Leser die Lektuere auch als "Trockenuebung" anzuraten.

Motivation
Antivirus und vielleicht sogar eine Firewall gehoeren heutzutage unbestritten zu den Standardmassnahmen, die die Sicherheit eines Rechners oder Netzwerkes gewaehrleisten sollen. Doch dies mag aus mehreren Gruenden nicht ausreichend sein. Erstens kann durch Fehlkonfiguration der Firewall oder unbekannte Luecken in Diensten, die die Firewall offen haelt, dennoch ein Angreifer eindringen, und zweitens mag es durchaus interessant sein, zu sehen, welche Angriffsversuche stattgefunden haben. Ein Loesungsansatz hierfuer ist ein IDS, wi z.B. snort, welches Thema dieses Artikels ist.

Begriffsbestimmung
IDS - Intrusion Detection System, also ein System zur Erkennung von Eindringlingen. Dies ist wichtig, ein IDS kann keine Angriffe verhindern, normalerweise. Wie dies dennoch geht, ist Thema des zweiten Teils dieses Textes.
Wir unterscheiden zwei Arten von IDS: hostbasierte, also jene, die auf einem einzelnen Rechner laufen und netzbasierte, die sich um den Traffic kuemmern. Bezeichnet werden diese kurz auch als HIDS bzw. NIDS. snort ist ein NIDS. Es ist regelbasiert und arbeitet mit Signaturen (Fingerprints) aehnlich wie ein AV. Es ist also sinnreich, diese Regeln regelmaessig aktuell zu halten.

Bezug und Installation
snort kann kostenfrei unter http://snort.org/dl/binaries/ bezogen werden. Die aktuelle Version ist 2.4.4.1, von Windows hab ich keine Ahnung, aber die Linuxversion ist als rpm verfuegbar und laesst sich ohne Probleme auf allen SuSE und RedHat installieren. Fuer Debian und Gentoo empfiehlt es sich, die Quellen selbst zu kompilieren. Diese sind als tar.gz auf snort.org verfuegbar, und lassen sich problemlos uebersetzen. Voraussetzung fuer jede Installation ist das Vorhandensein der Bibliothek libpcap. Je nach Anforderung koennen noch weitere Pakete noetig sein, z.B. wenn man die Ausgabe in eine Datenbank schreiben moechte. (Dies ist jedoch meistens nicht sinnvoll). Es ist (unter Linux) sinnvoll, einen Benutzer und eine Gruppe "snort" anzulegen.

Code:

root@hdcrash$ groupadd snort
root@hdcrash$ useradd -g snort -s /bin/false -c snort-user snort


Konfiguration
Es gibt ein zentrales Konfigurationsfile: /etc/snort/snort.conf. (Windowsbenutzer werden dies sicher auch finden, nur kann ich nicht sagen, wo). Diese Konfig hat, ohne Kommentare in etwa fol,gendes Aussehen:
Code:

var HOME_NET 192.168.10.0/24
var EXTERNAL_NET any
config interface eth0
config set_gid: snort
config set_sid: snort
...

Wichtig sind an dieser Stelle die Anpassung der IP fuer das LAN samt Subnet und die gid und sid, also Benutzer und Gruppenname, den wir vorhin angelegt haben. Die Zeilen mit HTTP_PORTS und ORACLE_PORTS muessen drin bleiben, sonst funktioniert snort nicht richtig, auch wenn man mit oracle wahrscheinlich wenig zu tun hat. Die Plugins (Preprozessor und Output) koennen belassen werden wie voreingestellt. Fuer ein Feintuning empfiehlt sich die Lektuere weiterfuehrender Literatur. Am Ende der Config befinden sich per include die zu verwendenden Regeln. Fuer erste Uebungen wird man wahrscheinlich alle Files einbeziehen, spaeter jedoch stellt man fest, dass man so manches weglassen kann. Wirklich erfahrene Anwender schreiben sich die meisten Regeln selbst. Die Erklaerung hierfuer wuerde aber den Rahmen dieser Einfuehrung sprengen.

Der Start von snort erfolgt mit einem
Code:

/usr/sbin/snort -D -c /etc/snort/snort.conf

oder besser ueber ein Startscript in /etc/init.d.

Mehr als Erkennen - wie weiter?
snort ist, wie oben erwaehnt, ein Erkennungssystem. Angriffe werden registriert und vermerkt in einer Datenbank, via syslog oder wie in meiner conf (die ich bei Bedarf gern zur Verfuegung stelle) in ein log-file. Doch dies alles hilft noch nicht wirklich viel. Zumindest sollte man diese Ausgaben auch lesen. Hierfuer bietet sich snortsnarf an, ein Perl-script, was die logs uebersichtlich in ein HTML aufbereitet. snortsnarf ist ebenfalls von snort.org zu beziehen und stellt m.E. das praktikabelste Tool zur Analyse dar.

Wir wollen jedoch noch mehr, unser Rechner soll die Firewall dynamisch anpassen und den Angreifer sofort sperren. Hierzu verwenden wir das Script guardian, welches ebenfalls auf snort.org bezogen werden kann. Eine erweiterte und verbesserte Version, welche bei mir seit Jahren im Einsatz ist, kann ich auf Anfrage online stellen. guardian ist ein Perlthread, welcher in Echtzeit das Logfile (/var/log/snort/snfout.alert) liest, daraus die angreifende Ip extrahiert und diese mittels ipchains bzw. iptables sperrt, fuer eine definierbare Zeit. Freilich darf diese nicht zu lang gewaehlt sein, denn sonst koennte ein Angreifer mit gespoofter IP ein Netzwerk durch eben diesen Sicherheitsmechanismus lahmlegen.

Ausblick
Natuerlich kann dieser Artikel nur eine erste Uebersicht vermitteln. Wesentliche Aspekte wie datenschutzrechtliche Bedenken beim Loggen von Verbindungen, technische Hintergruende, erweiterte Moeglichkeiten von snort (wie das selbstaendige Beenden von Verbindungen), das Setzen mehrerer Sensoren usw. mussten weggelassen werden. Hierfuer verweise ich auf weiterfuehrende Literatur. Erste Gehversuche sind aber mit etwas Geduld sicher machbar und durchaus beglueckend, das verspreche ich.

Literatur
Das beste Buch zu diesem Thema ist http://www.opensource-training.de/PDFs_IDS1/ids.pdf
Ansonsten sei auf die umfangreiche Dokumentation auf http://www.snort.org verwiesen.

Danksagung
Danke fuers lesen :-)
 

[ Dieses Thema im Live-Forum aufrufen ]

Sie befinden sich im Archiv des Forums.
Zum Forum

Archiv erstellt mit phpBB2HTML 0.1 - Foren in statisches HTML umwandeln © 2006 Mirko Kulpa

 

 
© 2004-2023, network lab - we make your net work - Netzwerkforum
aktualisiert am 13.05.2019