Monte detecção de intrusão em host (HIDS) no Linux: integridade de arquivos com AIDE, trilha de auditoria com auditd e alertas centralizados com Wazuh.

Para que serve

Firewall e atualizações reduzem a chance de invasão, mas não avisam quando algo passou. A detecção de intrusão em host (HIDS) acompanha o que muda dentro do servidor: um binário trocado, um usuário criado de madrugada, uma chave SSH nova em authorized_keys. Este artigo mostra três camadas que se completam: AIDE (integridade de arquivos), auditd (quem fez o quê) e Wazuh (coleta e alertas centralizados de todas as VMs).

Pré-requisitos

  • Host Proxmox VE e VMs com Debian 12/13 ou Ubuntu 24.04 (o agente Wazuh também existe para Windows).
  • Para o Wazuh: uma VM dedicada com Ubuntu 24.04, 4 vCPU, 8 GB de RAM e 50 GB de disco (até cerca de 25 agentes).
  • Um e-mail ou canal para receber alertas.

Passo 1: integridade de arquivos com AIDE

O AIDE tira uma "fotografia" dos arquivos do sistema (hash, permissões, dono) e compara diariamente.

  1. Instale:
    sudo apt install aide
  2. Crie a base inicial com o sistema em estado confiável (logo após instalar e atualizar):
    sudo aideinit
    Ao final, a base fica em /var/lib/aide/aide.db. Se o comando gerar apenas aide.db.new, copie-a para aide.db.
  3. Exclua o que muda o tempo todo. No host Proxmox, discos de VM e o sistema de arquivos do cluster geram ruído. Crie /etc/aide/aide.conf.d/99_local com:
    !/var/lib/vz
    !/etc/pve
    !/var/lib/pve-cluster
    Depois rode sudo aideinit -y -f para refazer a base.
  4. Agende a verificação diária. No Debian e no Ubuntu atuais, ela é feita pelo timer dailyaidecheck.timer:
    systemctl list-timers | grep -i aide
    Se não aparecer, ative com sudo systemctl enable --now dailyaidecheck.timer. Os relatórios vão para o e-mail do root; configure um encaminhamento em /etc/aliases ou ajuste o destino em /etc/default/aide.
  5. Depois de cada atualização planejada, confira o relatório e atualize a base:
    sudo aide --config /etc/aide/aide.conf --update
    sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db

Passo 2: trilha de auditoria com auditd

  1. Instale:
    sudo apt install auditd audispd-plugins
  2. Crie regras em /etc/audit/rules.d/50-local.rules:
    # contas e grupos
    -w /etc/passwd -p wa -k contas
    -w /etc/shadow -p wa -k contas
    -w /etc/group -p wa -k contas
    # sudo e ssh
    -w /etc/sudoers -p wa -k sudo
    -w /etc/sudoers.d/ -p wa -k sudo
    -w /etc/ssh/sshd_config -p wa -k ssh
    -w /etc/ssh/sshd_config.d/ -p wa -k ssh
    -w /root/.ssh/ -p wa -k ssh_chaves
    # tarefas agendadas
    -w /etc/crontab -p wa -k cron
    -w /etc/cron.d/ -p wa -k cron
    -w /etc/systemd/system/ -p wa -k systemd
    # comandos executados como root por usuários que fizeram login
    -a always,exit -F arch=b64 -S execve -F euid=0 -F auid>=1000 -F auid!=unset -k cmd_root
  3. Carregue as regras:
    sudo augenrules --load
    sudo auditctl -l
  4. Consulte quando precisar:
    sudo ausearch -k contas -i --start today
    sudo ausearch -k cmd_root -i --start recent
    sudo aureport --summary

A regra de execve gera bastante log em servidores muito usados. Se o disco encher rápido, ajuste max_log_file e num_logs em /etc/audit/auditd.conf.

Passo 3: detecção de intrusão centralizada com Wazuh

Logs guardados só na máquina invadida podem ser apagados pelo invasor. O Wazuh recebe eventos dos agentes, aplica regras e mostra tudo em um painel: falhas de login, mudanças de arquivos, configuração fora do padrão (SCA) e pacotes com vulnerabilidades conhecidas.

  1. Na VM do Wazuh (Ubuntu 24.04), use o assistente de instalação completa (indexador, servidor e painel):
    curl -sO https://packages.wazuh.com/4.14/wazuh-install.sh
    sudo bash ./wazuh-install.sh -a
    Confira na documentação oficial se há versão mais nova antes de rodar. A senha do usuário admin aparece no fim da instalação e também pode ser lida com:
    sudo tar -O -xvf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt
  2. Acesse o painel em https://IP-DA-VM, de preferência pela VPN. Não publique o painel na internet.
  3. Instale os agentes. No painel, use Agents → Deploy new agent: escolha o sistema, informe o IP do servidor Wazuh e copie o comando gerado para cada VM e para o host Proxmox.
  4. Libere a comunicação entre agentes e servidor: portas TCP 1514 e 1515 da VM do Wazuh, só a partir da rede interna das VMs.
  5. Inclua os logs do auditd no agente, se quiser os eventos do passo 2 no painel, adicionando um bloco localfile com <log_format>audit</log_format> e <location>/var/log/audit/audit.log</location> em /var/ossec/etc/ossec.conf.
  6. Configure alertas por e-mail ou integração (Slack, Teams, webhook) para regras de nível alto.

Como saber se funcionou

  1. Crie um usuário de teste: sudo useradd teste-hids.
  2. sudo ausearch -k contas -i --start recent mostra a alteração em /etc/passwd, com o usuário que fez login (auid).
  3. sudo aide --config /etc/aide/aide.conf --check aponta /etc/passwd e /etc/shadow como alterados.
  4. No painel do Wazuh, o evento de criação de usuário aparece em poucos segundos.
  5. Remova o usuário: sudo userdel teste-hids.

Problemas comuns

  • Relatório do AIDE enorme todo dia: faltam exclusões para diretórios que mudam por natureza (logs, cache, discos de VM, bancos de dados).
  • Agente Wazuh aparece desconectado: firewall bloqueando 1514/1515 ou versão do agente mais nova que a do servidor. O servidor deve ter versão igual ou superior à dos agentes.
  • Painel do Wazuh lento ou caindo: o indexador precisa de memória. Respeite os 8 GB de RAM e acompanhe o uso de disco.
  • auditd não carrega regras: erro de sintaxe em algum arquivo de /etc/audit/rules.d/. Rode sudo augenrules --load e leia a mensagem de erro, ou consulte journalctl -u auditd.

Perguntas frequentes

Qual a diferença entre IDS de rede e de host?

O IDS de rede (Suricata, por exemplo) analisa o tráfego; o de host analisa o que acontece dentro do sistema. Em servidor dedicado com VMs, o de host costuma trazer mais resultado com menos esforço.

Preciso dos três?

Não necessariamente. Para um servidor só, AIDE e auditd já ajudam muito. Com várias VMs, o Wazuh centraliza e já inclui monitoramento de integridade.

O Wazuh funciona em Windows Server?

Sim. O agente para Windows coleta o Log de Eventos, monitora integridade de arquivos e registro, e avalia configuração.

Isso substitui antivírus?

Não. É uma camada de detecção e investigação; antivírus/EDR atuam em bloqueio de malware.

Leitura complementar

Precisa de ajuda?

Se os alertas indicarem uma possível invasão e você precisar de acesso ao console IPMI/iLO para isolar o servidor, abra um ticket ou chame o suporte 24/7.

Esta resposta lhe foi útil? 0 Usuários acharam útil (0 Votos)

Leia também