Servidores Linux são a espinha dorsal da internet mundial devido à sua estabilidade e segurança inerentes. Porém, nenhum sistema operacional funciona perfeitamente sem manutenção contínua. Sem rotinas preventivas, logs acumulados enchem discos e vulnerabilidades não corrigidas viram vetores de invasão.
Abaixo, apresentamos as principais rotinas recomendadas para manter seus servidores Linux saudáveis.
1. Atualizações de Pacotes de Segurança (Patch Management)
Novas falhas de segurança são descobertas diariamente. Atualizar o kernel e as bibliotecas do sistema é a defesa mais básica e eficiente.
Boas práticas:
- Configure atualizações automáticas apenas para patches críticos de segurança usando ferramentas como o
unattended-upgradesno Ubuntu/Debian. - Teste atualizações de pacotes gerais e de linguagens de programação (como Node.js ou Python) em um ambiente de homologação separado antes de aplicá-los no servidor de produção.
2. Monitoramento Ativo e Limpeza de Disco
O esgotamento de espaço em disco é um dos maiores causadores de quedas de bancos de dados. Se o disco atingir 100% de capacidade, o banco de dados (como PostgreSQL ou MySQL) travará para evitar corrupção de arquivos.
O que fazer:
- Configure rotação automática de logs (
logrotate) para comprimir e deletar logs do sistema e de servidores web após um determinado período. - Monitore constantemente o crescimento do diretório
/var/loge remova pacotes órfãos do gerenciador de pacotes (ex:apt cleanouyum clean all).
3. Hardening e Configuração de Firewalls
Proteger as portas de entrada do servidor reduz drasticamente a chance de ataques de força bruta.
Passos cruciais:
- Altere a porta padrão do SSH: Mudar a porta padrão
22para uma porta alta personalizada reduz mais de 90% das tentativas automatizadas de invasão de bots. - Desative login por senha: Configure o SSH para aceitar conexões exclusivamente via chaves públicas criptográficas (chaves SSH).
- Configure o Fail2Ban: Ferramenta que monitora logs e bloqueia temporariamente na tabela de firewall (iptables/ufw) IPs que tentarem logins errados repetidas vezes.
4. Comandos da rotina semanal
Atualização de segurança no Ubuntu, sem reboot automático. O dry-run mostra o que entraria:
sudo apt install -y unattended-upgrades
sudo systemctl enable --now unattended-upgrades
sudo unattended-upgrade --dry-run
Disco e logs. journalctl --vacuum-time apaga journal mais velho que 14 dias. apt clean tira o cache de pacotes já instalados:
df -h / /var
sudo du -xh /var/log | sort -h | tail
sudo journalctl --vacuum-time=14d
sudo apt clean
sudo logrotate -d /etc/logrotate.d/nginx
logrotate -d simula. Não gira o arquivo. Se o Nginx não está instalado, o caminho não existe e o comando avisa.
SSH só com chave, em um drop-in, sem editar o arquivo principal. Mantenha a sessão atual aberta e teste um segundo login antes de encerrar:
sudo tee /etc/ssh/sshd_config.d/99-hardening.conf >/dev/null <<'EOF'
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
EOF
sudo sshd -t && sudo systemctl reload ssh
Fail2ban lê o log do SSH e bloqueia o IP que erra a chave várias vezes:
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
sshd -t sem saída é a configuração válida. Um erro de sintaxe aqui, se você tivesse reiniciado em vez de recarregar, trancaria o acesso.
Conclusão
Manutenção preventiva não é um gasto de tempo, mas um investimento para evitar prejuízos operacionais. Adotar essas práticas garante que sua aplicação continue online e que as informações do seu negócio estejam seguras de ataques externos.