Precisa de uma chave API da Q-Feeds e dos URLs de feed. Consulte Obter os seus threat feeds. O Exabeam aceita apenas CSV, por isso adicione sempre &type=csv ao URL da Q-Feeds. Não consulte com mais frequência do que a cada 20 minutos.
Listas de indicadores disponíveis (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
Parâmetros de URL: feed_type, limit opcional, api_token e type=csv. Exemplo:
https://api.qfeeds.com/api?feed_type=malware_ip&api_token=YOUR_TOKEN&limit=130000&type=csv
Teste com:
curl -v -u api_token:YOUR_TOKEN "https://api.qfeeds.com/api?feed_type=malware_ip&limit=1000&type=csv"
Criar uma context table
- Vá a Context Management e selecione New table.
- Escolha Add Custom, defina um nome e escolha o tipo de tabela Other.
- Selecione Add attributes → Add Custom Attribute (por exemplo
bad_ips,bad_domainsoubad_urls). - Atribua esse atributo como key attribute.
Criar uma chave API do Exabeam
- Abra as definições de administração → API keys e crie uma nova chave.
- Conceda a permissão manage context.
- Use o menu de três pontos na nova chave → Generate and copy token. Guarde o token de forma segura.
Obter metadados da context table
- Abra a referência para programadores do Exabeam para listar tabelas (
GET /context-management/v1/tables). - Cole o seu token de acesso do Exabeam, selecione o URL base regional correto e experimente o pedido.
- Encontre a sua tabela personalizada na resposta e copie o table ID e o attribute ID do atributo chave. Precisa de ambos no passo seguinte.
Adicionar registos a partir de CSV
- Use a API do Exabeam
POST …/tables/{id}/addRecordsFromCsv. - Defina o path/table ID para o ID da sua context table.
- Defina
sourceAttributescomoIP,domainouurl, consoante o feed. - Defina
targetAttributeIdscomo o attribute ID dos metadados. - Defina
operationcomoreplace. - Carregue o corpo CSV da Q-Feeds (pipe ou transferência com
type=csv).
O explorador de API do Exabeam pode gerar snippets de cliente em várias linguagens. Agende a mesma chamada a cada 20 minutos para manter a tabela atualizada.
Exemplo: 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")
Ajuste o URL base regional do Exabeam e os marcadores de posição para o seu tenant.
Exemplo: 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)