Vous avez besoin d'une clé API Q-Feeds et des URL de flux. Voir Obtenir vos threat feeds. Exabeam n'accepte que le CSV, ajoutez donc toujours &type=csv à l'URL Q-Feeds. Ne sondez pas plus souvent que toutes les 20 minutes.
Listes d'indicateurs disponibles (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
Paramètres d'URL : feed_type, limit optionnel, api_token et type=csv. Exemple :
https://api.qfeeds.com/api?feed_type=malware_ip&api_token=YOUR_TOKEN&limit=130000&type=csv
Tester avec :
curl -v -u api_token:YOUR_TOKEN "https://api.qfeeds.com/api?feed_type=malware_ip&limit=1000&type=csv"
Créer une context table
- Allez dans Context Management et sélectionnez New table.
- Choisissez Add Custom, définissez un nom et choisissez le type de table Other.
- Sélectionnez Add attributes → Add Custom Attribute (par exemple
bad_ips,bad_domainsoubad_urls). - Assignez cet attribut comme key attribute.
Créer une clé API Exabeam
- Ouvrez les paramètres d'administration → API keys et créez une nouvelle clé.
- Accordez l'autorisation manage context.
- Utilisez le menu à trois points sur la nouvelle clé → Generate and copy token. Stockez le jeton de façon sécurisée.
Récupérer les métadonnées de la context table
- Ouvrez la référence développeurs Exabeam pour lister les tables (
GET /context-management/v1/tables). - Collez votre jeton d'accès Exabeam, sélectionnez l'URL de base régionale correcte et essayez la requête.
- Trouvez votre table personnalisée dans la réponse et copiez le table ID et l'attribute ID de l'attribut clé. Les deux sont nécessaires à l'étape suivante.
Ajouter des enregistrements depuis un CSV
- Utilisez l'API Exabeam
POST …/tables/{id}/addRecordsFromCsv. - Définissez le path/table ID sur l'ID de votre context table.
- Définissez
sourceAttributessurIP,domainouurlselon le flux. - Définissez
targetAttributeIdssur l'attribute ID issu des métadonnées. - Définissez
operationsurreplace. - Téléversez le corps CSV de Q-Feeds (pipe ou téléchargement avec
type=csv).
L'explorateur d'API d'Exabeam peut générer des extraits clients dans plusieurs langages. Planifiez le même appel toutes les 20 minutes pour garder la table à jour.
Exemple : 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")
Ajustez l'URL de base régionale Exabeam et les espaces réservés pour votre tenant.
Exemple : 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)