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
    Dica
    Sempre rode Lynis como root para ter acesso completo aos arquivos de configuração. lynis audit system --quiet reduz a verbosidade para mostrar apenas os resultados.

    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
    Dica
    AIDE deve ser inicializado em um sistema recém-instalado e configurado (estado "limpo"). Inicializar após o sistema estar em uso inclui no baseline arquivos que podem já estar comprometidos.

    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)

    $ runstack deploy --plan starter

    Não quer configurar manualmente?

    Não quer configurar manualmente? Implante o VPS em menos de 3 minutos com a Runstack. Infraestrutura da OPEN DATACENTER, com servidores no Brasil.

    Perguntas frequentes