Hardening de servidores Linux em produção: o checklist que reduz a superfície de ataque
Um servidor Linux recém-provisionado não é seguro por padrão. Serviços desnecessários rodando, portas abertas, configurações permissivas de SSH e ausência de auditoria de sistema são vetores de ataque reais que hardening sistemático elimina.
Por que o padrão não é seguro
Distribuições Linux de uso geral são configuradas para conveniência, não para segurança. A filosofia de "funcionar imediatamente para o maior número de casos de uso" resulta em serviços habilitados por padrão que a maioria dos servidores de produção não precisa, configurações de SSH que aceitam autenticação por senha, ausência de logging de atividade de sistema e nenhum mecanismo de detecção de intrusão ativo.
Hardening é o processo sistemático de reduzir a superfície de ataque: remover o que não é necessário, restringir o que não pode ser removido, monitorar o que precisa existir. O CIS Benchmark (Center for Internet Security) é o padrão de referência mais amplamente adotado para hardening de Linux — disponível gratuitamente para Ubuntu, CentOS, RHEL e Amazon Linux.
SSH hardening: o primeiro vetor a proteger
SSH é o serviço de administração mais crítico em qualquer servidor Linux e o alvo mais frequente de ataques de força bruta automatizados. As configurações que fazem a diferença no arquivo /etc/ssh/sshd_config:
- Desabilitar autenticação por senha —
PasswordAuthentication no. Autenticação apenas por chave pública elimina ataques de força bruta por senha. - Desabilitar login de root via SSH —
PermitRootLogin no. Acesso privilegiado deve ser obtido via sudo após login com usuário não-privilegiado. - Restringir usuários autorizados —
AllowUsers usuario1 usuario2. Apenas usuários explicitamente listados podem autenticar. - Mudar a porta padrão — portas diferentes da 22 eliminam a maioria dos scanners automatizados que varrem apenas a porta padrão.
- Habilitar autenticação de dois fatores — integração com
libpam-google-authenticatorou TOTP para acesso SSH com MFA.
Firewall com iptables/nftables e fail2ban
Um servidor de produção deve aceitar tráfego apenas nas portas estritamente necessárias para sua função. A política padrão deve ser deny all, com regras explícitas de permissão para cada porta necessária:
- Porta da aplicação (80, 443 ou porta customizada)
- SSH — restrito por IP de origem quando possível (VPN, bastion host)
- Qualquer integração necessária com outros serviços internos
fail2ban complementa o firewall com detecção de padrões de ataque: monitora logs de autenticação e bloqueia automaticamente IPs que excedem o número configurado de tentativas falhas. Configuração básica protege SSH, mas regras customizadas podem proteger qualquer serviço que gera logs de autenticação.
auditd: logging de atividade de sistema
O auditd (Linux Audit Daemon) registra eventos de sistema com granularidade que logs de aplicação não oferecem: execução de comandos, mudanças de permissão de arquivo, uso de sudo, tentativas de acesso negadas, mudanças de configuração de rede. Em ambientes regulados (PCI-DSS, ISO 27001), esses logs são evidência de controle obrigatória.
Regras essenciais de auditoria a configurar: monitorar escrita em /etc e /bin, execução de binários privilegiados, uso de su e sudo, e mudanças de permissão de arquivos sensíveis.
Serviços desnecessários e o princípio da superfície mínima
Cada serviço rodando em um servidor é uma superfície potencial de ataque. O processo de hardening inclui mapear todos os serviços ativos (systemctl list-units --type=service --state=active), identificar os que não são necessários para a função do servidor e desabilitá-los. Serviços comuns que frequentemente podem ser desabilitados em servidores de produção: bluetooth, avahi-daemon, cups, rpcbind.
Próximo passo
Seus servidores de produção estão endurecidos contra os vetores de ataque mais comuns?
A rune.dev conduz hardening de servidores Linux com base no CIS Benchmark e documenta os controles aplicados para fins de auditoria e compliance.
Falar com um especialista →Precisa de apoio técnico no seu ambiente?
Diagnóstico sem compromisso. Retorno em até 48h úteis.