Este guia segue a documentação Managing feeds da CIRCL. Os feeds funcionam em todas as licenças Q-Feeds, incluindo a edição Community gratuita; consulte o modelo de licenciamento. Credenciais: Obter os seus threat feeds.
Requisitos
- MISP: uma instância em execução e uma conta com acesso a Sync Actions
- Token: um token API Community, Plus, Premium ou Enterprise
- Rede: HTTPS de saída para
api.qfeeds.comna porta 443
Não há módulos envolvidos. O sistema de feeds do próprio MISP faz a recolha e o parsing, por isso não há nada para instalar no servidor.
Veja o ficheiro antes de configurar
Abra primeiro o URL do feed num browser. Vai ver a lista tal como o MISP a vai analisar e consegue contar em que coluna está o valor que quer. É esse número de coluna que as pessoas erram mais vezes.
https://api.qfeeds.com/api.php?feed_type=malware_ip&type=csv&api_token=YOUR_TOKEN
Troque malware_ip por malware_domains ou malicious_urls para obter as outras listas. Cada lista é um feed próprio no MISP, por isso adicione uma de cada vez. A tabela completa de parâmetros está em API IOC Lookup e TAXII.
Adicionar o feed
Vá a Sync Actions, List Feeds e depois Add Feed no menu lateral. O formulário mostra e esconde campos conforme o que escolher, por isso defina o Source Format cedo.
| Campo | Valor |
|---|---|
| Enabled | Marcado |
| Caching enabled | Marcado, para poder correlacionar antes de importar |
| Name / Provider | Algo que reconheça mais tarde, por exemplo Q-Feeds malicious IPs e Q-Feeds |
| Input Source | Network |
| URL | O URL do seu feed, incluindo o api_token |
| Source Format | Simple CSV Parsed Feed (use Freetext Parsed Feed para as listas em texto simples) |
| Value field(s) in the CSV | O número da coluna que tem o indicador, separados por vírgula se houver mais do que uma |
| Delimiter | , |
| Exclusion Regex | Opcional, útil se o ficheiro começar com uma linha de comentário |
| Target Event | Fixed Event, para a lista cair num único evento em vez de um novo em cada recolha |
| Delta Merge | Marcado, para os indicadores que saem do feed serem também removidos |
| Auto Publish | À sua escolha; deixe desligado se quiser rever antes de o evento ser partilhado |
| Default Tag | Opcional, uma tag como block-or-filter-list facilita separar estes eventos depois |
Submeta e depois use o Fetch ao lado do novo feed para o puxar pela primeira vez. Não chega nada antes de fazer isto uma vez à mão.
Manter atualizado
A primeira recolha é manual, as seguintes não deviam ser. Em Administration, Scheduled Tasks, defina a tarefa de recolha de feeds com a frequência que lhe convier. A Q-Feeds atualiza a cada 20 minutos, por isso de hora a hora já fica quase em dia sem sobrecarregar a API.
Importar, ou só correlacionar
São duas coisas diferentes e a distinção conta se o tamanho da base de dados lhe interessa.
- Fetch importa os indicadores como atributos no evento de destino. Comportam-se como qualquer outro atributo e correlacionam normalmente.
- Cache guarda o feed no Redis. O MISP mostra-lhe a sobreposição com os seus próprios eventos sem acrescentar nada à base de dados.
A cache é a opção mais leve e uma boa forma de ver com que frequência a Q-Feeds bate nos seus dados antes de se comprometer com a importação. Se usar cache, marque Lookup Visible no feed para as correlações aparecerem ao resto da equipa e não só a si.
Como fica um indicador ingerido
Cada linha passa a ser um atributo MISP do tipo que o seu mapeamento de colunas indica: ip-src ou ip-dst para as listas de IPs, domain para domínios de malware, url para URLs maliciosos. A correlação liga depois esses valores a eventos que a sua equipa já criou.
Resolução de problemas
- Nada depois de um fetch: abra o URL do feed num browser. Se devolver um erro em vez de uma lista, o token está errado ou expirou.
- Atributos do tipo errado: o campo de valor aponta para a coluna errada. Volte a contar a partir do próprio ficheiro e lembre-se de que a contagem começa em 1.
- O evento cresce em cada recolha: o Delta Merge está desligado, ou o Target Event está em New Event Each Pull.
- Uma linha de comentário vira atributo: acrescente uma Exclusion Regex para as linhas que começam por
#. - Os dados deixaram de atualizar: a tarefa agendada de recolha não está ativa. O facto de a primeira recolha ser manual engana muita gente.
- Apoio: support@qfeeds.com ou a página de apoio.