Como Exportar Logs do Splunk para Análise de Segurança

Como Exportar Logs do Splunk para Análise de Segurança

SOC Prime Team
SOC Prime Team linkedin icon Seguir

A resposta curta: execute a pesquisa, clique em Exportar na barra de ferramentas do trabalho sob a barra de pesquisa e escolha Eventos Brutos, CSV or JSON. Para alguns milhares de eventos, é tudo o que você precisa. Para puxadas maiores, pule o navegador e use o CLI de pesquisa do Splunk ou o ponto de extremidade de exportação REST. Ambos transmitem resultados em vez de fazer o Splunk Web criar um arquivo enorme para você.

Por que exportar do Splunk se os dados já estão indexados? Normalmente porque alguém fora do seu Splunk precisa vê-los: um parceiro de IR, um colega de outra equipe, ou você, em um laptop, sem escrever SPL por uma hora. Prime Core tem 23.674 regras de detecção para Splunk mapeadas para 676 técnicas MITRE ATT&CK. Isso é muita lógica de detecção que você pode executar contra uma pequena fatia dos seus dados uma vez que eles estão fora. Abaixo está como obter essa fatia, sanitizar e investigá-la gratuitamente no LogTotal.

Comece Gratuitamente

TL;DR

RotaUse quandoO que você precisa
Splunk Web → ExportarExportação única, pequena, você já tem a pesquisa abertaAcesso de pesquisa ao índice
CLI de pesquisa do splunkVocê tem um shell em um cabeçalho de pesquisa do Splunk EnterpriseAcesso ao sistema operacional + credenciais do Splunk
Exportação de pesquisa REST/jobsGrandes exportações, scripts ou Splunk CloudAcesso à porta de gerenciamento (8089) + um token

Antes de começar

Três coisas decidem qual rota funciona para você: onde o seu Splunk está executando, o que seu papel pode pesquisar e se você tem permissão para retirar os dados.

  • Acesso ao índice. Você só pode exportar o que seu papel pode pesquisar. Se uma pesquisa não retorna nada, mas você sabe que os dados estão lá, verifique os índices permitidos para seu papel antes de reescrever o SPL. Coloque index= na pesquisa explicitamente; não confie nos índices padrão.
  • Splunk Cloud vs. Enterprise. Na Splunk Cloud Platform não há shell, então a rota CLI não está disponível. A API REST também não está ativada por padrão: alguém precisa solicitar acesso para o seu stack, e testes gratuitos não podem usá-la. A exportação pelo Splunk Web funciona em todos os lugares.
  • Permissão para exportar. Logs brutos carregam nomes de usuários, nomes de host, IPs internos, às vezes tokens em URLs. LogTotal sanitiza uploads antes da análise, mas a política de manuseio de dados da sua empresa ainda se aplica. Obtenha a permissão primeiro. Leva cinco minutos, e você vai querer isso por escrito se isso se transformar em um incidente.

Os comandos abaixo seguem a documentação atual da Splunk para Splunk Enterprise e Splunk Cloud Platform, verificada em outubro de 2026. Links para cada página que usamos estão no final.

Passo 1: Delimite a pesquisa antes de exportar qualquer coisa

O erro mais comum é exportar um índice inteiro “apenas por precaução”. Você acaba com um arquivo que ninguém quer abrir. Decida qual pergunta você está respondendo, depois fixe índice, tipo de origem, host e tempo:

index=linux sourcetype=linux_secure host=web-03 earliest=-24h@h latest=@h

Para eventos de segurança do Windows coletados pelo Splunk Add-on para Windows em modo XML:

index=wineventlog source="XmlWinEventLog:Security" host=dc-01 earliest=-24h@h latest=@h

Duas regras mantêm a exportação útil.

Mantenha _raw. Se a pesquisa termina com stats, table ou chart, você está exportando um resumo, não logs, e o Splunk Web irá desativar o formato de Eventos Brutos. Exporte eventos, não resultados. Se optar por JSON, corte os campos extraídos para o arquivo não triplicar de tamanho:

... | fields _time host source sourcetype _raw

Use tempo absoluto quando for importante. earliest=-24h significa algo diferente a cada minuto. Se o Splunk tiver que refazer sua pesquisa durante a exportação (mais sobre isso abaixo), uma janela relativa pode retornar um conjunto ligeiramente diferente de eventos. Para algo relacionado a incidentes, use timestamps exatos.

