Sie benötigen einen Q-Feeds API-Schlüssel und Feed-URLs. Siehe Ihre Threat Feeds abrufen. Exabeam akzeptiert nur CSV, hängen Sie daher immer &type=csv an die Q-Feeds-URL an. Polling nicht häufiger als alle 20 Minuten.
Verfügbare Indikatorlisten (CSV)
- Malware IPs:
feed_type=malware_ip&type=csv - Malware domains:
feed_type=malware_domains&type=csv - Phishing URLs:
feed_type=phishing_urls&type=csv
URL-Parameter: feed_type, optional limit, api_token und type=csv. Beispiel:
https://api.qfeeds.com/api?feed_type=malware_ip&api_token=YOUR_TOKEN&limit=130000&type=csv
Testen mit:
curl -v -u api_token:YOUR_TOKEN "https://api.qfeeds.com/api?feed_type=malware_ip&limit=1000&type=csv"
Context Table erstellen
- Gehen Sie zu Context Management und wählen Sie New table.
- Wählen Sie Add Custom, vergeben Sie einen Namen und setzen Sie den Tabellentyp auf Other.
- Wählen Sie Add attributes → Add Custom Attribute (zum Beispiel
bad_ips,bad_domainsoderbad_urls). - Weisen Sie dieses Attribut als key attribute zu.
Exabeam API-Schlüssel erstellen
- Öffnen Sie die Admin-Einstellungen → API keys und erstellen Sie einen neuen Schlüssel.
- Erteilen Sie die Berechtigung manage context.
- Nutzen Sie das Drei-Punkte-Menü am neuen Schlüssel → Generate and copy token. Speichern Sie das Token sicher.
Metadaten der Context Table abrufen
- Öffnen Sie die Exabeam Developers Reference zum Auflisten von Tabellen (
GET /context-management/v1/tables). - Fügen Sie Ihr Exabeam Access Token ein, wählen Sie die korrekte regionale Base URL und testen Sie die Anfrage.
- Finden Sie Ihre Custom Table in der Antwort und kopieren Sie die table ID sowie die attribute ID des Key Attributes. Beides benötigen Sie im nächsten Schritt.
Datensätze aus CSV hinzufügen
- Nutzen Sie die Exabeam API
POST …/tables/{id}/addRecordsFromCsv. - Setzen Sie die Path-/Table-ID auf Ihre Context-Table-ID.
- Setzen Sie
sourceAttributesaufIP,domainoderurl, je nach Feed. - Setzen Sie
targetAttributeIdsauf die Attribute ID aus den Metadaten. - Setzen Sie
operationaufreplace. - Laden Sie den CSV-Body von Q-Feeds hoch (pipe oder Download mit
type=csv).
Der API Explorer von Exabeam kann Client-Snippets in mehreren Sprachen erzeugen. Planen Sie denselben Aufruf alle 20 Minuten, um die Tabelle aktuell zu halten.
Beispiel: Shell
curl --request POST \
--url "https://api.eu.exabeam.cloud/context-management/v1/tables/<your-table-id>/addRecordsFromCsv" \
--header 'accept: application/json' \
--header 'authorization: Bearer <your-exabeam-token>' \
--header 'content-type: multipart/form-data' \
--form 'sourceAttributes=IP' \
--form 'targetAttributeIds=<your-attribute-id>' \
--form operation=replace \
--form file=@<(curl "https://api.qfeeds.com/api.php?feed_type=malware_ip&api_token=<yourtoken>&type=csv")
Passen Sie die regionale Exabeam Base URL und die Platzhalter an Ihren Tenant an.
Beispiel: Python
import io
import requests
qfeed_url = "https://api.qfeeds.com/api.php?feed_type=malware_ip&api_token=<yourtoken>&type=csv"
qfeed_csv = requests.get(qfeed_url).content
url = "https://api.eu.exabeam.cloud/context-management/v1/tables/<your-table-id>/addRecordsFromCsv"
payload = {
"sourceAttributes": "IP", # or domain / url
"targetAttributeIds": "<your-attribute-id>",
"operation": "replace",
}
files = {"file": ("feed.csv", io.BytesIO(qfeed_csv), "text/csv")}
headers = {
"accept": "application/json",
"authorization": "Bearer <your-exabeam-token>",
}
print(requests.post(url, data=payload, files=files, headers=headers).text)