Tutoriais

Hardening de servidor Linux: boas práticas

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 ::1 e protected-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 600 ou 640;
  • Considere montar /tmp com noexec,nosuid,nodev quando 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 --privileged sem 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.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS