Pular para o conteúdo
Voltar aos projetos
LaboratórioHardening

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

  1. Gerar a linha de base com Lynis e registrar os achados.

  2. Endurecer o SSH: só chave, sem login de root e com algoritmos modernos.

  3. Aplicar firewall nftables com política padrão de bloqueio.

  4. Ativar auditd e reter logs de autenticação e de alterações sensíveis.

  5. Remover serviços desnecessários e ativar atualizações automáticas de segurança.

  6. Rodar uma nova auditoria e comparar com a linha de base.

Evidências

Camadas tratadas no laboratório, de fora para dentro.
/etc/ssh/sshd_config.d/10-hardening.confbash
PermitRootLogin noPasswordAuthentication noKbdInteractiveAuthentication noPubkeyAuthentication yesMaxAuthTries 3LoginGraceTime 30X11Forwarding noAllowTcpForwarding noKexAlgorithms sntrup761x25519-sha512@openssh.com,curve25519-sha256Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
Trecho da configuração do SSH aplicada no laboratório.

/etc/nftables.confbash
table 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  }}
Política de entrada com bloqueio por padrão e SSH com limite de taxa.

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.