O que faz este módulo #
O auditd é o subsistema de auditoria do kernel do Linux: regista quem inicia sessão, quem usa sudo, que ficheiros sensíveis se modificam e que chamadas ao sistema se executam. É a base de quase qualquer requisito de conformidade (CIS, PCI, ISO). O problema é que as suas ferramentas nativas — auditctl, ausearch, aureport — têm uma sintaxe áspera e pouco amigável.
O módulo audit coloca uma camada legível por cima: diz-te num relance se o auditd está ativo e com as regras carregadas, lista os eventos recentes filtrando por tempo ou por key de regra, dá-te um resumo tipo relatório (logins, sudo/autenticação e alterações de ficheiros) e deixa-te consultar as regras de auditoria CIS ativas — tudo sem que tenhas de recordar as flags de cada ferramenta.
As regras do auditd costumam carregar-se em modo immutable (bloqueadas até ao próximo reinício) para que ninguém as possa desativar a quente. Por isso o reload avisa se uma alteração requer reboot em vez de aplicá-la à força.
Tarefas comuns #
Escolhe o que queres fazer. Cada receita traz o comando já escrito — copia-o, ajusta-o se for preciso e clica em Copiar.
1
Verificar se a auditoria está ativa
Confirma que o auditd corre, com as regras carregadas e sem backlog.
Liga-te por SSH ao teu servidor com o utilizador ubuntu e lança:
$ sudo imaxe audit statusPrecisas da saída para um script ou um painel? Adiciona --json:
$ sudo imaxe audit status --json2
Ver os eventos recentes
Consulta o que se passou, filtrando por tempo ou por key de regra.
Lista os eventos de hoje num resumo legível:
$ sudo imaxe audit events --since todayQueres apenas os eventos de uma regra concreta (pela sua key) e em JSON? Combina --key e --json:
$ sudo imaxe audit events --key identity --jsonausearch. Se não passares --since, usa-se a janela por omissão do audit.yml.3
Tirar um resumo do dia
Um relatório tipo aureport: logins, sudo/auth e alterações de ficheiros.
Pede o resumo agregado de atividade:
$ sudo imaxe audit summarysudo e modificações de ficheiros se registaram.4
Ver ou recarregar as regras
Consulta as regras ativas e aplica alterações respeitando o immutable.
Lista as regras de auditoria carregadas neste momento (equivale a auditctl -l):
$ sudo imaxe audit rules listSe editaste os ficheiros de regras, recarrega-as. Se o sistema estiver em modo immutable, o comando avisa-te de que é preciso reiniciar:
$ sudo imaxe audit rules list --json
$ sudo imaxe audit reloadSe events sair vazio, verifica primeiro com status que o auditd está ativo e com regras carregadas. Pode ser que a janela de --since seja demasiado curta, ou que nenhuma regra use a key pela qual filtras. Consulta as regras com rules list.
Sinopse #
imaxe audit <subcomando> [<subcomando anidado>] [--since T] [--key K] [--json]Todos os subcomandos leem do subsistema de auditoria, que só é acessível como root (usa sudo). Adiciona --json a status, events ou rules list para obter saída legível por máquina, apta para scripting e painéis.
Subcomandos #
| Subcomando | O que faz | Flags relevantes |
|---|---|---|
| status | Estado: auditd ativo, regras carregadas, modo immutable e backlog. | --json |
| events | Lista eventos recentes filtráveis, num resumo legível. | --since, --key, --json |
| summary | Resumo tipo aureport: logins, sudo/auth e alterações de ficheiros. | — |
| rules | Grupo de gestão das regras de auditoria. Requer um subcomando aninhado. | — |
| rules list | Lista as regras ativas (equivale a auditctl -l). | --json |
| reload | Recarrega as regras; respeita o immutable e avisa se requer reboot. | — |
Argumentos e flags #
| Flag | Tipo | Por omissão | Descrição |
|---|---|---|---|
| --since | string | audit.yml | Em events: a partir de quando listar (p. ex. today, recent, 'now-1 hour'). Se for omitido, usa-se default_since do audit.yml. |
| --key | string | — | Em events: filtra pela key de uma regra do auditd (p. ex. identity). |
| --json | bool | false | Em status, events e rules list: emite o resultado como JSON estruturado em stdout. |
summary, rules e reload não admitem flags: executam-se tal como estão. Lembra-te de que rules precisa sempre do subcomando aninhado list.
Ficheiros e caminhos #
| Caminho | Conteúdo |
|---|---|
| /etc/imaxe/audit.yml | Configuração do módulo: janela por omissão de events (default_since) e restantes opções. |
| /etc/audit/audit.rules | Regras de auditoria carregadas no arranque pelo auditd (base CIS). |
| /etc/audit/rules.d/ | Fragmentos de regras que se montam no conjunto final. |
| /var/log/audit/audit.log | Registo de eventos que o auditd escreve e que events/summary consultam. |
Exemplo de audit.yml:
events:
default_since: todayCódigos de saída e logs #
Cada execução devolve um código que podes verificar com echo $? — útil para encadear em scripts:
Segue o log em direto enquanto depuras:
$ sudo journalctl -u auditd -f
$ sudo tail -f /var/log/audit/audit.logResolução de problemas #
| Sintoma | Causa provável | Solução |
|---|---|---|
| Sai AUDITD (código 3) | O serviço auditd não está a correr. | Arranca-o com systemctl start auditd e repete imaxe audit status. |
events não devolve nada | Janela de --since demasiado curta ou key inexistente. | Alarga --since (p. ex. 'now-1 hour') ou revê as keys com rules list. |
reload avisa de reboot | As regras estão em modo immutable (bloqueadas até reiniciar). | Agenda um reinício para aplicar as alterações; até lá seguem as regras anteriores. |
| Sai USAGE (código 2) | Chamou-se rules sem o subcomando aninhado. | Usa imaxe audit rules list: rules requer sempre um subcomando. |
Ficou bloqueado com o módulo Audit?
Escreva-nos com a saída de «imaxe <module> status --json» e respondemos rapidamente.