51
Titel: Intrusion Detection System unter Windows auf Basis von Snort Datum: 08.04.08 – 23.04.08 Art der Arbeit: IPA Verfasser: Daniel Müller Lehrbetrieb: Bechtle-Liestal Lehrmeister: Charles Schäfer Experten: Pascal Fanti Hansruedi Heimann

Titel: Intrusion Detection System unter Windowsdaniel85.ch/wp-content/uploads/2012/05/IPA_Systemdokuem...Titel: Intrusion Detection System unter Windows auf Basis von Snort Datum:

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • Titel: Intrusion Detection System unter Windows auf Basis von Snort Datum: 08.04.08 – 23.04.08 Art der Arbeit: IPA Verfasser: Daniel Müller Lehrbetrieb: Bechtle-Liestal Lehrmeister: Charles Schäfer Experten: Pascal Fanti Hansruedi Heimann

  • 06.05.2008 Seite 2 von 51 Bechtle-Liestal

    Vorwort und Zweck des Dokumentes Diese Arbeit ist geistiges Eigentum der Firma Bechtle-Liestal und darf ohne Einwilligung nicht an dritte weitergegeben werden. Der Autor behält sich aber das Recht vor, diese Arbeit an interessierte Perso-nen weiterzugeben. Versionskontrolle Version Datum Visum Bemerkung 0.1 08.04.08 MDA 1. Erstellung 0.2 22.04.08 MDA Finalversion

    Prüfung Version Datum Visum Bemerkung 0.3 06.05.08 CSC

    Freigabe Version Datum Visum Bemerkung 1.0 06.05.08 CSC Freigabe für Druckerei (gebundene Version)

    Hiermit bestätige ich, dass die IPA-Projektarbeit „Intrusion Detection System unter Windows auf Basis von Snort“ vollends von mir geschrieben wurde. Datum: _______________________ Unterschrift: _________________________________

  • 06.05.2008 Seite 3 von 51 Bechtle-Liestal

    Inhaltsverzeichnis 1. Einleitung................................................................................................................................................. 5 2. Methode.................................................................................................................................................. 5 3. Projektinhalt............................................................................................................................................ 6

    3.1. Ausgangssituation (IST)................................................................................................................... 6 3.2. Bedürfnis / Auftrag (Soll) ................................................................................................................ 6 3.3. Auftrag........................................................................................................................................... 6 3.4. Ziele ............................................................................................................................................... 6 3.5. Abgrenzung .................................................................................................................................... 7

    4. Grundlagenteil......................................................................................................................................... 7 4.1. Intrusion Detection System............................................................................................................. 7 4.2. Was ist Snort? ................................................................................................................................ 7 4.3. Funktionsweise von Snort............................................................................................................... 8 4.4. Betriebsarten von Snort.................................................................................................................. 8 4.5. Regeln ............................................................................................................................................ 9

    5. Netzwerkschema und Switch................................................................................................................. 10 6. Verwendete Hardware........................................................................................................................... 11

    6.1. Server 1........................................................................................................................................ 11 6.2. Server 2........................................................................................................................................ 12 6.3. 2 Clients ....................................................................................................................................... 12 6.4. Notebook ..................................................................................................................................... 12 6.5. Switch .......................................................................................................................................... 12 6.6. Nas Disk........................................................................................................................................ 12

    7. IDS Installation....................................................................................................................................... 13 7.1. Winids „all in one“ Paket .............................................................................................................. 13 7.2. Installation von Winpcap und Snort .............................................................................................. 14 7.3. Anpassungen an der Konfigurationsdatei von Snort ...................................................................... 16 7.4. Funktionscheck von Snort nach der Grundinstallation................................................................... 17 7.5. Installation Apache Webserver ..................................................................................................... 18 7.6. Apache mit php Modul ergänzen .................................................................................................. 20 7.7. Php Unterstützung installieren..................................................................................................... 20 7.8. Testen der Apache und php installation ........................................................................................ 21 7.9. Snort als Service installieren ......................................................................................................... 21 7.10. Installation von MySQL ................................................................................................................. 22 7.11. Datenbankkonfiguration............................................................................................................... 25

  • 06.05.2008 Seite 4 von 51 Bechtle-Liestal

    7.12. Konfiguration von Adodb und Acid Base........................................................................................ 26 7.13. Installation von PEAR.................................................................................................................... 28 7.14. Passwort Abfrage für Acid Base einrichten .................................................................................... 29

    8. Zusatztools für Snort.............................................................................................................................. 31 8.1. Vorbereitungen für Oinkmaster .................................................................................................... 31 8.2. Installation und Konfiguration der Oinkmaster GUI ....................................................................... 33 8.3. SAM (Snort Alert Monitor) ............................................................................................................ 34 8.4. EventWatch NT............................................................................................................................. 35 8.5. IDS Policy Manager ....................................................................................................................... 35 8.6. Sonstiges ...................................................................................................................................... 37

    9. Testen und Auswerten des IDS .............................................................................................................. 39 9.1. Portscans durchführen.................................................................................................................. 39 9.2. E-Mail Alerting Test ...................................................................................................................... 41 9.3. Schreiben und Testen einer Regel ................................................................................................. 42 9.4. ARP Cache Poisoning / MITM Attack ............................................................................................. 44

    10. Ausgeführte Massnahmen zu den Tests 3 und 6 .................................................................................... 47 10.1. Stealth Portscanning..................................................................................................................... 47 10.2. ARP Cache Poisoning .................................................................................................................... 48

    11. Stellungsnahme zu den Bedürfnissen der Firma..................................................................................... 49 12. Fazit und Danksagung ............................................................................................................................ 49 13. Literatur und Quellenangaben............................................................................................................... 50

    13.1. Bücher.......................................................................................................................................... 50 13.2. Internet........................................................................................................................................ 50 13.3. Softwareverzeichnis...................................................................................................................... 51

  • 06.05.2008 Seite 5 von 51 Bechtle-Liestal

    1. Einleitung

    Zum Abschluss meiner 4 Jährigen Informatikausbildung bei der Firma Bechtle-Liestal werde ich als Individuelle praktische Arbeit ein Projekt im Bereich IT-Security realisieren. Dabei habe ich mich für das Gebiet der „Intrusion Detection“ (Einbruchserkennung) entschieden. Als Basis verwende ich Snort, ein frei verfügbares „Intrusion Detection“ System. Snort hat seine Wurzeln in der Unix Welt, doch im Rahmen dieser Arbeit werde ich Snort auf Basis von Windows in Betrieb nehmen. Dieses Thema wurde zuvor in meinem Lehrbetrieb noch nie behandelt. Auch war es nicht Teil meiner Ausbil-dung, da wir solche Systeme weder offerierten noch bei Kunden implementierten. Für mich ist diese Thematik also ziemlich neu, dennoch wage ich den Schritt und werde meine IPA darin verwirklichen. Intrusion Detection hat schon vor einiger Zeit meine Aufmerksamkeit, mein Inte-resse und meine Neugier geweckt. So liest man beispielsweise in der Zeitung, dass der Webserver eines Unternehmens durch einen bösen „Hacker“ Angriff attackiert und ausser Gefecht gesetzt wor-den sei und stellt sich danach die Frage, ob etwas derartiges auch hätte verhindert werden können. Oder man macht sich dazu Gedanken, wie sich eine solche Alarmanlage innerhalb eines LAN be-merkbar macht, wenn etwa ein Lauschangriff stattfindet. Computer und die stetig wachsende Vernet-zung unserer Daten sind in unserer Gesellschaft kaum mehr wegzudenken und gewinnen durch das zunehmende Wachstum der Informationssysteme immer mehr an Bedeutung. Dadurch steigen auch die Datenmengen und das damit verbundene Angriffspotential kontinuierlich an. Gerade daher bin ich der Meinung, dass das Thema Sicherheit immer mehr an Bedeutung gewinnen wird. Nachfolgend werden Sie einen Methodenbeschrieb vorfinden, welcher kurz erläutert, wie ich mich auf dieses Projekt vorbereitet habe. Danach gehe ich auf den Projektinhalt ein und werde anschliessend zum Grundlagenteil wechseln um das nachfolgende Verständnis der Arbeit zu erleichtern. Der Hauptteil meiner Arbeit setzt sich aus der technischen Dokumentation zusammen, aus welchem ersichtlich sein wird, wie ich das Projekt umgesetzt habe. Zudem werde ich zu den formulierten Zielen und zu den Bedürfnissen der Firma Stellung nehmen. Das Arbeitsjournal wird in einem separaten Dokument geführt. 2. Methode Um mich auf das Projekt vorzubereiten habe ich Snort auf einem virtuellen Server und bei mir zu Hau-se auf einem Rechner installiert. Dies gab mir Sicherheit, dass ich mit der Installation und der Grund-konfiguration von Snort vertraut war. Mein Lehrbetrieb stellte mir zudem zwischendurch Zeit zur Ver-fügung, damit ich mich in mein Thema einarbeiten konnte. Weiterhin habe ich mir Literatur1 zum The-ma gekauft und Artikel im Internet mit Anleitungen und Informationen zur Hilfe genommen.

    1 Siehe Literatur und Quellenangaben

  • 06.05.2008 Seite 6 von 51 Bechtle-Liestal

    3. Projektinhalt 3.1. Ausgangssituation (IST)

    Generelles Die Bechtle Liestal realisiert und betreibt bei vielen KMU der Nordwestschweiz IT-Umgebungen auf Basis von Windows 2000 / 2003 Server, Cisco Firewalls und TrendMicro Produkte. Die Sicherheit eines Systems gewinnt durch die zunehmende Bedrohung von Angriffen immer mehr an Bedeutung. Das Gebiet der „Intrusion Detection“ ist noch relativ jung und soll im Rahmen dieser Arbeit erforscht werden. Vorhandene Infrastruktur für die Realisierung

    Labor Netzwerk (Test und Produktiv) Server und sonstige Hardware Software

    3.2. Bedürfnis / Auftrag (Soll) Bechtle Liestal möchte bereits in der Offertenphase Aussagen bezüglich Sicherheit innerhalb des LANs machen können. Im Weiteren möchten wir Werkzeuge kennen, welche aufzeigen wie die Si-cherheit verstärkt werden kann. Folgende Punkte sollen behandelt oder beschrieben werden:

    Erkenntnisse im Bereich Sicherheit und Intrusion Detection Wo kann die Sicherheit erhöht werden Vorteile / Nachteile einer frei verfügbaren Sicherheitssoftware Stärken und Schwächen von SNORT Auswertung der Erkenntnisse

    3.3. Auftrag Daniel soll sich im Wesentlichen auf die Sicherheit innerhalb des Netzwerkes konzentrieren und die Lauschangriffe innerhalb eines LANs aufdecken sowie Stärken und Schwächen von SNORT kennen lernen. Im Weiteren solle er zu den genannten Bedürfnissen Stellung nehmen.

    3.4. Ziele Darlegung von theoretischen Grundlagen im Bereich „Intrusion Detection“ und praktische Umsetzung Aufbau eines Intrusion Detection System mit Installation und Konfiguration von Snort Verstehen wie Snort Regeln arbeiten und implementiert werden Installation von ACID (Webinterface) auf Basis von Apache/php für bessere Auswertung Durchführen eines Angriffes (z.B.) ARP Poisoning und herausfinden wie Snort darauf reagiert Vollständige Dokumentation inkl. Grundlagenteil Know-How Gewinn im Bereich IT-Security

  • 06.05.2008 Seite 7 von 51 Bechtle-Liestal

    3.5. Abgrenzung Für die Bewertung werden sämtliche Basisinstallationen wie Betriebssystem, MYSQL, Active Directory und DNS ausgegliedert. Ebenfalls ausgegliedert wird „Intrusion Prevention“. Damit ist das automati-sierte Einleiten von Massnahmen(wie z.B. Benachrichtigung per SMS oder E-Mail) gemeint, wenn ein Angriff stattfindet. 4. Grundlagenteil

    4.1. Intrusion Detection System Ein Intrusion Detection System2 ist ein Einbrucherkennungssystem für Netzwerke. Ein IDS kann mit einer Antivirensoftware verglichen werden. Es untersucht die Inhalte des Netzwerkverkehrs, um mög-liche Angriffe zu erkennen, genau wie ein Antivirenscanner die Inhalte eingehender Dateien überprüft, um Virensignaturen oder böswillige Aktionen zu erkennen. Man kann ein Intrusion Detection System also als eine Alarmanlage im Netzwerk ansehen. Sollte ein Einbruch vom System erkannt werden, so wird bei entsprechender Konfiguration der Administrator benachrichtigt, welcher dann entscheidet wie er mit dem Problem umgeht. Angriff Alarmierung Gegenmassnahme

    4.2. Was ist Snort? Snort ist eine Software zur Erkennung von Einbrüchen und Angriffen auf Computernetzwerke. Snort ist Open Source, wurde von Martin Roesch3 entwickelt und zählt mit über 150.000 aktiven Benutzern und 3 Millionen downloads weltweit zu der am Meisten benutzten Open Sour-

    ce Technologie zur Erkennung von Angriffen. Der Name Snort stammt aus dem Englischen und kann mit „sniffen“ oder „schnüffeln“ übersetzt werden. Mit dem schnüffeln wird auf die Funktionalität, das Durchschnüffeln von Netzwerkpaketen hingewiesen. Snort wurde 1998 in einer Unix Version veröf-fentlicht und später auch für andere Plattformen verfügbar gemacht. Mit Hilfe von Regeln wird das Netzwerk auf abweichende Pakete geprüft und gegebenenfalls ein Alarm ausgelöst.

    2 Abk. für Intrusion Detection System = IDS 3 Siehe http://www.sourcefire.com/company/exec/

    Abb. 1 Grundprinzip der Intrusion Detection

  • 06.05.2008 Seite 8 von 51 Bechtle-Liestal

    4.3. Funktionsweise von Snort Um das Verständnis von Snort zu erleichtern, ist es sinnvoll einen Blick auf die Architektur zu werfen. Snort besteht aus folgenden Komponenten:

    - Sniffer - Preprocessor - Detection-Engine - Ausgabe / Alert / Logging

    Abb. 2 Snort Architektur

    Snort ist ein Paketsniffer, welcher darauf ausgerichtet ist, Pakete aus dem Netzwerk aufzunehmen und diese durch den Preprocessor zu verarbeiten. Der Preprocessor nimmt die Daten welche vom Sniffer gefunden werden und überprüft diese auf bestimmte Plugins. Die Plugins prüfen die Pakete auf ein bestimmtes Verhalten(z.B. Portscan Plugin). Danach werden die Pakete an die Detection Engine von Snort weitergeleitet, welche die eigentliche Kernkomponente von Snort ist. Hier werden die Daten auf eine Reihe von Regeln geprüft. Entsprechen die Daten einer in der Detection Engine hinterlegten Regel, wird ein Alarm ausgelöst. Alarme können in einer Log Datei oder in einer Datenbank gespei-chert werden.

    4.4. Betriebsarten von Snort Snort kann in folgende Betriebsarten unterteilt werden:

    - Paketsniffer - Paketlogger - Intrusion Detection System

    Snort wird in den Paketsniffer Modus versetzt. Um die Daten zu speichern, ist der Paketlogger zuständig.

    Der Paketlogger Modus wird aktiviert. Um Snort als Intrusion Detection System zu betrieben muss der Funktion des Paketloggers eine wei-tere Komponente, dass Konfigurationsfile snort.conf hinzugefügt werden.

    Die Snort Regeln, welche vom IDS benötigt werden, sind im Konfigurationsfile eingebunden.

    D:\win-ids\snort\bin>snort –v –i2

    D:\win-ids\snort\bin>snort –v –i2 –l D:\win-ids\snort\log

    D:\win-ids\snort\bin>snort –v –i2 –l D:\win-ids\snort\log –c D:\win-ids\snort\etc\snort.conf

  • 06.05.2008 Seite 9 von 51 Bechtle-Liestal

    4.5. Regeln Die Snort Regeln werden in einem separaten Verzeichnis namens „rules“ abgelegt. Die aktuelle Snort Version beinhaltet über 50 Regelfiles. Eigene Regelfiles können problemlos hinzu-gefügt werden. Um den Aufbau von Snort Regeln zu verstehen, muss man kein Programmierer sein. Sämtliche Snort Regeln sind im Textformat abgelegt. Ein Blick in die Konfigurationsdatei von Snort zeigt, wie Regeln aktiviert und deaktiviert werden kön-nen. Ist ein include mit einem vorangehenden #(Sharp, entspricht einer auskommentierten Zeile) ver-sehen, wird die Regel von Snort nicht bearbeitet. In der Variablen $RULE_PATH wurde festgelegt, wo sich das Verzeichnis mit den Regeln befindet. Anhand eines Beispiels wollen wir nun schauen, wie eine Snort Regel aufgebaut ist. Der Regelheader: e) a) Regelkette b) Protokoll c) Quell Adresse d) Quell Port c) Ziel Adresse d) Ziel Port alert tcp $HOME_NET any $External_NET any Beschreibung des Regelheaders: a) Regelkette: Unter der Regelkette wird das verwendete Ausgabeformat verstanden.

    - alert: Generieren eines Alarms und anschliessendes protokollieren des Pakets - pass: Ignorieren des Pakets - log: Protokollieren des Traffics, kein Alarm - dynamic: Die Regel wird erst ausgeführt, wenn sie von einer anderen aufgerufen wurde

    […] include $RULE_PATH/smtp.rules include $RULE_PATH/imap.rules include $RULE_PATH/pop2.rules include $RULE_PATH/pop3.rules include $RULE_PATH/nntp.rules include $RULE_PATH/other-ids.rules # include $RULE_PATH/web-attacks.rules # include $RULE_PATH/backdoor.rules # include $RULE_PATH/shellcode.rules # include $RULE_PATH/policy.rules # include $RULE_PATH/porn.rules # include $RULE_PATH/spyware-put.rules # include $RULE_PATH/specific-threats.rules # include $RULE_PATH/experimental.rules […]

    alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CHAT ICQ access"; flow:to_server,established; content:"User-Agent|3A|ICQ"; classty-pe:policy-violation; sid:541; rev:9;)

  • 06.05.2008 Seite 10 von 51 Bechtle-Liestal

    b) Protokoll: Dieser Teil steht für das verwendete Protokoll. Möglich sind TCP, UDP, IP und ICMP c) Quell Adresse/Ziel Adresse: Quell und Zieladresse werden angegeben. Möglich sind hier System-variablen wie $HOME_NET oder $EXTERNAL_NET. $EXTERNAL_NET steht dabei für den externen Bereich des Interfaces und $HOME_NET für den internen Bereich des Netzwerkes. Weiterhin ist es hier auch möglich eine IP Adresse oder den Platzhalter any zu verwenden. d) Quell/Ziel-Port. Hier wird Quell – und Zielport angegeben. Der Platzhalter any steht dafür, dass nach jedem Port Ausschau gehalten wird. e) Der Pfeil gibt die Richtung des Pakets an. Möglich sind 2 Arten: -> von nach in beide Richtungen Der Regelbody:

    - „msg“: Enthält den Text, der bei einer Alarmierung ausgegeben wird. - „content“: Gibt an, welchen Inhalt ein Paket haben muss, damit alarmiert wird. Der Inhalt kann entweder im Klartext oder Hexadezimal angegeben werden. - „classtype“: Gibt an, welcher Klasse eine Regel angehört. - „sid“: Die Regel SID ist eine Nummer, welche genau auf die Regel zutrifft. - „rev“: Die Revisionsnummer gibt an, in welcher Version die Regel vorliegt.

    5. Netzwerkschema und Switch

    Abb. 3 Netzwerkschema

  • 06.05.2008 Seite 11 von 51 Bechtle-Liestal

    Überwachte Ports Uplink / Monitor Port Snort wird im Rahmen dieses Projektes nicht als Host Basierendes Intrusion Detection System einge-setzt. Da der Datenverkehr mehrer Computer überwacht werden soll, wird ein Cisco Catalyst 2960 Switch verwendet, welcher für dieses Projekt konfiguriert wurde. Dieser Switch besitzt 48 100Mbit Ports und 2 Gigabit Ports. Der eine Gigabit Port dient als Uplink Port auf unser internes Netzwerk und der zweite Gigabit Port wird als Monitor Port verwendet, welcher den Traffic der 48 100Mbit Ports auf dem Switch überwacht. Der IDS Server auf welchem Snort installiert wird, hat 2 Netzwerkanschlüsse. Der eine Netzwerkan-schluss ist mit dem Monitor Port des Cisco Catalyst 2960 Switches verbunden und der andere An-schluss geht direkt auf unser internes Netzwerk. Snort wird so konfiguriert, dass nur der Traffic, welcher über den Monitor Port des Cisco Catalyst 2960 Switch läuft überwacht wird. Im Netzwerkschema wäre dies der grüne Kasten mit der Bezeichnung Test LAN. Der blaue Kasten bezeichnet das Interne LAN. Sämtliche Clients und Server welche sich nicht im Test LAN befinden, werden von Snort nicht überwacht. Alle IP Adressen werden vom internen DHCP Server im Range 172.26.7.0/24 vergeben.

    6. Verwendete Hardware 6.1. Server 1

    Typ: HP DL385 G2 Prozessor: AMD Opteron 2218, 2.6 Ghz Arbeitsspeicher: 2GB Kontroller: Smart Array P400 Raid Controller Festplatten: 72 GB Serial SCSI Raid 1 Grafikkarte: ATI ES1000 32Mbyte Netzwerkkarte: 2x HP NC373i Multifunction Gigabit Adapter Betriebssystem: Windows Server2003 Enterprise Edition Funktion: Snort IDS, Apache Webserver, ACID Base,

    MYSQL, Zusatztools

  • 06.05.2008 Seite 12 von 51 Bechtle-Liestal

    6.2. Server 2

    Typ: HP Proliant DL380 G4 Prozessor: Intel Xeon 3.2 Ghz Arbeitsspeicher: 1GB Kontroller: Smart Array 64xx Controller Festplatten: 36.4GB Ulter Wide SCSI Raid1 Grafikkarte: ATI Rage XL 8Mb Netzwerkkarte: 2x HP NC 7782 Gigabit Server Adapter Betriebssystem: Windows Server2003 Enterprise Edition Funktion: Mail Server, FTP Server

    6.3. 2 Clients

    Typ: Compaq Evo D510 Prozessor: Intel Pentium4 2.0Ghz Arbeitsspeicher: 256 Mb Festplatten: 40GB Seagate HD Grafikkarte: Intel82845G 64Mb Netzwerkkarte: Intel Pro100 Betriebssystem: WindowsXP SP2 Funktion: Wird für Durchführung der Tests gebraucht

    6.4. Notebook

    Typ: HP Compaq Nc8230 Prozessor: Intel Pentium M 1.86Ghz Arbeitsspeicher: 2GB Festplatten: 80GB Seagate HD Grafikkarte: ATI Mobility Radeon X600 Netzwerkkarte: Broadcom NetXTreme Gigabit Ethernet Betriebssystem: WinXP SP2 Funktion: Wird verwendet für Dokumentation und für Tests

    mit Backtrack 2.0 und Operator Security CD

    6.5. Switch

    Typ: Cisco Catalyst 2960 Anzahl 100MbitPorts: 48 Anzahl GigaPorts: 2

    6.6. Nas Disk

    Typ: Lan Storage ET-H3556 HD: 450 GB Western Digital Funktion: Backup

  • 06.05.2008 Seite 13 von 51 Bechtle-Liestal

    7. IDS Installation Für die Installation von Snort verwende ich ein „all in one“ Paket4. Darin enthalten ist alles was ich für die Installation von Snort brauche. Als Leitfaden für die Installation dient mir eine Anleitung5 von http://www.winids.com. Für eine detaillierte Aufstellung der eingesetzten Software inkl. Zusatztools siehe Kapitel 13.3 Software Verzeichnis.

    7.1. Winids „all in one“ Paket Apache Webserver V.2.2.8 Ok Snort V.2.8.1 *Aufgrund von Problem V.2.8.0 installiert Winpcap V.4.0.2 *Aufgrund von Problem V.4.0.1 installiert MySQL Server V.5.0.51a Ok ADODB V.4.9.8 Ok ACID BASE V.1.3.9 Ok PHP V.5.2.5 Ok Active Perl V.5.6.1 Ok Event Watch NT V.2.3.3 Ok MySQL Gui Tools V.5.0 Ok Snort Rules 03.04.08 Ok Oinkmaster V.2.0 Ok * Details siehe Arbeitsjournal Das Paket wird in der aktuellen Version heruntergeladen und auf dem Winids Server im Verzeichnis C:\IDSPak abgelegt und entpackt. Bevor ich mit der Installation von Snort beginne, bearbeite ich die Datei hosts, welche sich im Verzeichnis C:\Windows\system32\etc befindet. Hier lege ich fest, dass der der Name winids nach localhost aufgelöst wird.

    Abb. 4 Der Eintrag winids wird in die Datei hosts hinzugefügt

    4 Siehe http://www.winids.com/index.php?name=Downloads&req=viewsdownload&sid=22 5 Siehe http://www.winids.com/index.php?name=Sections&req=viewarticle&artid=5&page=1

  • 06.05.2008 Seite 14 von 51 Bechtle-Liestal

    7.2. Installation von Winpcap und Snort Damit Snort überhaupt funktionsfähig wird, muss zuerst winpcap installiert werden. Winpcap ermög-licht das aufzeichnen von Netzwerkpaketen und wird von Snort so wie diversen anderen „Paketsnif-fern“ benötigt. Die Installationsdateien von Winpcap und Snort befinden sich im IDSPak Verzeichnis. Da bei der Installation von Winpcap keine speziellen Anpassungen gemacht werden, gehe ich auf diese Installation nicht mehr näher ein. Nun folgt die Installation von Snort, von welcher ich Screenshots gemacht habe.

    Abb. 5 Snort Installation

    Bemerkungen: Ich stimme dem Lizenzvertrag zu.

    Abb. 6 Snort Installation

    Bemerkungen: Ich wähle die erste Möglichkeit, da eine Datenbankanbindung erst später eingerichtet wird.

  • 06.05.2008 Seite 15 von 51 Bechtle-Liestal

    Abb. 7 Snort Installation

    Bemerkungen: Ich schliesse keine Komponente aus und übernehme gleich die Standardeinstellung.

    Abb. 8 Snort Installation

    Bemerkungen: Alle zukünftigen Installationen welche Snort betreffen, werden im Verzeichnis D:\win-ids\ ab-gelegt. Daher ändere ich an dieser Stelle den Installations-pfad.

    Nach der Installation erscheint ein Fenster, dass Snort nun erfolgreich installiert wurde. Weiterhin wird darauf hingewiesen, dass Snort wincap benötigt und dass Anpassungen an der Konfi-gurationsdatei (snort.conf) vorgenommen werden müssen. Bevor ich die Konfigurationsdatei von Snort modifiziere, entpacke ich die Datei snortrules-snapshot-CURRENT.zip nach d:\win-ids\snort. Diese Datei befindet sich ebenfalls im IDSPak Verzeichnis. Da ungefähr 12'000 Signaturen kopiert werden, nimmt dieser Vorgang ein wenig Zeit in Anspruch.

  • 06.05.2008 Seite 16 von 51 Bechtle-Liestal

    7.3. Anpassungen an der Konfigurationsdatei von Snort Folgende Angaben werden ergänzt:

    * Dieser Pfad wird später durch einen neuen Ergänzt werden

    Original: var HOME_NET any Change: var HOME_NET 172.26.7.0/24 Original: var EXTERNAL_NET any Change: var EXTERNAL_NET !$HOME_NET Original: var RULE_PATH ../rules Change: var RULE_PATH d:\win-ids\snort\rules * Original: dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so Change: dynamicengine d:\win-ids\snort\lib\snort_dynamicengine\sf_engine.dll Präpocessor Pfade ergänzen: dynamicpreprocessor file d:\win-ids\snort\lib\snort_dynamicpreprocessor\sf_dcerpc.dll dynamicpreprocessor file d:\win-ids\snort\lib\snort_dynamicpreprocessor\sf_dns.dll dynamicpreprocessor file d:\win-ids\snort\lib\snort_dynamicpreprocessor\sf_ftptelnet.dll dynamicpreprocessor file d:\win-ids\snort\lib\snort_dynamicpreprocessor\sf_smtp.dll dynamicpreprocessor file d:\win-ids\snort\lib\snort_dynamicpreprocessor\sf_ssh.dll Im Abschnitt sfportscann wird folgendes geändert: Original: sense_level { low } Change: sense_level { low } \ logfile { portscan.log } Original: # output log_tcpdump: tcpdump.log Change: # output log_tcpdump: tcpdump.log output alert_fast: alert.ids Original: # output database: log, mysql, user=root password=test dbname=db host=localhost Change: output database: log, mysql, user=snort password=l0gg3r dbname=snort host=localhost sensor_name=WinIDS Original: include classification.config Change: include d:\win-ids\snort\etc\classification.config Original: include reference.config Change: include d:\win-ids\snort\etc\reference.config Original: # include threshold.conf Change: include d:\win-ids\snort\etc\threshold.conf

  • 06.05.2008 Seite 17 von 51 Bechtle-Liestal

    7.4. Funktionscheck von Snort nach der Grundinstallation Um zu testen, ob Snort Pakete empfängt, öffne ich die Eingabeforderung und navigiere ins Verzeich-nis d:\win-ids\snort\bin

    Abb. 9 Snort listet die Netzwerkadapter des Systems auf Mit diesem Parameter –v lasse ich Snort im Sniffer Modus laufen. Der Parameter –i2 steht für das zweite Netzwerkinterface

    Abb. 10 Snort zeigt die Pakete der Netzwerkkarte2 an

    D:\win-ids\snort\bin>snort -W

    D:\win-ids\snort\bin>snort –v –i2

  • 06.05.2008 Seite 18 von 51 Bechtle-Liestal

    7.5. Installation Apache Webserver Da Snort den Traffic auf dem gewünschten Netzwerkinterface anzeigt, kann ich mit der Installation des Apache Webservers fortfahren. Um Apache zu installieren muss im IDSPak Verzeichnis die Datei apache_2.2.8-win32-x86-no_ssl.msi ausgeführt werden.

    Abb. 11 Apache Installation

    Bemerkungen: Ich stimme dem Lizenzvertrag zu.

    Abb. 12 Apache Installation

    Bemerkungen: Network Domain: defense-systems.local Server Name: winids Admin E-Mail Adresse: [email protected]

  • 06.05.2008 Seite 19 von 51 Bechtle-Liestal

    Abb. 13 Benutzerdefiniert

    Bemerkungen: Hier wähle ich Custom, damit der Installationspfad nachträglich angepasst werden kann.

    Abb. 14 Installationspfad anpassen

    Bemerkungen: Hier verweise ich den Installati-onspfad nach d:\win-ids\

  • 06.05.2008 Seite 20 von 51 Bechtle-Liestal

    7.6. Apache mit php Modul ergänzen Da Apache modular aufgebaut ist, muss dieser für die php Unterstützung zuerst mit einem entspre-chenden Modul ergänzt werden. Dazu navigiere ich ins Verzeichnis d:\win-ids\apache\conf, bearbeite die Datei httpd.conf und suche nach folgender Zeile: Gleich darunter füge ich folgende Zeilen für das php Modul ein.

    7.7. Php Unterstützung installieren Zuerst wechsle ich ins IDSPak Verzeichnis und entpacke den Inhalt der Datei „php-5.2.4-Win32.zip“ nach D:\win-ids\php Anschliessend muss die Datei libmysql.dll ins Verzeichnis C:\windows\system32 kopiert werden. Die Datei php.ini-dist wird kopiert und in php.ini umbenannt. In der php.ini Datei nehme ich folgende Änderungen vor:

    #LoadModule ssl_module modules/mod_ssl.so

    LoadModule php5_module d:\win-ids\php\php5apache2_2.dll AddType application/x-httpd-php .php PHPIniDir d:\win-ids\php

    copy c:\win-ids\php\php.ini-dist c:\win-ids\php\php.ini

    Original: max_execution_time = 30 Change: max_execution_time = 60 Original: display_errors = On Change: display_errors = Off Original: ;include_path = ".;c:\php\includes" Change: include_path = "d:\win-ids\php\pear" Original: extension_dir = "./" Change: extension_dir = "d:\win-ids\php\ext" Original: ; extension=php_gd2.dll Change: extension=php_gd2.dll Original: ; extension=php_mysql.dll Change: extension=php_mysql.dll Original: ; session.save_path = "/tmp" Change: session.save_path = "c:\windows\temp"

  • 06.05.2008 Seite 21 von 51 Bechtle-Liestal

    7.8. Testen der Apache und php installation Nun muss der Apache Server neu gestartet werden, damit die Konfigurationsdatei erneut geladen wird. Im IDSPak Verzeichnis befindet sich eine Datei namens test.php. welche nach d:\win-ids\apache\htdocs kopiert werden muss. Sobald dies erledigt ist, rufe ich im Browser die Datei test.php auf.

    Abb. 15 Php Installation war erfolgreich Da die Seite im Browser dargestellt wird, weiss ich, dass die php Installation erfolgreich war. Sollte die oben dargestellte Seite nicht angezeigt werden, so müsste das httpd.conf und php.ini File nochmals überprüft werden. Weiterhin prüfe ich, ob die folgenden Pfadangaben stimmen: Loaded Configuration File d:\win-ids\php\php.ini extension_dir d:\win-ids\php\ext include_path d:\win-ids\php\pear session.save_path d:\windows\temp

    7.9. Snort als Service installieren Ich öffne die Eingabeaufforderung und navigiere ins Verzeichnis d:\win-ids\snort\bin Dort muss folgender Befehl eingegeben werden:

    Abb. 16 Ausgabe, nachdem Snort erfolgreich als Service installiert wurde

    D:\win-ids\snort\bin>snort /service /install –c d:\win-ids\snort\etc\snort.conf –l d:\win-ids\snort\log –K ascii –i2

  • 06.05.2008 Seite 22 von 51 Bechtle-Liestal

    Sollte aus irgendeinem Grund der Snort Service wieder entfernt werden, so kann dies mit folgender Eingabe getan werden:

    Den frisch installierten Dienst setze ich von Manuell auf Automatisch.

    Abb. 17 Snort als Service

    7.10. Installation von MySQL Um MySQL zu installieren muss die Datei mysql-essential-5.0.51a-win32.msi ausgeführt werden, welche sich im IDSPak Verzeichnis befindet.

    Abb. 18 MySQL Installation

    Bemerkungen: Auch hier wähle ich Custom, damit der Pfad für die Installation nachträglich angepasst werden kann.

    D:\win-ids\snort\bin>snort /service /uninstall

  • 06.05.2008 Seite 23 von 51 Bechtle-Liestal

    Abb. 19 MySQL Installation

    Bemerkungen: Der Installationspfad wird auf D:\win-ids\mysql gesetzt

    Abb. 20 MySQL Installation

    Bemerkungen: Nachdem die Installation abge-schlossen ist, wähle ich Configu-re the MySQL Server now.

  • 06.05.2008 Seite 24 von 51 Bechtle-Liestal

    Abb. 21 MySQL Konfiguration

    Bemerkungen: Hier wähle ich Standard Configu-ration

    Abb. 22 MySQL Konfiguration

    Bemerkungen: Ich installiere MySQL als Service und erweitere die Pfadvariable, damit Windows das MySQL Ver-zeichnis kennt

    Im nächsten Dialog entferne ich den Haken bei „Modify Security Settings“ und schliesse die Konfigura-tion ab.

  • 06.05.2008 Seite 25 von 51 Bechtle-Liestal

    7.11. Datenbankkonfiguration Ich öffne die Eingabeaufforderung und starte die mysql Konsole: Es werden 2 leere Datenbanken erstellt und die Datenbank Test gelöscht. Die eine nenne ich snort und die andere archive. Mittels vordefinierten Script (create_mysql) füge ich die Tabellen in die soeben neu erstellten Datenbanken hinzu.

    7.11.1. Einrichten des Zugangs und der Datenbankbenutzer

    Dem Benutzer root vergebe ich ein Passwort und passe anschliessend die Berechtigung der Daten-banken an.

    D:\win-ids\mysql\bin>mysql –u –root

    mysql> show databases; drop database test; mysql> create database snort; mysql> create database archive; mysql> connect snort mysql> source d:\win-ids\snort\schemas\create_mysql mysql> connect archive mysql> source d:\win-ids\snort\schemas\create_mysql mysql> show tables;

    mysql> set password for root@localhost = password(’R3al0n3’); grant INSERT,SELECT,UPDATE on snort.* to snort@localhost identified by 'l0gg3r'; mysql> grant insert,select,update on snort.* to snort identified by 'l0gg3r'; mysql> grant insert,select,update,delete,create on snort.* to base identified by 'an@l1st'; mysql> grant insert,select,update,delete,create on snort.* to base@localhost identified by 'an@l1st'; mysql> grant insert,select,update,delete,create on archive.* to base identified by 'an@l1st'; mysql> grant insert,select,update,delete,create on archive.* to base@localhost identified by 'an@l1st'

  • 06.05.2008 Seite 26 von 51 Bechtle-Liestal

    Anschliessend muss die Datei my.ini editiert werden, welche sich im mysql Verzeichnis befindet.

    7.12. Konfiguration von Adodb und Acid Base Für das Webinterface Acid Base wird Adodb benötigt. Adodb steht für „Active Data Objects Database“. Es handelt sich dabei um eine Schnittstelle für php, um mit allen unterstützten Datenbanken auf die gleiche Art und Weise zu kommunizieren. Im IDSPak Verzeichnis befindet sich eine Datei namens adodb498.zip, welche nach d:\win-ids\ ent-packt wird. Die Datei base-1.3.9.zip wird nach d:\win-ids\apache\htdocs entpackt Anschliessend wechsle ich in die Eingabeaufforderung und gebe folgenden Befehl ein: Somit habe ich eine Sicherung der ursprünglichen Konfigurationsdatei angelegt und eine scharfe Kon-figurationsdatei. Im Base Verzeichnis muss zudem ein Verzeichnis namens signatures angelegt und die bestehenden Signaturen von d:\win-ids\snort\doc\signatures dort hinein kopiert werden. Jetzt folgt die eigentliche Konfiguration von Base. Dazu muss ich im Verzeichnis Base die Datei ba-se_conf.php editieren und folgende Änderungen vornehmen:

    Original: sqlmode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" Change: sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

    copy d:\win-ids\apache\htdocs\base\base_conf.php.dist d:\win-ids\apache\htdocs\base\base_conf.php

    Original: $BASE_urlpath = ''; Change: $BASE_urlpath = 'http://winids/base'; Original: $DBlib_path = ''; Change: $DBlib_path = 'd:\win-ids\adodb'; Original: $DBtype = '?????'; Change: $DBtype = 'mysql';

  • 06.05.2008 Seite 27 von 51 Bechtle-Liestal

    Originals: $alert_dbname = '?????'; $alert_host = '?????'; $alert_port = '?????'; $alert_user = '?????'; $alert_password = '?????'; Change to: $alert_dbname = 'snort'; $alert_host = 'localhost'; $alert_port = ''; $alert_user = 'base'; $alert_password = 'an@l1st; Originals: $archive_exists = 0; # Set this to 1 if you want access to the archive DB from BASE $archive_dbname = '?????'; $archive_host = '?????'; $archive_port = '?????'; $archive_user = '?????'; $archive_password = '?????'; Change to: $archive_exists = 1; # Set this to 1 if you want access to the archive DB from BASE $archive_dbname = 'archive'; $archive_host = 'localhost'; $archive_port = ''; $archive_user = 'base'; $archive_password = 'an@l1st; Original: $show_rows = 48; Change: $show_rows = 90; Original: $show_expanded_query = 0; Change: $show_expanded_query = 1; Original: $portscan_file = ''; Change: $portscan_file = 'd:\win-ids\snort\log\portscan.log'; Original: $colored_alerts = 0; Change: $colored_alerts = 1; Original: $priority_colors = array ('FF0000','FFFF00','FF9900','999999','FFFFFF','006600'); Change: $priority_colors = array('000000','FF0000','FF9900','FFFF00','999999');

  • 06.05.2008 Seite 28 von 51 Bechtle-Liestal

    7.12.1. Erstellen der Tabellen für Acid Base

    Mittels vordefiniertem Script erweitere ich die Tabellen der Datenbanken snort und archive.

    7.13. Installation von PEAR Pear steht für „PHP Extension and Application Repository“. Es handelt sich dabei um eine Sammlung von Modulen und Erweiterungen für die Skriptsprache php, welche für das Webinterface Acid Base benötigt werden. Um pear zu installieren öffne ich die Eingabeaufforderung, navigiere ins Verzeichnis d:\win-ids\php und führe die Datei go-pear.bat aus.

    Abb. 23 Installation von pear

    Bemerkung: 2x mit Enter bestätigen

    Zusätzlich muss ich noch folgende Module installieren:

    mysql> connect snort mysql> source d:\win-ids\apache\htdocs\base\sql\create_base_tbls_mysql.sql mysql> connect archive mysql> source d:\win-ids\apache\htdocs\base\sql\create_base_tbls_mysql.sql mysql> show tables;

    D:\win-ids\php>pear install Image_Color D:\win-ids\php>pear install Log D:\win-ids\php>pear install Numbers_Roman D:\win-ids\php>pear install Image_Color D:\win-ids\php>pear install http://pear.php.net/get/Image_Canvas D:\win-ids\php>pear install http://pear.php.net/get/Numbers_Words-0.15.0 D:\win-ids\php>pear install http://download.pear.php.net/package/Image_Graph-0.7.2.tgz

  • 06.05.2008 Seite 29 von 51 Bechtle-Liestal

    7.14. Passwort Abfrage für Acid Base einrichten Ich wechsle ins Apache Verzeichnis und erstelle einen Ordner namens passwords. Danach öffne ich die Eingabeaufforderung und navigiere ins Verzeichnis d:\win-ids\apache\bin Sobald ich dem Benutzer base ein Passwort vergeben habe, fahre mit der Konfiguration des Apache Webservers fort, indem ich die Datei httpd.conf erneut editiere. Ich suche nach folgendem Abschnitt: Gleich darunter muss folgendes eingefügt werden: Weiterhin suche ich nach der Index Variabel und ändere diese wie folgt: Damit die Änderung wirksam wird, muss der Apache Server neu gestartet werden. Danach kann ich testen, ob ich auf das Webinterface komme. Erscheint wie in Abbildung 22 ersichtlich das Webinter-face, so hat die bisherige Installation funktioniert.

    htpasswd -c c:\win-ids\apache\passwords\passwords base

    Options FollowSymLinks AllowOverride None Order deny,allow Deny from all Satisfy all

    AuthType Basic AuthName "WinIDS" AuthUserFile c:\win-ids\apache\passwords\passwords Require user base

    Original: DirectoryIndex index.html index.html.var Change: DirectoryIndex base_main.php

  • 06.05.2008 Seite 30 von 51 Bechtle-Liestal

    Abb. 24 Das frisch aufgesetzte Webinterface Acid Base

  • 06.05.2008 Seite 31 von 51 Bechtle-Liestal

    8. Zusatztools für Snort

    8.1. Vorbereitungen für Oinkmaster Wie ein Virenscanner stets auf aktuelle Virendefinitionen angewiesen ist, so muss auch Snort aktuell gehalten werden. Snort hat die Möglichkeit über eine Komponente namens Oinkmaster Updates der Regelsätze herunterzuladen. Damit ich jedoch berechtigt bin Updates zu beziehen, muss ich mich zuerst auf snort.org registrieren und dort einen Oinkmastercode anfordern. Ohne diesen Code gibt es keine Updates. Das ganze ist selbstverständlich kostenlos.

    Abb. 25 Oinkmastercode anfordern Mein Oinkcode: ee74baced14b961a42fd6e35fe7bc9ef03919bf2 Da Oinkmaster auf Perl basiert, muss Active Perl installiert werden. Die Installationsdatei ActivePerl-5.6.1.635-MSWin32-x86.msi befindet sich wie die bisherigen Installationen im IDSPak Verzeichnis.

  • 06.05.2008 Seite 32 von 51 Bechtle-Liestal

    Abb. 26 ActivePerl Installation

    Bemerkungen: Ich stimme dem Lizenzvertrag zu.

    Abb. 27 ActivePerl Installation

    Bemerkungen: Ich ändere den Installationspfad auf d:\win-ids\perl

  • 06.05.2008 Seite 33 von 51 Bechtle-Liestal

    Abb. 28 ActivePerl Installation

    Bemerkungen: Ich füge Perl der Pfadvariabel von Windows hinzu und registriere Perl bei den ausführbaren Dateien.

    Nach der Installation öffne ich die Eingabeaufforderung und muss zusätzlich ein Modul installieren, damit oinkmaster funktioniert.

    8.2. Installation und Konfiguration der Oinkmaster GUI Die Datei oinkmaster-2.0.zip befindet sich ebenfalls im IDSPak Verzeichnis und muss nun entpackt werden. Das Ziel Verzeichnis ist d:\win-ids\. Nachdem Oinkmaster entpackt wurde, wechsle ich ins Verzeichnis D:\win-ids\oinkmaster\contrib und führe die Datei oinkgui.pl aus.

    Abb. 29 Oinkmaster GUI beim ersten Start Sobald alle Pfadangaben ergänzt sind, wechseln die Buttons von Rot auf Grün: oinkmaster.pl Pfad: d:\win-ids\oinkmaster\oinkmaster.pl oinkmaster.conf Pfad: d:\win-ids\oinkmaster\oinkmaster.conf output directory: d:\win-ids\snort\rules * * Dieser Pfad wird später ergänzt

    ppm install IO::Zlib

  • 06.05.2008 Seite 34 von 51 Bechtle-Liestal

    Alternative URL: http://www.snort.org/pub-bin/oinkmaster.cgi/OINK_CODE*/snortrules-snapshot-CURRENT.tar.gz *Anstelle von OINK_Code folgt: ee74baced14b961a42fd6e35fe7bc9ef03919bf2 Variable File: d:\win-ids\snort\etc\snort.conf Backup Directory: d:\win-ids\snort\backup Editor: C:\Program Files\Windows NT\Accessories\wordpad.exe

    Abb. 30 Oinkmaster nach der Konfiguration

    8.3. SAM (Snort Alert Monitor) Snort Alert Monitor ist ein Zusatztool für Snort, welches Alarme in Echtzeit grafisch darstellt. SAM greift wie ACID auf die Datenbank zu und verarbeitet die von Snort generierten Daten. Weiterhin hat SAM die Möglichkeit eine Alarmierung per Mail auszulösen, wenn eine vom Benutzer definierte Anzahl von Alarmen überschritten ist. SAM basiert auf Java und kann unter http://www.darkaslight.com/projects/sam heruntergeladen wer-den. Die letzte Version von SAM ist auf den 8.2.2005 datiert. Wie die bisherigen Programme, entpacke ich SAM ins Verzeichnis d:\win-ids Danach installiere ich JavaVirtualMaschine, da SAM sonst nicht funktionsfähig wäre.

    Abb. 31 Snort Alert Monitor

    Bemerkung: Um das Mail Alerting von SAM zu konfigu-rieren, muss die Datei sam.properties editiert werden, welche sich im Verzeichnis d:\win-ids\sam\conf befindet.

    [email protected] email.host=172.26.7.153 [email protected] alertlevel.medium=10 DatabaseUID=MySQL-Server alertlevel.high=15 mainpanel.refresh=5 DatabaseType=MySQL email.active=true

  • 06.05.2008 Seite 35 von 51 Bechtle-Liestal

    8.4. EventWatch NT Eine weitere Möglichkeit eine Alarmierung per Mail zu testen bietet das Tool EventWatch NT. Auch dieses möchte ich im Rahmen dieser Arbeit kurz testen. Ich wechsle ins IDSPak Verzeichnis und entpacke die Datei eventwatchnt_v233.exe in das Verzeich-nis d:\win-ids\eventwatchnt Danach muss die Konfigurationsdatei von Snort editiert werden, damit Snort Einträge in das Eventlog von Windows macht.

    Abb. 32 Das Tool EventwatchNT

    Bemerkung: Sender Name: WINIDS Mail Adresse: [email protected] Empfänger: [email protected] SMTP Server: 172.26.7.153 Subject: Snort Alert Priority 1 Filters: [Priority: 1] Type: Include Eventlogs to Monitor: Application Eventlogs to Report: Information HTML Email

    8.5. IDS Policy Manager Ich suchte nach einer Möglichkeit Snort Regeln mit Hilfe einer grafischen Oberfläche schreiben und editieren zu können. Durch einen Artikel von Tecchannel6 bin ich auf den „IDS Policy Manager V.1.8.1“7 gestossen, welcher mir dies ermöglicht. Da man bei der Installation ausser dem Zielverzeichnis keine weiteren Angaben machen muss, behal-te ich mir vor auf die Installation nicht mehr näher einzugehen. Den Pfad für das Zielverzeichnis habe ich wie folgt gesetzt: D:\win-ids\idspolicymanager\IDSPolMan Ich stellte fest, dass der IDS Policy Manager nur bedingt brauchbar ist, da er meine bestehende Snort Konfigurationsdatei überschreiben würde. Dies kommt daher, weil der IDS Policy Manager noch mehr Funktionen bietet als das Editieren und schreiben von Regeln.

    6 http://www.tecchannel.de/netzwerk/management/431413/index7.html 7 Siehe http://www.activeworx.org/Archive/tabid/64/Default.aspx

    Original: # output alert_syslog: LOG_AUTH LOG_ALERT Change: output alert_syslog: LOG_AUTH LOG_ALERT

  • 06.05.2008 Seite 36 von 51 Bechtle-Liestal

    Ich habe den IDSPolicy Manager wie folgt konfiguriert:

    Abb. 33 IDS Policy Manager Unter Options Settings Policy Editor Settings entferne ich den Haken bei „Check for Policy upda-tes when loading Policy“, da die Updates über Oinkmaster laufen. Im Reiter Policy Manager wird ein Rechtsklick auf Rules Editor Policy Settings gemacht

    Abb. 34 Konfiguration von IDS Policy Manager

    Bemerkung: Zuerst müssen die Regeln von d:\win-ids\snort\rules nach d:\win-ids\idspolicymanager\IDSPolMan\rules kopiert werden. Als Policy Location gebe ich ein anderes Snort Konfigurationsfile an, damit das originale nicht überschrieben wird. Auch hier entferne ich die Option Quick Policy Update Check.

    Nachdem diese Einstellungen gemacht wurden, nicht vergessen unter File Save die Einstellungen zu speichern, damit diese von IDS Policy Manager auch übernommen werden. Auch sehr wichtig ist, dass nun in der Konfigurationsdatei von Snort die Pfadvariable für das Regel-verzeichnis angepasst wird. Diese wird nun von wie folgt geändert: Derselbe Pfad muss nun auch im Oinkmaster angegeben werden:

    Original: var RULE_PATH d:\win-ids\snort\rules Change: var RULE_PATH d:\win-ids\idspolicymanager\IDSPolMan\rules

    Original: output directory: d:\win-ids\snort\rules Change: output directory: d:\win-ids\idspolicymanager\IDSPolMan\rules

  • 06.05.2008 Seite 37 von 51 Bechtle-Liestal

    Nun muss ich den Dienst von Snort neu starten, damit der neue Regelpfad aktiv wird:

    Bemerkung: Im Reiter Policy Manager, mache ich einen Rechtsklick auf Regel Editor und wähle Open in Policy Editor. Nun können die Regeln auf einer grafischen Oberfläche aktiviert, deaktiviert und ge-schrieben werden.

    Im originalen Konfigurationsfile von Snort, muss dann einfach die gewünschte Hauptregel aktiviert bzw. deaktiviert werden. Ist eine Hauptregel aktiviert, so werden alle Unterregeln wie im IDS Policy Manager eingestellt übernommen. Beispiel: Aktiviere ich im Konfigurationsfile von Snort die Regel local.rules, so ist gemäss den Einstellungen von IDS Policy Manager die Regel IDS Test Paket ebenfalls aktiv.

    8.6. Sonstiges Damit das „E-Mail Alerting“ getestet werden kann, braucht es einen smtp Server. Da ich intern in der Firma keinen zur Verfügung habe, suchte ich nach einer Freewaremöglichkeit und bin auf den Hamster Mail Server gestossen. Mit diesem ist es auch möglich Postfächer für Benutzer einzurichten. Hamster kann man unter folgender URL downloaden: ftp://hamster.ftp.fu-berlin.de/Hamster.23.4.zip Auf dem zweiten Server entpacke ich die Datei nach C:\Program Files\Hamster und führe von dort die Datei Hamster.exe aus. Über das Menu Einstellungen Benutzerverwaltung und Passworte lege ich 3 Benutzer an. Name: E-Mail Adresse: Daniel Müller [email protected] Urs Meier [email protected] Snort [email protected]

    include $RULE_PATH/local.rules

  • 06.05.2008 Seite 38 von 51 Bechtle-Liestal

    Abb. 35 Konfiguration von Hamster

    Bemerkung: Benutzer wird eröffnet. Hat Pop3 Mail Box und kann E-Mails versenden. Das versenden von E-Mails ist nur innerhalb des Testnetzes möglich. Der Benutzer Snort darf E-Mails versenden, er-hält aber keine POP3 Mailbox.

    Über das Menu Einstellungen Lokale Server IP Access lege ich fest, dass der Mail Server in der IP Range 172.26.7.0 – 172.26.7.255 erreichbar ist.

  • 06.05.2008 Seite 39 von 51 Bechtle-Liestal

    9. Testen und Auswerten des IDS

    9.1. Portscans durchführen Test 1: Gewöhnlicher TCP Portscan auf Client mit WinXP SP2 Client IP Adresse: 172.26.7.105 Benötigte Hilfsmittel: Quelle:

    Nmap V.11 Backtrack2 http://www.remote-exploit.org/backtrack_download.html

    Beschreibung und Durchführung:

    Mit dem Portscanner nmap wird ein TCP Portscan auf den Client mit der IP Adresse 172.26.7.105 durchgeführt. Der Client ist mit einem der vom IDS überwachten Ports am Switch verbunden. Es soll herausgefunden werden, ob das IDS diesen Portscan erkennt und protokolliert.

    Erwartetes Resultat: Portscan wird vom IDS aufgezeichnet Auswertung: Der Portscan wurde erkannt und ist auf dem Webinterface sichtbar

    Abb. 36 Auszug aus dem ACID Webinterface Massnahme: Keine Test 2: TCP SYN Scan auf Client mit WinXP SP2 Client IP Adresse: 172.26.7.148 Benötigte Hilfsmittel: Quelle:

    Nmap V.11 Backtrack2: http://www.remote-exploit.org/backtrack_download.html

    Beschreibung und Durchführung:

    TCP ist ein zuverlässiges und verbindungsorientiertes Protokoll. Dazu nutzt TCP den 3-Wege-Handshake, welcher zum Auf- und Abbau einer Verbindung dient. Der Rechner, welcher eine Verbindung aufbauen will, sendet dem anderen ein SYN Paket. Die Gegenstelle empfängt das Paket. Ist der Port geöffnet, antwortet sie mit einem SYN + ACK Paket, ist der Port geschlossen wird mit einem TCP RST Paket geantwortet. Sofern die Verbindung von der Gegenstelle nicht beendet wurde, sendet der anfragende Client ein ACK Paket zurück.

    Client Server

    SYN

    --------->

    SYN + ACK

    bt ~ #nmap -sT 172.26.7.105

  • 06.05.2008 Seite 40 von 51 Bechtle-Liestal

    Die Option –sS veranlasst nmap einen SYN Scan auszuführen. Der Scanner beginnt mit einem SYN-Segment. Es wird jedoch keine voll-ständige TCP-Session aufgebaut. Ist der Port auf dem Zielhost im LISTENING und antwortet mit einem SYN/ACK, sendet Nmap sofort ein RST-Segment (RESET). Dadurch wird die halboffene Verbindung wieder abgebaut. Mit der SYN-Scan Technik kann unter Umständen eine Erken-nung des Portscans vermieden werden.

    Erwartetes Resultat: Portscan wird vom IDS aufgezeichnet und protokolliert. Auswertung: Auch dieser Portscan wurde erkannt und ist auf dem Webinterface sichtbar.

    Massnahme: Keine Test 3: Stealth Scan Technik auf Client anwenden Client IP Adresse: 172.26.7.148 Benötigte Hilfsmittel: Quelle:

    Nmap V.11 Backtrack2: http://www.remote-exploit.org/backtrack_download.html

    Beschreibung und Durchführung:

    Die Stealth Scans beruhen alle darauf, dass an den Zielost ein ungültiges Paket gesendet wird. Ein Scan Typ möchte ich mir nun ansehen und testen. Hier wird die Option –sF angewendet, was für ScanFin steht. Ein FIN-Flag wird normalerweise nur gesendet, wenn man ein Verbindungsende initiali-sieren möchte. Eigentlich macht es keinen Sinn ein solches Paket zu sen-den, wenn keine Verbindung besteht. Genau dies macht die Option jedoch. Es wird der Umstand ausgenutzt, dass ein geschlossener Port immer mit einem RST-Paket Antworten sollte. Ein offener Port hingegen wird das Pa-ket schlichtweg verwerfen. Mit dieser Technik versucht man also daraus zu schliessen, dass wenn keine Antwort kommt, der Port vermutlich offen sei und wenn eine Antwort erfolgt der Port geschlossen ist.

    Erwartetes Resultat: Portscan wird vom IDS registriert Auswertung: Der Portscan wurde nicht erkannt, aber das Ergebnis des Scans ist aus

    Sicht des Testers genau so wenig erfreulich. Ich erhalte nach dem Scan keine Informationen über den Zielhost, was ein solcher Scan als nutzlos erklären würde.

    Aus Neugier starte ich einen Scan auf eine Knoppix Maschine, um festzu-stellen ob Windows und Linux auf einen derartigen Scan unterschiedlich reagieren.

    bt ~ #nmap -sS 172.26.7.148

    bt ~ #nmap -sF 172.26.7.148

  • 06.05.2008 Seite 41 von 51 Bechtle-Liestal

    Auf dem Linux System werden sämtliche Ports gelistet. Anscheinend be-steht da doch ein Unterschied. Bei einem Windows System werden alle Ports mit einem RST Paket quittiert, während bei einem Linux System der gewünschte Effekt ausgelöst wird und bei offenen Ports das Paket verwor-fen wird. Weiterhin komme ich zum Entschluss, dass ein solcher Scan auch bei einem Windows System nicht ganz nutzlos ist, da ein OS Fingerprint mit Sicherheit funktionieren dürfte.

    Massnahme: Da das Resultat nicht meinen Erwartungen entspricht, schaue ich mich nach einer Möglichkeit um, Snort auf diese Art von Scans zu sensibilisieren.

    9.2. E-Mail Alerting Test Test 4: Mail Alerting Test Benötigte Hilfsmittel: Quelle:

    idswakeup Operator Security CD: http://www.ussysadmin.com/operator/operagree.html

    Beschreibung und Durchführung:

    Es soll getestet werden, ob eine Benachrichtigung per Mail stattfindet, wenn verdächtige Aktivitäten im Netzwerk stattfinden. Dabei wird Snort provoziert, indem man gezielt manipulative Pakete ver-schickt. Dazu nutze ich die auf Linux basierende Applikation idswakeup . 172.26.7.148 ist dabei die Quelladresse und 172.26.7.143 die Zieladresse. Der Parameter 1 steht dafür, dass der Generator jedes Paket 1x verschi-cken soll. Der Parameter 10 steht für den TTL Wert. Ein E-Mail soll von dem Tool SAM (Snort Alert Monitor) und ein anderes von EventWatchNT verschickt und das Ergebnis danach verglichen werden. Beide Tools nutzen eine Filterfunktion. So wird bei EventwatchNT unter Filters der Wert [Priority: 1] gesetzt. Dadurch wird erreicht, dass erst ein E-Mail verschickt wird, wenn Snort einen Alarm mit Priorität 1 ausgibt. Bei SAM muss man einen Wert definieren, ab welcher Anzahl von Alarmen der Status alert.level high auftaucht. Sobald dieser Wert erreicht ist, wird ein E-Mail verschickt.

    Erwartetes Resultat: Beide Tools verschicken ein E-Mail

    root@Operator:~# idswakeup 172.26.7.148 172.26.7.143 1 10

  • 06.05.2008 Seite 42 von 51 Bechtle-Liestal

    Auswertung: Eine Alarmierung per Mail wurde Ausgelöst. Der Inhalt der E-Mail unter-scheidet sich wie folgt: SAM: Snort Alert EventwatchNT: Snort Alert Priority 1 Während SAM keine näheren Details über den Alarm liefert, kann man bei Eventwatch genauere Details erfahren.

    Massnahme: Keine

    9.3. Schreiben und Testen einer Regel Test 5: Schreiben einer Regel und Funktionstest Benötigte Hilfsmittel: Quelle:

    nemesis http://nemesis.sourceforge.net/

    Beschreibung und Durchführung:

    Nemesis ist ein Kommandozeilen basierender Paketgenerator, welcher eine Vielzahl von Protokollen und Funktionen unterstützt. Mit Hilfe von nemesis soll ein icmp Paket an einen anderen Client verschickt werden, welches den Inhalt „IDSTEST“ enthält. Weiterhin wird eine Regel geschrieben, welche einen Alarm ausgibt, wenn ein ICMP Paket mit dem Inhalt „IDSTEST“ im Netzwerk auftaucht. Die Syntax von Nemesis lautet dabei folgendermassen: Die Syntax der Regel sieht wie folgt aus:

    nemesis.exe icmp –D 172.26.7.148 –i 8 –S 172.26.7.143 –P IDSTEST.txt

    This is a message to warn you that we have reached a 'red' status. SAM Development edition.

    […] EVENT # : 571 EVENTLOG : Application EVENT TYPE : INFORMATION (4) SOURCE : snort EVENT ID : 1 TIME : 17.04.2008 16:17:59 MESSAGE : [125:8:1] (ftp_telnet) FTP bounce attempt[Priority: 1]: {TCP} 172.26.7.148:1768 -> 172.26.7.143:21 […]

    alert icmp $HOME_NET any -> $HOME_NET any (msg:"IDS Test Paket"; content:"IDSTEST"; classtype:icmp-event; priority:3; sid:1000002;)

  • 06.05.2008 Seite 43 von 51 Bechtle-Liestal

    Erwartung: Das Paket wird erkannt und vom IDS registriert Auswertung: Das Paket wird vom IDS erkannt und es wird ein Alarm ausgegeben

    Abb. 38 Auszug aus dem ACID Webinterface Massnahme: Keine

    Abb. 37 IDS Policy Manager GUI

  • 06.05.2008 Seite 44 von 51 Bechtle-Liestal

    9.4. ARP Cache Poisoning / MITM Attack Test 6: „Man in the Middle Attack“ / ARP Cache Poisoning Benötigte Hilfsmittel: Quelle:

    Ettercap Backtrack2: http://www.remote-exploit.org/backtrack_download.html

    Beschreibung: Der Client mit der IP Adresse 172.26.7.143 baut eine Verbindung zum FTP Server mit der IP Adresse 172.26.7.153 auf.

    Der Angreifer mit der IP Adresse 172.26.7.104 möchte sich dabei in die Ver-bindung zwischen Client und Server einklinken und das Passwort der FTP Sitzung von Client C erspähen. Dazu vergiftet der Angreifer den ARP Cache des Clients und den des Servers, so dass er die Kommunikation zwischen Client und Server belauschen kann.

    Es soll herausgefunden werden, ob Snort auf diesen Angriff reagiert und eine Schlussfolgerung aus den gelieferten Erkenntnissen gezogen werden.

    Theorie: ARP steht für „Adress Resolution Protokoll“. Es dient in lokalen Netzwerken der Zuordnung von MAC Adressen zu IP Adressen. Die Kenntnis einer IP Adresse allein genügt nicht, um mit einem Server Kontakt aufzunehmen, da alle TCP/IP Pakete in Ethernetframes transportiert werden. Deshalb muss ein Client zuerst die Zielethernet Adresse (MAC) erfragen, indem er per Broadcast die Frage stellt: “Welche MAC Adresse hat der Rechner mit der IP S?“ Der Rechner mit der IP Adresse S antwortet nun: “IP S ist unter MAC S zu erreichen.“ Um nicht jedes Mal nachfragen zu müssen, legt der Rechner in seinem lokalen ARP Cache die Zuordnung IP-MAC ab.

  • 06.05.2008 Seite 45 von 51 Bechtle-Liestal

    Erwartung: Snort erkennt, dass eine faule Aktivität stattfindet. Detaillierte Vorgehensweise:

    Vor dem Angriff wird der ARP Cache des Servers und des Clients geprüft. Beim Client sieht dieser folgendermassen aus:

    Beim Server so:

    Nun startet der Angreifer Ettercap und aktiviert den Sniffvorgang:

    Danach weist der Angreifer Ettercap dazu an, sämtlich Hosts im Netzwerk auf-zulisten. Dies macht er über das Menu Hosts Scan for hosts

    Die gefunden Hosts können nun gelistet werden, von welcher er sich den Client und den Server als Zielobjekt markiert.

    bt ~ #ettercap -G

  • 06.05.2008 Seite 46 von 51 Bechtle-Liestal

    Über den Menüpunkt Mitm Arp poisoning wird der ARP Cache der vorhin definierten Ziele vergiftet. Damit wir den Vergleich sehen, was genau passiert ist, lasse ich mir den ARP Cache des Clients erneut anzeigen:

    Wie wir feststellen, hat der Angreifer nun im ARP Cache des Clients hinterlegt, dass der Server mit der IP Adresse 172.26.7.153 dieselbe MAC Adresse wie er hat. Nun werfen wir noch einen Blick in den ARP Cache des Servers:

    Nun befindet sich der Angreifer zwischen der Kommunikation von Server und Client und wartet das Passwort der FTP Sitzung ab.

    Auswertung: Snort erkennt den Angriff nicht! Massnahme: Gedanken machen, ob Möglichkeit besteht Snort auf ARP Spoofing zu sensibili-

    sieren.

  • 06.05.2008 Seite 47 von 51 Bechtle-Liestal

    10. Ausgeführte Massnahmen zu den Tests 3 und 6

    10.1. Stealth Portscanning Um getarnte Portscanns zu erkennen existieren Regeln, welche nach typischen Verhaltensmustern dieser suchen. Ich starte den IDS Policy Manager und werfe einen Blick in die Hauptregel Scan. Ich aktivierte die Regel SCAN FIN und starte danach erneut einen derartigen Scan auf einen Client.

    Abb. 39 Stealth Portscan Es geht nicht lange und ich erhalte auf dem Webinterface hunderte von Meldungen, dass SCAN FIN Pakete entdeckt wurden. Da der Preprocessor stream4 ebenfalls verschleierte SCANS entdecken kann, werde ich nun einen zweiten Test machen und diesen einbinden. Damit der Preprocessor stream4 aktiviert werden kann, muss der Preprocessor stream5 jedoch deak-tiviert werden.

    Abb. 40 Erkennung durch Stream 4 Preprocessor Da man durch den Einsatz des stream4 Preprocessors oder einer Stealth Scan Regel sehr leicht mit Meldungen überflutet werden kann, lohnt es sich zu überlegen, ob sich ein derartiger Einsatz lohnt.

    Folgende Zeilen werden ergänzt: preprocessor stream4: detect_scans #preprocessor stream4_reassemble preprocessor stream4_reassemble: both, ports all Folgende Zeilen werden auskommentiert: #preprocessor stream5_global: max_tcp 8192, track_tcp yes, \ # track_udp no #preprocessor stream5_tcp: policy first, use_static_footprint_sizes # preprocessor stream5_udp: ignore_any_rules

  • 06.05.2008 Seite 48 von 51 Bechtle-Liestal

    10.2. ARP Cache Poisoning Um ARP Poisoning Angriffe zu erkennen, kann man in der Konfigurationsdatei von Snort den arpspoof Preprocessor aktivieren. Ist dieser aktiviert, so kann eine Liste mit IP Adresse und MAC Adresse er-stellt werden. Findet Snort eine Abweichung, so wird ein Alarm ausgegeben. Nachdem ich 2 Clients inkl. deren MAC Adresse eingetragen habe, startete ich Ettercap und vergiftete den ARP Cache dieser Clients. Snort schlug sofort mit folgender Meldung sofort Alarm:

    Abb. 41 Erkennung durch ARP Spoof Preprocessor Diese Massnahme ist einem Netzwerk, wo die IP Adressen per DHCP vergeben werden kaum um-setzbar, da der administrative Aufwand viel zu gross wäre.

    Folgende Zeilen werden ergänzt: preprocessor arpspoof preprocessor arpspoof_detect_host: 172.26.7.148 00:0B:CD:05:CB:6E preprocessor arpspoof_detect_host: 172.26.7.143 00:08:02:59:3C:33

  • 06.05.2008 Seite 49 von 51 Bechtle-Liestal

    11. Stellungsnahme zu den Bedürfnissen der Firma Ein Intrusion Detection System sammelt, analysiert und präsentiert Daten. Ereignisse, die Einbrüche kennzeichnen, sollen abgefangen und protokolliert werden. Im Beispiel von Snort geschieht dies, in-dem die Daten mit einer Reihe von Regeln und den darin enthaltenen Mustern verglichen werden. Die Sicherheit kann im Allgemeinen dadurch erhöht werden, dass man eine Echtzeit-Ansicht der pro-tokollierten Aktivitäten erhält, Angriffe frühzeitig erkennen kann und die protokollierten Daten als Be-weissicherung dienen können. Den Vorteil einer freien Sicherheitssoftware dürfte in erster Linie darin bestehen, dass im Vergleich zu einer kommerziellen Sicherheitssoftware keine Kosten für Kauf und Lizenzgebühren anfallen werden. Kommerzielle Software bietet dafür jedoch meist Support, an den man sich bei Problemen wenden kann, was bei Opensource in der Regel nicht der Fall ist. Dafür zie-hen Opensource Programme meist starke Entwicklerteams und Internet Foren mit sich, an die man sich bei Problemen wenden kann. Ungewiss ist jedoch ob man eine Antwort erhält, da die Hilfestel-lungen auf freiwillig investierter Zeit beruhen. Die Vorteile von Snort sehe ich darin, dass es in der Grundinstallation sehr wenig Speicherplatz erfordert, auf vielen Plattformen eingesetzt werden kann und kostenlos ist. Weiterhin kann es durch Konfiguration den eigenen Bedürfnissen angepasst wer-den. Mir gefällt dabei vor allem, dass man ohne Programmierkentnisse die Möglichkeit hat eigene Regeln zu schreiben. Als Nachteil würde ich sehen, dass man sehr viel Zeit in die Konfiguration inves-tieren muss und sämtliche Pfade manuell angepasst werden müssen. Die Konfiguration erfolgt nicht über eine grafische Oberfläche, wie man sich das bei Windows gewohnt ist, sondern wird mittels Text-editor durch editieren der Konfigurationsdatei von Snort gemacht. Hier gilt besondere Vorsicht, da schon kleinste Syntaxfehler Snort zum Absturz bringen können. Da Snort in der Grundinstallation sehr klein daher kommt, müssen auch sämtliche Erweiterungen, die dem Bedürfnis des Administrators entsprechen, manuell hinzugefügt und getestet werden. Geht man also davon aus, dass man Snort z.B. als Dienstleistung bei Kunden implementieren würde, so hat man aus Sicht des Kunden vielleicht an Anschaffungskosten und Lizenzgebühren gespart, aber nicht am Konfigurationsaufwand. Und nun komme ich zu einem ganz wichtigen Punkt. Ein Intrusion Detection System wie ich es im Rahmen dieser Arbeit aufgebaut habe ist noch zu wenig ausgereift und reicht nicht aus um Aussagen bezüglich Offerten machen zu können. Dafür geht diese Thematik aus dem jetzigen Stand meiner Erkenntnisse einfach noch zu weit in die Tiefe und ich erkenne ganz klar, dass noch einiges an Erfah-rung dazu gewonnen werden müsste. Um einen wirklichen nutzen aus einem IDS zu ziehen, muss sehr viel Zeit investiert werden. 12. Fazit und Danksagung Für mich war es eine riesige Herausforderung sich einer solchen Thematik zu stellen, da Intrusion Detection nicht Bestandteil meiner Ausbildung war. Durch diese Arbeit habe ich Snort so wie den Ein-satz von Zusatztools kennen gelernt und konnte dadurch neue Erkenntnisse im Bereich der Sicherheit gewinnen. Besonders interessant fand ich herauszufinden, wie Snort auf die von mir durchgeführten Tests reagierte. Diese Erfahrung hat mir gezeigt, dass ein grosser Teil der Herausforderung darin besteht, Snort auf das eigene Netzwerk abzustimmen. Die von mir definierten Projektziele habe ich erreicht und ich bin mit dem Ergebnis meines Projektes zufrieden. Weiterhin hat mich diese Arbeit dazu motiviert zukünftig noch weiteres über diese Thematik und die Sicherheit von Informationssys-temen zu erfahren.

  • 06.05.2008 Seite 50 von 51 Bechtle-Liestal

    Zuerst möchte ich der Fachhochschule Rapperswil und Thomas Ruesch danken, welcher mir auf An-frage zu Weiterbildungs – und Lernzwecken seine Facharbeit zum Thema „Intrusion Detection“ zur Verfügung stellte. Ich konnte daraus einige nützliche Inspirationen gewinnen. Ich bedanke mich zu-dem bei Muhamed Hadzic, welcher sich oft Neugierig dafür interessierte, welches Problem ich zu knacken versuchte und mich vor Beginn der IPA beim Backup Problem unterstütze, damit eine ordent-liche Sicherung des Servers garantiert werden konnte. Weiterhin möchte ich meinem Lehrmeister Charles Schäfer danken, welcher mich beim „Troubleshooting“ Teil von Snort unterstützte und stets darum bemüht war, dass die IPA gut kommt. Ein weiterer Dank geht an Alexander Triebold, welcher mir die Port Mirroring Konfiguration auf dem Switch einrichtete und an Bernhard Geiser, der sich dazu bereit erklärte meine Arbeit Korrektur zu lesen. Alles in allem danke ich Gott, der die Quelle aller Weisheit ist.

    13. Literatur und Quellenangaben

    13.1. Bücher [1] Orebaugh Angela, Biles Simon & Babbin Jacob: Snort Cookbook O’Reilly , 2005 ISBN: 0-596-00791-4 [2] Northcutt Stephen, Novak Judy: Intrusion Detection Systeme mitp, 2001 ISBN: 3-8266-0727-9

    13.2. Internet Anleitung zur Installation von Snort unter Windows: http://www.winsnort.com/index.php http://194.97.66.71/index.php?option=com_content&task=view&id=28&Itemid=14 http://www.snort.org Anleitung zum Schreiben von Regeln: http://packetstormsecurity.nl/papers/IDS/snort_rules.htm http://www.informit.com/articles/article.aspx?p=101171&seqNum=2 Allgemeine Informationen zum Thema Intrusion Detection und Snort: http://www.spenneberg.com/linux-magazin/052-059_snort.pdf http://www.ifi.unizh.ch/ikm/Vorlesungen/Sem_Sich01/Blatter.pdf http://www.domhan.de/ids.pdf http://web.fhnw.ch/projekte/computervision/studierendenprojekte/2005/SNORT.pdf http://www.computec.ch/download.php?view.403 http://www.computec.ch/download.php?view.414 http://entropia.de/wiki/images/5/56/Main_GPN2-Vortraege_Vortrag_IDS_klein.pdf Informationen zum Thema ARP Poisoning und nmap: http://de.wikipedia.org/wiki/ARP-Spoofing http://www.3mfuture.com/articles_arp/arp_spoofing_heise_security.2005.pdf http://www.linux-mag.de/heft_abo/ausgaben/2004/06/interner_zugriff http://www.nwlab.net/tutorials/portscanner/nmap-tutorial.html

  • 06.05.2008 Seite 51 von 51 Bechtle-Liestal

    13.3. Softwareverzeichnis

    Apache-Webserver EventwatchNT Quelle: http://www.apache.org/ Quelle: http://www.netikus.net/software/eventwatchnt/ http://www.winsnort.com/ http://www.winsnort.com

    Winpcap SAM Quelle: http://www.winpcap.org/ Quelle: http://www.darkaslight.com/projects/sam http://www.winsnort.com

    Snort Hamster Quelle: http://www.snort.org Quelle: ftp://hamster.ftp.fuberlin.de/Hamster.23.4.zip http://www.winsnort.com

    MYSQL Nemesis Quelle: http://dev.mysql.com/downloads/ Quelle: http://nemesis.sourceforge.net http://www.winsnort.com Oinkmaster IDS Policy Manager Quelle: http://oinkmaster.sourceforge.net/ Quelle: http://www.activeworx.org/ http://www.winsnort.com Adodb / Acid Base Backtrack 2 und Tools Quelle: http://adodb.sourceforge.net/ Quelle: http://www.remote-exploit.org/backtrack.html http://base.secureideas.net/ http://www.winsnort.com Php Modul Operator CD und Tools Quelle: http://php.net/ Quelle: http://www.ussysadmin.com/operator/ http://www.winsnort.com Active Perl Quelle: http://www.activestate.com/Products/activeperl/ http://www.winsnort.com