Executar uma auditoria com o Lynis é a forma mais rápida de obter uma visão honesta da postura de segurança do seu servidor Linux. O Lynis é uma ferramenta de auditoria de segurança open-source que realiza mais de 300 verificações — abrangendo autenticação, permissões do sistema de arquivos, hardening do kernel, serviços de rede, vulnerabilidades de software e controles de conformidade — e produz uma pontuação de índice de hardening entre 0 e 100. Neste guia você instalará o Lynis, interpretará seus resultados, aplicará as recomendações de hardening mais impactantes e automatizará auditorias recorrentes para conformidade contínua no Linux.
Pré-requisitos
- Um servidor Linux (Ubuntu 20.04/22.04, Debian 11/12, RHEL/CentOS/AlmaLinux 8/9 ou equivalente)
- Acesso root ou
sudo - Familiaridade básica com a linha de comando e leitura de saídas de log
- Opcional:
auditdeaideinstalados para cobertura completa dos testes
Instalando o Lynis
O Lynis está disponível nos repositórios de pacotes padrão, mas o repositório mantido pela CISOfy sempre fornece a versão mais recente — o que importa porque os testes do Lynis são atualizados frequentemente à medida que novas CVEs são publicadas.
Ubuntu / Debian:
sudo apt install -y apt-transport-https gnupg
curl -fsSL https://packages.cisofy.com/keys/cisofy-software-public.key | sudo gpg --dearmor -o /usr/share/keyrings/cisofy.gpg
echo "deb [signed-by=/usr/share/keyrings/cisofy.gpg] https://packages.cisofy.com/community/lynis/deb/ stable main" \
| sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
sudo apt update && sudo apt install lynis
RHEL / CentOS / AlmaLinux:
sudo rpm --import https://packages.cisofy.com/keys/cisofy-software-public.key
cat <<EOF | sudo tee /etc/yum.repos.d/cisofy-lynis.repo
[lynis]
name=CISOfy Software - Lynis package
baseurl=https://packages.cisofy.com/community/lynis/rpm/
enabled=1
gpgcheck=1
gpgkey=https://packages.cisofy.com/keys/cisofy-software-public.key
EOF
sudo yum install lynis
Verifique a instalação:
lynis show version
Executando Sua Primeira Auditoria com o Lynis
Uma auditoria completa do sistema leva de 2 a 5 minutos e requer root para testar todos os controles:
sudo lynis audit system
O Lynis exibe os resultados no terminal e grava um log detalhado em /var/log/lynis.log e um relatório em /var/log/lynis-report.dat. A saída no terminal usa rótulos coloridos:
| Rótulo | Significado |
|---|---|
[OK] | Teste aprovado |
[WARNING] | Falha de segurança — corrigir com prioridade |
[SUGGESTION] | Melhoria recomendada — urgência menor |
[FOUND] | Item encontrado (neutro) |
[NOT FOUND] | Ferramenta ou arquivo ausente |
Ao final da varredura, procure a linha Hardening index:
Hardening index : 62 [############ ]
Um servidor Ubuntu 22.04 recém-instalado com configurações padrão normalmente pontua entre 60 e 65. Seu objetivo é chegar a 80 ou mais.
Entendendo e Priorizando a Saída do Lynis
Avisos — corrigir primeiro
Os avisos indicam falhas de segurança reais. Avisos comuns em uma instalação padrão incluem:
- Login root via SSH habilitado —
PermitRootLogin yesem/etc/ssh/sshd_config - Sem senha para o GRUB — bootloader desprotegido
- Ferramentas de compilação instaladas —
gccem servidor de produção - Nenhum firewall ativo — nenhuma regra
ufw,firewalldouiptablesencontrada - Arquivos com permissão de escrita para todos — arquivos que qualquer usuário pode modificar
Para cada aviso, o Lynis imprime um ID de teste como SSH-7412. Use-o para consultar a remediação exata:
lynis show details SSH-7412
Sugestões — reforçar ao longo do tempo
As sugestões são boas práticas de segurança que não são urgentes, mas aumentam sua pontuação:
- Instale
auditdpara registro de auditoria no nível do kernel - Habilite a contabilização de processos (
acct) - Configure
umask 027para permissões de criação de arquivos mais restritivas - Adicione
apt-listchangespara monitorar avisos de segurança nos changelogs dos pacotes - Habilite o
AIDE(monitoramento de integridade de arquivos)
Principais Ações de Hardening Após uma Auditoria com o Lynis
Abaixo estão as correções de maior impacto que mais elevam o índice de hardening.
1. Reforçar o SSH
sudo nano /etc/ssh/sshd_config
Defina estes valores:
PermitRootLogin no
PasswordAuthentication no
X11Forwarding no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
AllowTcpForwarding no
Reinicie o SSH: sudo systemctl restart sshd
2. Aplicar hardening do kernel via sysctl
Crie /etc/sysctl.d/99-hardening.conf:
# Desabilitar roteamento de origem IP
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
# Ignorar redirecionamentos ICMP
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# Habilitar proteção SYN cookie
net.ipv4.tcp_syncookies = 1
# Registrar pacotes marcianos
net.ipv4.conf.all.log_martians = 1
# Desabilitar IPv6 se não for necessário
net.ipv6.conf.all.disable_ipv6 = 1
Aplique: sudo sysctl --system
3. Instalar e configurar o auditd
sudo apt install auditd audispd-plugins
sudo systemctl enable auditd --now
Adicione regras para registro de comandos privilegiados:
sudo auditctl -a always,exit -F arch=b64 -S execve -k exec_commands
4. Habilitar um firewall
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable
Após aplicar essas quatro mudanças, a pontuação típica de um servidor sobe de 62 para 75-80.
Comparação: Lynis vs. Ferramentas Alternativas de Auditoria de Segurança
| Ferramenta | Tipo | Escopo | CIS Benchmarks | Remediação | Ideal para |
|---|---|---|---|---|---|
| Lynis | Agente local | Linux/macOS | Parcial | Sugestões | Hardening manual por sysadmin |
| OpenSCAP | Agente local | Linux | SCAP/XCCDF completo | Automatizada | Organizações com conformidade (DISA STIG) |
| CIS-CAT Lite | Agente local | Multi-OS | CIS completo | Somente relatório | Pontuação por benchmark CIS |
| Wazuh | Agente + servidor | Multi-OS | Sim | Alertas | SIEM centralizado + conformidade |
| Nessus Essentials | Scanner de rede | Multi-OS | Sim | Relatório | Varredura externa de vulnerabilidades |
| Trivy | Container/código | Containers, IaC | Parcial | Relatório | Pipelines DevSecOps |
O Lynis se destaca no hardening individual de servidores por sysadmins. Para dashboards de conformidade em nível empresarial ou segurança de containers, combine o Lynis com Wazuh ou OpenSCAP.
Cenário Real
Você tem um servidor web de produção rodando Ubuntu 22.04 com Nginx, MySQL e uma aplicação Node.js. Ele foi implantado há seis meses e nunca foi auditado. Uma revisão de segurança agora é necessária antes da auditoria ISO 27001 da empresa.
Você executa sudo lynis audit system e obtém uma pontuação de 58 com 7 avisos e 34 sugestões. Os avisos críticos são:
- Login root via SSH habilitado — seus scripts de deploy ainda usam a conta root
- Sem regras de firewall — a instância depende apenas do security group da nuvem
- MySQL escutando em 0.0.0.0 — exposto à rede interna desnecessariamente
/tmpmontado com permissõesexec— permite execução de código a partir de arquivos temporários
Você resolve cada aviso:
- Atualiza os scripts de deploy para usar um usuário dedicado com sudo e define
PermitRootLogin no - Adiciona regras
ufwpermitindo apenas as portas 22, 80 e 443 - Vincula o MySQL a
127.0.0.1em/etc/mysql/mysql.conf.d/mysqld.cnf - Adiciona
noexecà montagem de/tmpem/etc/fstabe remonta
Ao reexecutar o Lynis, a pontuação sobe para 79. Você resolve mais cinco sugestões de alta prioridade (instalar auditd, definir umask 027, desabilitar módulos do kernel não utilizados) e chega a 84 — bem acima do limite de 80 exigido pela auditoria.
Armadilhas e Casos Especiais
A pontuação varia conforme o que está instalado. O Lynis pula testes de ferramentas ausentes (ex: se postfix não estiver instalado, todos os testes relacionados a e-mail são ignorados). Um servidor mínimo pode pontuar mais alto simplesmente porque menos testes de superfície de ataque se aplicam — não porque está mais seguro.
Algumas sugestões conflitam com os requisitos da aplicação. Desabilitar ferramentas de compilação (gcc) gera pontos, mas um servidor que compila software (CI runner, build host) legitimamente as necessita. Aplique bom senso — o Lynis é um guia, não um conjunto absoluto de regras.
Reexecuções sem alterações ainda variam ligeiramente. O Lynis testa o estado do sistema em tempo real. Se um processo iniciar ou parar entre as execuções, a pontuação pode variar 1-2 pontos. Considere isso ruído normal.
Testes exclusivos de root. Executar o Lynis como usuário não-root pulará muitos testes privilegiados e produzirá uma pontuação menor e menos significativa. Sempre execute com sudo.
Perfis personalizados. Para ambientes com requisitos específicos (PCI-DSS, HIPAA), use --profile para carregar um perfil Lynis personalizado que habilita ou desabilita grupos de testes específicos. Copie /etc/lynis/default.prf e modifique-o para suprimir falsos positivos em seu ambiente.
Solução de Problemas
“Warning: lynis executable not found” — o pacote do repositório CISOfy instala em /usr/bin/lynis. Se você instalou via tarball, certifique-se de que o caminho está no seu $PATH ou chame-o com o caminho completo.
A auditoria termina com erros de permissão — certos testes verificam /proc, /sys e /etc/shadow. Eles requerem root. Execute com sudo lynis audit system, não como usuário comum.
Arquivo de log não gerado — /var/log/lynis.log requer permissões de escrita. Em sistemas com SELinux enforcing, verifique: ausearch -m avc -ts recent para negações relacionadas ao lynis. Pode ser necessário adicionar uma política SELinux personalizada ou usar --logdir /tmp como alternativa.
Pontuação caiu após atualização do SO — atualizações de pacotes podem instalar novos softwares que o Lynis agora testa. Revise novos avisos e sugestões introduzidos pela atualização; eles representam novas superfícies de ataque detectadas.
Cron job não produz saída — execute com --quiet --cronjob e redirecione a saída para um arquivo: sudo lynis audit system --quiet --cronjob >> /var/log/lynis-cron.log 2>&1. Use o logrotate para gerenciar o tamanho do arquivo.
Resumo
- A auditoria do Lynis escaneia mais de 300 controles de segurança e produz um índice de hardening de 0 a 100
- Instalações Linux padrão costumam pontuar entre 55 e 65; busque 80 ou mais em servidores de produção
- Corrija os itens WARNING primeiro (vulnerabilidades reais), depois trabalhe nos itens SUGGESTION
- As correções de maior impacto são: desabilitar login root via SSH, habilitar firewall, instalar auditd e aplicar hardening do kernel via sysctl
- O Lynis é somente leitura — nunca modifica seu sistema; todas as alterações são aplicadas manualmente
- Use
--profilepara suprimir falsos positivos específicos do seu ambiente - Agende execuções semanais via cron para manter sua pontuação de hardening ao longo do tempo conforme o sistema muda
- Para conformidade empresarial (CIS, DISA STIG), combine o Lynis com OpenSCAP ou Wazuh