Auditoria de segurança da VPS com Lynis

Lynis é a ferramenta de auditoria de segurança mais usada para servidores Linux, verifica mais de 300 pontos de configuração e gera um relatório com pontuação e recomendações priorizadas. É gratuito, open source e leva menos de 2 minutos para rodar. Ideal para verificar o estado de segurança de uma VPS antes de ir para produção.

Instalar e rodar Lynis

Lynis está disponível nos repositórios do Ubuntu ou pode ser instalado diretamente do GitHub para a versão mais recente:

bash
# Opção 1: via apt (versão pode ser mais antiga)
apt install lynis

# Opção 2: versão mais recente direto do repositório oficial
cd /opt
git clone https://github.com/CISOfy/lynis
cd lynis

# Rodar auditoria completa do sistema
lynis audit system

# Ou se instalado via apt:
lynis audit system

# A auditoria demora 1-2 minutos e gera saída colorida no terminal
# Verde: OK | Amarelo: aviso | Vermelho: problema

Interpretar o relatório Lynis

O relatório tem três seções principais: resultados, sugestões e advertências:

bash
# Ao final da auditoria, Lynis mostra um resumo:

# Hardening index: 65 [##############      ]
# (meta: chegar a 80+ em produção)

# Ver apenas advertências (itens críticos)
lynis audit system 2>/dev/null | grep -A2 "Warning"

# Ver sugestões de hardening
lynis audit system 2>/dev/null | grep -A2 "Suggestion"

# Relatório completo salvo em:
cat /var/log/lynis.log

# Relatório compacto (só findings):
cat /var/log/lynis-report.dat | grep "^warning|^suggestion" | head -30

Verificações mais comuns e como corrigir

Os problemas mais frequentes encontrados pelo Lynis e suas correções:

bash
# 1. Permissões de arquivos sensíveis
chmod 600 /etc/ssh/sshd_config
chmod 600 /etc/crontab
chmod 700 /root

# 2. Parâmetros do kernel (sysctl) inseguros
cat >> /etc/sysctl.d/99-hardening.conf << 'EOF'
# Desabilitar IP forwarding (se não for roteador)
net.ipv4.ip_forward = 0
# Proteção contra SYN flood
net.ipv4.tcp_syncookies = 1
# Ignorar ICMP broadcast
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Desabilitar source routing
net.ipv4.conf.all.accept_source_route = 0
# Proteção contra spoofing
net.ipv4.conf.all.rp_filter = 1
EOF
sysctl -p /etc/sysctl.d/99-hardening.conf

# 3. Serviços desnecessários rodando
systemctl list-units --type=service --state=running
# Desabilitar serviços não usados:
systemctl disable --now avahi-daemon
systemctl disable --now cups

Verificar integridade de arquivos com AIDE

AIDE (Advanced Intrusion Detection Environment) detecta alterações em arquivos do sistema, útil para identificar comprometimento:

bash
# Instalar AIDE
apt install aide

# Inicializar banco de dados (baseline)
aideinit
# Demora alguns minutos na primeira vez
cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db

# Verificar mudanças (comparar com baseline)
aide --check
# Saída mostra arquivos modificados, adicionados ou removidos

# Automatizar verificação diária
cat > /etc/cron.daily/aide-check << 'EOF'
#!/bin/bash
/usr/bin/aide --check 2>&1 | mail -s "AIDE check $(hostname)" root
EOF
chmod +x /etc/cron.daily/aide-check

# Atualizar baseline após mudanças legítimas
aide --update
cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db

Verificar rootkits com rkhunter

rkhunter varre o sistema em busca de rootkits, backdoors e arquivos suspeitos:

bash
# Instalar rkhunter
apt install rkhunter

# Atualizar banco de dados de assinaturas
rkhunter --update

# Rodar verificação completa
rkhunter --check --sk    # --sk: skip key press (não pausar)

# Ver apenas os warnings
rkhunter --check --sk 2>/dev/null | grep -i "warning|infected|found"

# Resultados salvos em:
cat /var/log/rkhunter.log | grep -E "Warning|Infected"

# Falsos positivos comuns: binários do sistema modificados por atualizações
# Solução: rkhunter --propupd  (atualizar propriedades após apt upgrade)

Não quer configurar manualmente?

Implante o VPS em menos de 5 minutos com a Runstack. Infraestrutura da OPEN Datacenter, com servidores em São Paulo.

Perguntas frequentes

Baseline: rode na configuração inicial e salve o relatório. Depois: mensalmente ou após mudanças significativas (novo serviço, nova configuração). Configure como cron semanal para VPS de produção: lynis audit system --cronjob 2>&1 | mail -s "Lynis report" admin@email.com.

Lynis recomenda 80+ para produção. Um índice de 65 é típico de uma VPS recém-configurada sem hardening adicional. Os warnings (vermelho) devem ser todos corrigidos. Sugestões (amarelo): priorize as que aparecem em ambientes de produção (SSH, firewall, kernel). Não é necessário chegar a 100, algumas sugestões se aplicam apenas a ambientes muito restritivos.

Funções diferentes: Lynis audita configuração (como as coisas estão configuradas). AIDE detecta mudanças em arquivos (o que foi alterado desde a baseline). rkhunter procura rootkits conhecidos (malware específico). Para VPS de produção com dados sensíveis: os três. Para VPS pessoal simples: Lynis é suficiente.

O Lynis Enterprise tem auto-remediation. Para a versão gratuita: use Ansible com roles de hardening (ansible-role-security ou devsec.os-hardening) que implementam as recomendações do CIS Benchmark. O Lynis pode ser usado como verificação pós-Ansible para confirmar que o hardening foi aplicado.

Não, Lynis é uma ferramenta de auditoria de configuração, não de detecção de intrusão em tempo real. Para detecção em tempo real: OSSEC ou Wazuh (HIDS) monitoram logs e atividade do sistema continuamente e geram alertas. AIDE detecta mudanças após o fato (post-incident forensics).