Hardening de servidor Linux
Endurecimento de um servidor Debian seguindo o CIS Benchmark, com auditoria antes e depois usando Lynis.
Laboratório de estudo em ambiente isolado e autorizado, com sistemas próprios ou intencionalmente vulneráveis. Nenhum sistema de terceiros foi testado.
Problema
Instalações padrão deixam serviços, permissões e configurações mais abertos do que o necessário, ampliando a superfície de ataque.
Objetivo técnico
Reduzir a superfície de ataque de um servidor Linux e produzir um checklist reaproveitável.
Como foi feito
Gerar a linha de base com Lynis e registrar os achados.
Endurecer o SSH: só chave, sem login de root e com algoritmos modernos.
Aplicar firewall nftables com política padrão de bloqueio.
Ativar auditd e reter logs de autenticação e de alterações sensíveis.
Remover serviços desnecessários e ativar atualizações automáticas de segurança.
Rodar uma nova auditoria e comparar com a linha de base.
Evidências
PermitRootLogin noPasswordAuthentication noKbdInteractiveAuthentication noPubkeyAuthentication yesMaxAuthTries 3LoginGraceTime 30X11Forwarding noAllowTcpForwarding noKexAlgorithms sntrup761x25519-sha512@openssh.com,curve25519-sha256Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.comtable inet filter { chain input { type filter hook input priority 0; policy drop; ct state established,related accept iif lo accept tcp dport 22 ct state new limit rate 10/minute accept icmp type echo-request limit rate 5/second accept }}Principais aprendizados
- Medir antes de mudar: sem linha de base não há como provar melhoria.
- Hardening é equilíbrio; cada controle precisa caber na operação real do servidor.
- Um checklist versionado vale mais do que um servidor perfeito que ninguém sabe reproduzir.