Uma coisa a saber sobre dados do Windows: o Splunk não mantém os arquivos .evtx originais. Ele indexa o texto do evento renderizado, XML ou chave=valor clássico. Então o que você exporta é esse texto, não um EVTX binário.

Passo 2a: Exportar do Splunk Web

Ideal para exportações pequenas e únicas quando a pesquisa já está na sua tela.

  1. Execute a pesquisa e deixe o trabalho terminar. Exportar um trabalho em execução só lhe dá uma imagem parcial.
  2. Clique em Exportar (a seta de download) na linha de ações de trabalho sob a barra de pesquisa.
  3. Escolha o formato. Eventos Brutos lhe dão as linhas de log originais exatamente como foram indexadas, que é o que você deseja para fontes no estilo syslog como linux_secure. JSON mantenha host, fonte e tipo de origem ao lado de cada evento. Isso ajuda quando a exportação abrange vários hosts.
  4. Nomeie o arquivo de forma que você o reconheça na próxima semana, por exemplo web-03_sshd_2026-10-19.log.
  5. Deixe Número de Resultados em branco para exportar tudo o que a pesquisa retornou. Se você digitar 500, receberá os primeiros 500 e nada lhe dirá que havia mais.
  6. Clique em Exportar.

Um detalhe que confunde as pessoas: a exportação funciona a partir do artefato do trabalho de pesquisa, não do que você vê no navegador. Se o Splunk não manteve todos os resultados com o trabalho, o diálogo avisa que ele irá refazer a pesquisa primeiro. Isso é normal. Apenas leva mais tempo, razão pela qual o intervalo de tempo absoluto do Passo 1 é importante. Exportações muito longas também podem atingir o tempo limite da sessão do Splunk Web. Se a exportação durar minutos, mude para o CLI ou REST.

Passo 2b: Exportar com o CLI do Splunk (Apenas Enterprise)

Se você tem um shell no cabeçalho de pesquisa, esta é a rota mais rápida e fácil de automatizar. Faça login primeiro, para que sua senha não acabe no histórico do shell da forma que aconteceria com -auth:

$SPLUNK_HOME/bin/splunk login

$SPLUNK_HOME/bin/splunk search
 'index=linux sourcetype=linux_secure host=web-03 earliest="10/19/2026:00:00:00" latest="10/20/2026:00:00:00"'
 -preview 0 -maxout 0 -output rawdata > web-03_sshd.log

O que cada flag faz:

  • -maxout 0 remove o limite. Por padrão, o CLI exporta 100 eventos e para sem uma palavra. Se o seu arquivo tem exatamente 100 linhas, é por isso, não um host silencioso.
  • -preview 0 mantém os resultados de visualização fora do arquivo.
  • -output rawdata grava as linhas originais. Use -output json se quiser eventos estruturados com metadados.

Você também pode executar o CLI contra um cabeçalho de pesquisa remoto com -uri https://<search-head>:8089, desde que a porta de gerenciamento seja acessível de onde você está.

Dois verificações rápidas de sanidade antes do upload:

wc -l web-03_sshd.log
head -3 web-03_sshd.log

Para fontes de linha única como linux_secure, a contagem de linhas deve corresponder aproximadamente à contagem de eventos que o Splunk Web mostra para a mesma pesquisa. As primeiras linhas devem parecer linhas de log, não mensagens de erro.

Passo 2c: Transmitir resultados através da API REST

Esta é a rota para grandes exportações, puxadas agendadas e Splunk Cloud (uma vez que o acesso REST está habilitado para o seu stack). O ponto final de exportação transmite resultados enquanto a pesquisa é executada, então não há trabalho para pesquisar e sem páginas de resultados para percorrer.

Use um token de autenticação em vez de um nome de usuário e senha. Você cria um em Configurações → Tokens, se o seu administrador tiver ativado a autenticação por token.

export SPLUNK_TOKEN='<seu token>'

curl -sS
 -H "Authorization: Bearer $SPLUNK_TOKEN"
 https://sh01.example.com:8089/services/search/v2/jobs/export
 --data-urlencode search='search index=linux sourcetype=linux_secure host=web-03'
 -d earliest_time='2026-10-19T00:00:00.000+00:00'
 -d latest_time='2026-10-20T00:00:00.000+00:00'
 -d output_mode=raw
 -o web-03_sshd.log

