Hardening de servidor Linux: boas práticas
Hardening é o processo de reduzir a superfície de ataque de um sistema: remover o que não é necessário, restringir o que fica e monitorar tudo. Depois do básico (SSH por chave, firewall, atualizações), veja como ir além.
1. Minimize o que está instalado
Cada serviço é uma possível porta de entrada.
systemctl list-units --type=service --state=running
sudo ss -tulpn
Desative o que não usa:
sudo systemctl disable --now nome-do-servico
2. Serviços escutando apenas onde precisam
Bancos de dados, Redis e painéis internos devem escutar em 127.0.0.1:
- MySQL/MariaDB:
bind-address = 127.0.0.1; - Redis:
bind 127.0.0.1 ::1eprotected-mode yes; - Aplicações Node/Python: escutar em localhost atrás de um proxy reverso.
3. Ajustes de kernel (sysctl)
Crie /etc/sysctl.d/99-hardening.conf:
# Proteções de rede
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Restrições de informação do kernel
kernel.kptr_restrict = 2
kernel.dmesg_restrict = 1
Aplique:
sudo sysctl --system
Se o servidor funciona como roteador ou VPN, revise opções de encaminhamento (
ip_forward) antes de aplicar.
4. Permissões e partições
- Nada de
chmod 777; - Arquivos de configuração com credenciais:
chmod 600ou640; - Considere montar
/tmpcomnoexec,nosuid,nodevquando compatível com suas aplicações.
5. Isolamento de aplicações
- Um usuário de sistema por aplicação;
- Em serviços systemd, use diretivas de sandbox:
[Service]
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/lib/meuapp
Avalie o nível de exposição com:
systemd-analyze security nome-do-servico
- Containers (Docker/Podman) também ajudam a isolar, desde que não rodem como
--privilegedsem necessidade.
6. Controle de acesso obrigatório
Mantenha o SELinux (AlmaLinux/Rocky) ou o AppArmor (Ubuntu/Debian) ativos. Desativá-los para "resolver" um problema remove uma camada importante de proteção.
getenforce # SELinux
sudo aa-status # AppArmor
7. Auditoria e integridade
- Lynis: auditoria geral com recomendações;
- AIDE: detecta alterações em arquivos do sistema;
- auditd: registra eventos sensíveis (alterações em
/etc/passwd, uso de sudo).
sudo apt install lynis -y && sudo lynis audit system
8. Senhas e contas
- Bloqueie contas sem uso;
- Revise quem está nos grupos
sudo/wheel; - Defina políticas de senha para usuários que as usam (ex.:
pam_pwquality).
9. Logs protegidos
Envie logs importantes para outro servidor ou serviço. Um invasor com root pode apagar logs locais.
10. Revise periodicamente
Hardening não é evento único. Agende revisões trimestrais: portas abertas, usuários, serviços, atualizações e resultado do Lynis.
Conclusão
Cada camada de hardening torna seu servidor um alvo mais difícil.Construa seu ambiente seguro em um VPS-NVME-BR da VittHost, com acesso root completo — e use o cupom SP-VITT20 para ganhar 20% de desconto na primeira fatura enquanto a promoção estiver ativa.