Diese Anleitung folgt der CIRCL-Dokumentation Managing feeds. Feeds funktionieren mit jeder Q-Feeds-Lizenz, auch mit der kostenlosen Community Edition, siehe Lizenzmodell. Zugangsdaten: Ihre Threat Feeds abrufen.
Voraussetzungen
- MISP: eine laufende Instanz und ein Konto, das Sync Actions erreichen darf
- Token: ein API-Token von Community, Plus, Premium oder Enterprise
- Netzwerk: ausgehendes HTTPS nach
api.qfeeds.comauf Port 443
Module sind nicht beteiligt. Das Abholen und Parsen übernimmt das Feed-System von MISP selbst, auf dem Server ist also nichts zu installieren.
Prüfen Sie die Datei, bevor Sie etwas konfigurieren
Öffnen Sie Ihre Feed-URL zuerst im Browser. Sie sehen dort genau die Liste, die MISP parsen wird, und können abzählen, in welcher Spalte der Wert steht, den Sie wollen. Diese Spaltennummer ist die Einstellung, bei der es am häufigsten hakt.
https://api.qfeeds.com/api.php?feed_type=malware_ip&type=csv&api_token=YOUR_TOKEN
Ersetzen Sie malware_ip durch malware_domains oder malicious_urls, um die anderen Listen zu holen. Jede Liste ist in MISP ein eigener Feed, legen Sie sie also einzeln an. Die vollständige Parametertabelle steht unter IOC Lookup API & TAXII.
Den Feed anlegen
Gehen Sie im Seitenmenü auf Sync Actions, List Feeds und dann Add Feed. Das Formular zeigt und verbirgt Felder je nach Auswahl, setzen Sie Source Format also früh.
| Feld | Wert |
|---|---|
| Enabled | Angehakt |
| Caching enabled | Angehakt, damit Sie vor dem Import korrelieren können |
| Name / Provider | Etwas, das Sie später wiedererkennen, zum Beispiel Q-Feeds malicious IPs und Q-Feeds |
| Input Source | Network |
| URL | Ihre Feed-URL, einschließlich api_token |
| Source Format | Simple CSV Parsed Feed (für die reinen Textlisten Freetext Parsed Feed) |
| Value field(s) in the CSV | Die Nummer der Spalte mit dem Indicator, bei mehreren durch Komma getrennt |
| Delimiter | , |
| Exclusion Regex | Optional, nützlich, wenn die Datei mit einer Kommentarzeile beginnt |
| Target Event | Fixed Event, damit die Liste in einem Event landet und nicht in einem neuen pro Abruf |
| Delta Merge | Angehakt, damit Indicators wieder verschwinden, sobald sie den Feed verlassen |
| Auto Publish | Ihre Entscheidung, lassen Sie es aus, wenn Sie prüfen wollen, bevor das Event geteilt wird |
| Default Tag | Optional, ein Tag wie block-or-filter-list macht diese Events später leicht trennbar |
Speichern Sie, und holen Sie den Feed dann über Fetch neben dem neuen Eintrag zum ersten Mal ab. Vorher kommt nichts an.
Aktuell bleiben
Der erste Abruf ist manuell, alle weiteren sollten es nicht sein. Setzen Sie unter Administration, Scheduled Tasks den Task für den Feed-Abruf auf ein Intervall, das zu Ihnen passt. Q-Feeds aktualisiert alle 20 Minuten, alles ab stündlich hält Sie also nah am aktuellen Stand, ohne die API zu überlasten.
Importieren oder nur korrelieren
Das sind zwei verschiedene Dinge, und der Unterschied zählt, sobald Ihnen die Größe der Datenbank wichtig ist.
- Fetch importiert die Indicators als Attribute an Ihrem Ziel-Event. Sie verhalten sich wie jedes andere Attribut und korrelieren normal.
- Cache legt den Feed stattdessen in Redis ab. MISP zeigt Ihnen die Überschneidung mit Ihren eigenen Events, ohne etwas in Ihre Datenbank zu schreiben.
Caching ist die leichtere Variante und ein guter Weg, um zu sehen, wie oft Q-Feeds Ihre Daten trifft, bevor Sie sich für den Import entscheiden. Wenn Sie cachen, aktivieren Sie am Feed Lookup Visible, damit die Korrelationen auch für Ihr Team sichtbar sind und nicht nur für Sie.
So sieht ein importierter Indicator aus
Aus jeder Zeile wird ein MISP-Attribut des Typs, den Ihre Spaltenzuordnung vorgibt: ip-src oder ip-dst für die IP-Listen, domain für Malware-Domains, url für bösartige URLs. Die Korrelation verknüpft diese Werte danach mit Events, die Ihr Team schon angelegt hat.
Fehlerbehebung
- Nach dem Abruf ist nichts da: öffnen Sie die Feed-URL im Browser. Kommt statt einer Liste ein Fehler zurück, ist das Token falsch oder abgelaufen.
- Attribute mit falschem Typ: das Value-Feld zeigt auf die falsche Spalte. Zählen Sie in der Datei selbst nach, und denken Sie daran, dass die Zählung bei 1 beginnt.
- Das Event wächst bei jedem Abruf: Delta Merge ist aus, oder Target Event steht auf New Event Each Pull.
- Eine Kommentarzeile wird zum Attribut: ergänzen Sie eine Exclusion Regex für Zeilen, die mit
#beginnen. - Die Daten werden nicht mehr aktualisiert: der geplante Abruf-Task ist nicht aktiviert. Dass der erste Abruf manuell läuft, übersehen viele.
- Support: support@qfeeds.com oder die Support-Seite.