Coisas que confundem as pessoas:

  • A string de pesquisa deve começar com search (ou um comando gerador, como | tstats). Cole sua consulta sem isso e o Splunk a rejeita.
  • output_mode=raw lhe dá as linhas originais, e é o modo mais rápido. output_mode=json transmite um objeto JSON por linha, com o evento sob uma chave de resultado. Se você só quer os eventos em si, elimine o envelope com jq: jq -c ‘select(.result) | .result’ export.json > events.ndjson. Para um upload no LogTotal, fique com raw.
  • Instâncias de laboratório frequentemente usam certificados autoassinados, e cada resposta no Stack Overflow irá sugerir adicionar -k. Em produção, aponte o curl para o seu CA com –cacert em vez disso.
  • Se você POST para search/v2/jobs e lê de /results, o servidor limita linhas por pedido, e você tem que paginar com offset. export não faz isso, razão pela qual deve ser usado aqui.

Passo 3: Upload, sanitizar e revisar no LogTotal

LogTotal é o serviço gratuito da SOC Prime para executar lógica de detecção contra um arquivo de log sem configurar nada. Ele sanitiza o que você envia e não mantém seus arquivos.

  1. Upload. Abra logtotal.com e solte no arquivo do Passo 2.
  2. Sanitizar. Revise antes de continuar. Você conhece seu ambiente melhor do que qualquer regra de mascaramento.
  3. Revisar. 

Quando a exportação dá errado

SintomaProvável causaFix
O arquivo CLI tem exatamente 100 eventosO padrão do -maxout é 100Adicionar -maxout 0
Eventos Brutos está desativado no diálogo de ExportaçãoA pesquisa termina em um comando de transformação (stats, table, chart)Exporte os eventos em vez disso, ou escolha JSON
A pesquisa não retorna nada, mas os dados estão láO índice não está nos índices permitidos ou padrões do seu papel, ou o intervalo de tempo está erradoAdicione index= explicitamente; peça ao seu administrador sobre o papel
Diálogo diz que a pesquisa será refeitaO artefato do trabalho não manteve todos os resultadosComportamento esperado; use um intervalo de tempo absoluto para que a repetição retorne os mesmos eventos
A exportação pelo navegador é interrompida ou o arquivo é cortadoTempo limite da sessão do Splunk Web em uma exportação longaMude para o CLI ou REST
401 Não Autorizado do curlToken expirado, desativado, ou autenticação por token está desativadaCrie um novo token em Configurações → Tokens
curl trava ou recebe conexão recusada no 8089Porta de gerenciamento bloqueada, ou REST não habilitado no Splunk CloudVerifique as regras do firewall; solicite acesso REST para seu stack na Cloud
REST retorna um erro de sintaxe de pesquisaA consulta não começa com searchPrefixe com search
O arquivo JSON é muito maior do que o esperadoCada campo extraído foi exportadoAdicione | fields _time host source sourcetype _raw

FAQ

Posso exportar logs do Splunk Cloud?

Sim. A exportação do Splunk Web funciona da mesma forma que no Enterprise. O ponto de extremidade de exportação REST funciona uma vez que o acesso da API está habilitado para o seu stack; testes gratuitos não o recebem. O CLI não é uma opção, porque não há shell no Splunk Cloud.

Posso recuperar os arquivos EVTX originais do Splunk?

Não. O Splunk armazena o texto do evento renderizado, não o binário .evtx. Você pode exportar esse texto como eventos brutos ou JSON. Para arquivos EVTX reais, exporte-os do próprio host Windows.

Eventos Brutos ou JSON: qual devo escolher para o LogTotal?

Brutos. Você obtém as mesmas linhas que estão no host, e o LogTotal lê arquivos no formato syslog como estão. JSON envolve cada evento na própria estrutura do Splunk. É útil quando você precisa de host e tipo de origem ao lado de cada evento, mas para um upload no LogTotal, brutos é a escolha mais segura.

É seguro fazer o upload de uma exportação do Splunk para uma ferramenta online?

LogTotal sanitiza uploads antes da análise e não retém arquivos.

Quantos eventos posso exportar?

Do lado do Splunk, quantos você quiser: deixe o Número de Resultados vazio no Splunk Web, ou defina -maxout 0 no CLI. Na prática, o limite é o tamanho do upload na outra extremidade. Portanto, vale a pena delimitar a pesquisa corretamente no Passo 1.

Junte-se à plataforma Detection as Code da SOC Prime para melhorar a visibilidade das ameaças mais relevantes para o seu negócio. Para ajudá-lo a começar e gerar valor imediato, agende uma reunião agora com os especialistas da SOC Prime.