auditd escreve em /var/log/audit/audit.log, legível apenas pelo root. A exportação mais rápida de uma janela de tempo no formato original é:
sudo ausearch --raw -ts ontem > web-03_audit.log
Se /var/log/audit não existe, auditd não está instalado. Isso é o padrão no Debian e Ubuntu. Os eventos de auditoria do kernel vão então para o jornal, onde journalctl _TRANSPORT=audit os encontra.
auditd é a resposta do Linux para “quem executou o quê e tocou em qual arquivo”: execução de processos, acesso a arquivos, mudanças de permissões e de contas, até a chamada de sistema. Prime Core possui 1350 regras de detecção para dados auditd, mapeadas para 440 técnicas MITRE ATT&CK. Entre elas: uso malicioso de shell (T1059.004), chaves SSH plantadas (T1098.004) e alterações de permissões em arquivos sensíveis (T1222.002).
Antes de começar
Está em execução e o que está registrando?
systemctl is-active auditd
sudo auditctl -l
Sistemas da família Red Hat instalam auditd por padrão; Debian e Ubuntu precisam do pacote auditd. Se auditctl -l imprimir Sem regras, você ainda terá uma linha de base de logins, autenticação e negações do SELinux. No entanto, não obterá registros de execução de comandos ou acesso a arquivos, pois ninguém pediu por eles.
Apenas root. /var/log/audit está bem protegido, então planeje usar sudo.
A rotação é própria do auditd. auditd rotaciona seu log por si só, baseado em max_log_file e num_logs em /etc/audit/auditd.conf, para audit.log.1, audit.log.2, e assim por diante. O histórico mais antigo fica nesses arquivos.
O formato leva tempo para se acostumar. Um evento é frequentemente formado por várias linhas (SYSCALL, EXECVE, CWD, PATH, PROCTITLE) compartilhando o mesmo carimbo msg=audit(<epoch>:<serial>). Valores com espaços são codificados em hexadecimal. Isso é normal.
Etapa 1: Exportar com ausearch
ausearch filtra por tempo, tipo de registro ou chave de regra, e –raw mantém o formato original:
# um dia, bruto
sudo ausearch --raw -ts ontem -te hoje > web-03_audit.log
As palavras-chave hoje, ontem, esta-semana e recente (últimos dez minutos) te poupam de formatos de data. Datas explícitas seguem seu local, 10/19/2026 00:00:00 em en_US, de onde vêm a maioria das surpresas de “nenhuma correspondência”.
Para um upload, mantenha –raw: os registros originais carregam mais do que a visão interpretada.
Se preferir pegar tudo, concatene os arquivos do mais antigo para o mais recente:
sudo cat $(ls -tr /var/log/audit/audit.log*) > web-03_audit_all.log
Etapa 2 (sem auditd): Obtenha eventos de auditoria do jornal
Sem auditd, os registros de auditoria do kernel ainda chegam ao journald:
sudo journalctl _TRANSPORT=audit --since ontem -o json --no-pager > web-03_audit.jsonl
Com nenhuma regra carregada, espere principalmente logins e mensagens SELinux ou AppArmor, mas é melhor do que nada.
Envie, sanitize e revise no LogTotal
[PROOF: confirm LogTotal parses raw auditd format. If it doesn’t yet, publish this guide with the journal JSON route only, or hold it until support lands.]
- Carregar. Abrir logtotal.com e solte o arquivo.
- Sanitize. [PROOF: what gets masked in auditd records: usernames, hostnames, IPs, paths]. Look it over before you continue.
- Revisar.
Quando dá errado
| Sintoma | Causa provável | Fix |
|---|---|---|
| /var/log/audit não existe | auditd não está instalado | Use a rota do jornal (Etapa 2) |
| Permissão negada | Não é root | sudo |
| Apenas logins, sem comandos | Nenhuma regra de execução carregada | Esperado; adicione regras para o futuro |
| <nenhuma correspondência> do ausearch | Formato de data não corresponde ao seu local | Use hoje, ontem, esta-semana |
| “limite de fila excedido” em mensagens do kernel | O kernel descartou eventos de auditoria sob carga | Considere o log como tendo lacunas; aumente back-limit |
FAQ
Devo ligar o auditd agora?
Sim, para a próxima vez. As regras decidem tudo, então comece de um conjunto de regras conhecido em vez de escrever sua própria regra do zero. O pacote auditd traz regras de exemplo, e há conjuntos de comunidade bem mantidos.
auditd ou o jornal: qual é o registro verdadeiro?
Com auditd em execução, /var/log/audit/audit.log é o completo. O jornal pode conter uma cópia parcial, dependendo da configuração.