Login
Newsletter
Werbung

Fr, 14. Dezember 2001, 00:00

Intrusion Detection am Beispiel von Snort (Teil 3)

6.2.2 Output-Modules

Damit die erkannten Angriffe auch nach persönlichen Vorstellungen und Vorlieben mitgeteilt werden, stellt Snort sogenannte output modules bereit. So können quasi eigene actions definiert werden.

ruletype myAction
{
 type alert
 output alert_smb: workstation.list
 output log_tcpdump: myAction.log
}

ruletype <MyAction>
bindet den Namen MyAction an die neudefinierte action.
type <Action>
kategorisiert die neue action grob nach den uns schon bekannten actions (siehe 6.1.1).
output <Module>: <Options>
Für jede eigene action lassen sich beliebig viele output modules angeben. Sie beschreiben, wie die jeweiligen Daten für die action wo abgelegt werden sollen21. Einen kleinen Überblick der verschiedenen Module und ihrer Optionen verschafft die folgende Tabelle.

Tabelle 2: Die Output-Module von Snort

Module Optionen Beschreibung
alert_fast Filename Schreibt einen kurzen 'Einzeiler' in Filename.
alert_full Filename Schreibt den vollständigen Paketheader in Filename. Da das Modul einige Umformatierungen der Daten vornimmt, ist es eher langsam.
alert_smb Filename Schickt eine kurze Nachricht an alle in Filename (pro Zeile ein NetBIOS-Name) angegebenen Rechner. Es ist zu beachten, dass dieses Modul den smbclient benutzt, um die Nachricht zu versenden.
alert_unixsock - Kreiert einen Unix domain socket, den andere Programme abhören können, um die Ausgaben von Snort in Echtzeit zu analysieren.
alert_syslog FacilityPriorityOptions Dieses Modul erlaubt das Logging über syslog. Die Facility gibt an, welche Art des Programms in das Systemlog schreibt, die Priority, wie kritisch die Meldung für den Betrieb des Systems ist. Genauere Erläuterungen finden sich in der manpage zu syslog.
log_tcpdump Filename Schreibt Snorts Meldungen in die Datei Filename im tcpdump-Format, dies ist vor allem für die nachträgliche Analyse der Daten sehr hilfreich.
xml log | alert, Parameter List Ermöglicht Snort, seine Daten in der Simple Network Markup Language (XML-formatiert) zu schreiben. Die Optionen der Parameter-Liste werden in Tabelle 3 erklärt. log oder alert assoziieren das output module mit der jeweiligen Action.
database log | alert, Database, Parameter List Erlaubt Snort Einträge in die Datenbank Database, so dass diese dann der Datenpräsentation dienlich ist (siehe 3.3). Die Unterstützung für das jeweilige Datenbankformat muss in Snort mit einkompiliert werden (siehe Abschnitt 5). Eine detaillierte Erklärung der Parameter-Liste findet sich in Tabelle 4. log oder alert s.o.

Die Parameter-Listen des Database- und XML-Moduls bestehen aus Space-separierten ( ) keyword=value-Paaren, mit denen die beiden Module konfiguriert werden. Die folgenden Tabellen geben Aufschluss über die bestehenden Möglichkeiten.

Tabelle 3: XML Parameter-Liste

Keyword Value Beschreibung
file Filename Wenn dies der einzige Parameter ist, so wird in dieses File geschrieben, andernfalls wenn im protocol http[s] angegeben ist, dient das File als Skript, welches auf dem entfernten Rechner ausgeführt wird.
protocol Legt das Protokoll für die Übertragung der Daten fest.
http Sendet einen POST-Request an den Server. Der file-Parameter ist Voraussetzung.
https Sendet den POST-Request via SSL. Der OpenSSL-Support muss allerdings mit einkompiliert worden sein. Voraussetzung sind hier die Parameter: file, cert, key.
tcp Es wird eine einfache TCP-Verbindung hergestellt, port wird benötigt.
iap Leider ist die Implementierung des Intrusion Alert Protocols noch nicht abgeschlossen, doch ist eine Unterstützung von Seiten Snort bereits vorgesehen.
host IP-Address Bestimmt die IP oder den Hostnamen des zu kontaktierenden Servers.
port 1-65535 Definiert die Portnummer für die Verbindung.
cert Filename Gibt die Datei, in der das Zertifikat des zu kontaktierenden Servers steht, an (PEM-formatiert).
key Filename Gibt die Datei, in der der Private Key des Client-Rechners steht, an (PEM-formatiert).
ca Filename Gibt die Datei, in der das Certification Authority Zertifikat zur Authentifizierung des Servers steht, an (PEM formatiert).
server Filename Gibt die Datei, in der eine Liste der von Snort anerkannten Server steht. Dies dient der Authentifizierung der Server.
sanitize Network / Netmask Verschleiert die IP-Adressen, um die Privatsphäre zu bewahren.
encoding Definiert die zu speichernde Datenrepräsentation.
hex Schreibt die Daten als Hex-Strings, gut durchsuchbar, schlecht lesbar, doppelte Dateigröße.
base64 Schreibt die Daten als base64-String, ohne Nachbearbeitung nicht durchsuch- oder lesbar, aber lediglich 1,3-fache Dateigröße.
ascii Leider gehen bei dieser Repräsentation einige Informationen verloren, da der ASCII-Zeichensatz nicht alle Daten darstellen kann, dennoch ist bei guter Les- und Durchsuchbarkeit eine geringfügig größere Dateigröße zu base64 zu erwarten.
detail Gibt die Menge der zu loggenden Informationen an.
full Schreibt alle Headerinformationen (TCP, IP) und das Datensegment in den angegebenen Pfad.
fast Es werden lediglich die wichtigsten Informationen, wie z.B Protokoll, IP-Adressen und Ports, Flags, Signatur und Zeitstempel protokolliert.

Tabelle 4: Database Parameter-Liste

host String Der Host, auf dem der Datenbankserver läuft.
port Number Der Port, unter dem der Datenbankserver auf dem Host erreichbar ist.
dbname String Name der Datenbank, in die geschrieben werden soll.
user String Name des Datenbankbenutzers, mit dem Snort seine Daten in die Datenbank eintragen soll.
password String Passwort des oben erwähnten Datenbankbenutzers.
sensor_name String Ein Name für dieses output module. Falls dieser Parameter ausgelassen wird, generiert Snort selbst einen.
encoding siehe Tabelle 3 XML Parameter Liste
detail siehe Tabelle 3 XML Parameter Liste

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung