OpenApp ID in pfSense Paket Snort konfigurieren

Snort OpenApp ID

In Zeiten von Cloud Diensten auf AWS, Azure oder in Content Delivery Networks ist es immer schwerer geworden einzelne Dienste mit klassischen IP Adressen oder Ports zu blockieren. Daher lohnt es sich nach dynamischen Methoden zur Erkennung von Traffic Ausschau zu halten.

Eine Möglichkeit dazu ist die Nutzung von Deep Packet Inspection. Dabei bietet sich unter pfSense die Nutzung von Snort an. Snort gleicht die Pakete bei der Verarbeitung mit vorhandenen Signaturen / Regeln ab und klassifiziert sie anhand der Informationen im Paket. So kann man mit Hilfe von Snort und OpenApp ID gezielt Anwendungen auf der Firewall blockieren. Wie man mit dem pfSense Paket Snort mit OpenApp ID Dienste blockieren kann erklärt dieser Blog Beitrag.

Die eigentliche Hauptaufgabe von Snort besteht jedoch darin verdächtigen oder sogar schädlichen Traffic zu erkennen und zu blockieren. Dazu folgt ein weiterer Blog Artikel in Kürze.

pfSense Paket Snort mit OpenApp ID

Das pfSense Paket Snort mit OpenApp ID ist ein optionales Paket, welches man zuerst im Package Manager der pfSense installieren muss. Anschließend erscheint das Paket im Menü „Services > Snort“.

pfSense Snort Paket installieren

Global Settings

Um gezielt Anwendungen erkennen zu können, aktiviert man zuerst auf der Global Settings Seite die beiden Checkboxen im Abschnitt „Sourcefire OpenAppID Detectors“. Die anderen Abschnitte sind für das Erkennen von verdächtigen oder schädlichen Paketen.

Zusätzlich sollte man ein Update Intervall für die Signatur-Daten und ein Zeitrahmen für blockierte Hosts einstellen, nachdem diese wieder freigegeben werden.

Updates

Nach der Konfiguration der OpenAppID Detectors in den General Settings aktualisieren wir die dafür nötigen Signaturen im „Updates“ Tab. Im Anschluss an die Aktualisierung sehen wir ein aktuelles Datum neben den Snort OpenAppID Regeln im Abschnitt „Installed Rule Set MD5 Signature“.

Snort Interface anlegen

Snort arbeitet Interfaces. Das bedeutet, Snort analysiert immer an einem bestimmten Interface den Traffic in beide Richtungen. Hier im Beispiel nutzen wir das „LAN“ Interface. Zusätzlich definieren wir noch einen Funktions-beschreibenden Namen unter Description.

Zunächst empfehlen wir die „Block Offenders“ Option deaktiviert zu lassen. Erstmal sollte man sich mit Snort etwas vertraut machen.

Wichtig: Hier muss man den Abschnitt erstmal speichern bevor man andere Tabs konfigurieren kann.

Snort Preprocs für OpenApp ID

Als Nächstes aktivieren wir die Application ID Detection Preprocs. Dazu unter „Snort Interfaces“ das angelegte Interface zur Bearbeitung öffnen und in den „LAN Preprocs“-Tab wechseln. Die beiden Checkboxen für Application ID Detection aktivieren.

OpenApp ID Kategorien aktivieren

Damit Snort Anwendungen blockieren kann, muss man erstmal alle Kategorien zur möglichen Verwendung aktivieren. Das erledigt man unter „Snort Interface“ im Tab „LAN Categories“.

Regelwerk festlegen

Nachdem alles vorbereitet wurde, kann man nun das gewünschte Regelwerk festlegen. Am besten deaktiviert man zuerst alle Signaturen wieder, welche vorher als Kategorie aktiviert wurden. Dazu im Tab „LAN Rules“ mit der „Category Selection“ alle „Active Rules“ mit „Disable all“ deaktivieren.

Jetzt kann man die zu blockierenden Anwendungen einzeln wieder aktivieren. Sie finden sich unterteilt in den verschiedenen Kategorien. In diesem Beispiel blockieren wir den Zugriff auf Dropbox. Dropbox lässt sich in der Kategorie „file_storage“ finden. Mit einem Klick auf das rote Kreuz lässt sich eine einzelne Regel aktivieren.
Nach dem Verändern von Regeln empfiehlt es sich den Snort Dienst neu zu starten und zu prüfen, ob das Snort Interface aktiv ist.

Alerts

Erkennt Snort ein Paket mit einer der Signaturen und ordnet es dieser Signatur zu, erstellt Snort einen sogenannten „Alert“. Versucht man nun einen erkannten Dienst zu nutzen, sieht man das im Alerts Tab.

Snort Alerts blockieren

Hat man sich mit Snort vertraut gemacht und das Thema Alerts verstanden, kann man die Funktion zum Blockieren der Alerts unter „Snort Interface“ im „LAN Settings“ Tab aktivieren. Dazu setzt man die Checkboxen bei „Block Offenders“ und „Kill States“.

Jetzt zeigt Snort die erkannten Anwendungen nicht mehr nur noch unter Alerts an, sondern auch die gesperrten IP-Adressen im „Blocked“ Tab.

Test einer blockierten Anwendung

In unserem Beispiel haben wir den Zugriff auf Dropbox blockiert. Ruft man die Seite nun im Browser auf, kann die Verbindung nicht zustande kommen.