O que faz este módulo #
Um rootkit é software malicioso concebido para se infiltrar no teu servidor e esconder-se: substitui comandos do sistema, abre backdoors e apaga os seus próprios rastos para que não o vejas. É exatamente esse o problema — quando funciona bem, não dás por ele. Por isso vale a pena verificar o sistema com regularidade.
O módulo rkhunter apoia-se no rkhunter (Rootkit Hunter) para fazer esse trabalho por ti: analisa o sistema comparando ficheiros e comandos com assinaturas conhecidas de rootkits, vigia propriedades suspeitas (permissões estranhas, portos ocultos, binários modificados) e resume-te os avisos em linguagem clara para que saibas o que olhar. Também mantém uma baseline — uma foto de como os teus ficheiros deveriam estar — e as assinaturas atualizadas, as duas peças de que depende uma deteção fiável.
Após instalar o módulo ou atualizar pacotes do sistema, atualiza a baseline com update-baseline. Se não o fizeres, alterações legítimas (por exemplo, um apt upgrade) aparecerão como avisos e vais ter dificuldade em distinguir o normal do suspeito.
Tarefas comuns #
Escolhe o que queres fazer. Cada receita traz o comando já escrito — copia-o, cola-o e clica em Copiar.
1
Analisar o sistema agora
Lança uma análise completa e obtém um resumo de avisos.
Liga-te por SSH ao teu servidor com o utilizador ubuntu.
Lança a análise. Demora um pouco: o rkhunter revê centenas de ficheiros e comandos.
$ sudo imaxe rkhunter checkVais chamá-lo a partir de um script ou queres integrá-lo com outra ferramenta? Adiciona --json:
$ sudo imaxe rkhunter check --json2
Ver os avisos da última análise
Percorre o que o rkhunter assinalou, num formato legível.
Mostra os avisos do último check sem teres de analisar de novo:
$ sudo imaxe rkhunter report3
Verificar o estado
Num relance: instalação, baseline, última análise e avisos.
Um resumo rápido de se o rkhunter está pronto, se há uma baseline, quando foi a última análise, quantos avisos deixou e se há uma análise agendada:
$ sudo imaxe rkhunter statusPara monitorização ou scripts, pede-o em JSON:
$ sudo imaxe rkhunter status --json4
Atualizar a baseline
Aceita o estado atual dos ficheiros como boa referência.
Guarda as propriedades atuais dos ficheiros como baseline (equivalente a rkhunter --propupd). Fá-lo apenas quando confiares no estado do sistema — por exemplo, logo após o instalar ou após uma atualização que reconheças:
$ sudo imaxe rkhunter update-baselinecheck parte desta nova foto de referência.5
Atualizar as assinaturas
Descarrega os ficheiros de dados mais recentes do rkhunter.
Atualiza os ficheiros de dados e as assinaturas do rkhunter (equivalente a rkhunter --update) para que a deteção conheça os rootkits mais recentes:
$ sudo imaxe rkhunter update-datacheck deteta ameaças mais recentes. Vale a pena fazê-lo antes de uma análise importante.É normal na primeira vez ou logo após atualizar pacotes: o rkhunter vê alterações que ainda não estão na baseline. Revê-as com report e, se as reconheces como legítimas, aceita-as com update-baseline. Nunca atualizes a baseline se suspeitares que o sistema já está comprometido.
Sinopse #
imaxe rkhunter <subcomando> [--json]Todos os subcomandos requerem privilégios de root (usa sudo) porque o rkhunter precisa de ler ficheiros do sistema, comparar binários e escrever a sua baseline e os seus dados. Adiciona --json a check ou status para obter saída legível por máquina, apta para scripting e monitorização.
Subcomandos #
| Subcomando | O que faz | Flags relevantes |
|---|---|---|
| check | Lança uma análise de rootkits/malware e resume os avisos. | --json |
| report | Mostra os avisos da última análise de forma legível. | — |
| status | Estado: instalado, baseline presente, última análise, avisos e análise agendada. | --json |
| update-baseline | Aceita as propriedades atuais dos ficheiros como baseline (rkhunter --propupd). | — |
| update-data | Atualiza os ficheiros de dados/assinaturas do rkhunter (rkhunter --update). | — |
Argumentos e flags #
| Flag | Tipo | Por omissão | Descrição |
|---|---|---|---|
| --json | bool | false | Em check/status, emite o resultado como JSON estruturado em stdout, apto para scripting e monitorização. |
Os subcomandos report, update-baseline e update-data não admitem flags: executam-se sem argumentos.
Ficheiros e caminhos #
| Caminho | Conteúdo |
|---|---|
| /etc/imaxe/rkhunter.yml | Configuração do módulo: por omissão, o check reporta apenas avisos (report_warnings_only). |
| /var/lib/rkhunter/db/ | Baseline de propriedades dos ficheiros e ficheiros de dados/assinaturas que o update-baseline e o update-data atualizam. |
| /var/log/rkhunter.log | Log da última análise, de onde o report extrai os avisos. |
Exemplo de rkhunter.yml:
check:
report_warnings_only: trueCódigos de saída e logs #
Cada execução devolve um código que podes verificar com echo $? — útil para encadear em scripts ou disparar alertas a partir da monitorização:
Consulta o log da última análise enquanto revês:
$ sudo imaxe rkhunter report
$ sudo tail -f /var/log/rkhunter.logResolução de problemas #
| Sintoma | Causa provável | Solução |
|---|---|---|
| Sai WARN (código 1) após atualizar pacotes | Alterações legítimas que ainda não estão na baseline. | Revê com report; se as reconheces, aceita-as com update-baseline. |
status diz «baseline: not present» | O módulo acabou de ser instalado e não há foto de referência. | Executa update-baseline uma vez com o sistema num estado de confiança. |
| Muitos avisos sobre ficheiros ou versões antigas | As assinaturas e os dados do rkhunter estão desatualizados. | Executa update-data e repete o check. |
| Sai ERR (código 3) | O rkhunter não está instalado ou o binário não responde. | Verifica a instalação do módulo e consulta /var/log/rkhunter.log. |
Ficou bloqueado com o módulo rkhunter?
Escreva-nos com a saída de «imaxe <module> status --json» e respondemos rapidamente.