Toda organização que executa servidores Linux precisa de uma abordagem sistemática para segurança. As ameaças são constantes — bots automatizados escaneando portas SSH abertas, vulnerabilidades sendo exploradas horas após a divulgação e credenciais comprometidas sendo vendidas na dark web. Este checklist fornece ações concretas e priorizadas para proteger seus servidores Linux, cobrindo desde a configuração inicial até monitoramento contínuo.
Use este guia como um checklist funcional. Cada seção inclui os comandos exatos que você precisa executar e explica por que cada medida é importante.
1. Atualizações do Sistema e Patching Automático
A medida de segurança mais fundamental é manter seu sistema atualizado. A maioria dos ataques bem-sucedidos explora vulnerabilidades conhecidas que já têm patches disponíveis.
# Atualizar lista de pacotes e atualizar todos os pacotes
sudo apt update && sudo apt upgrade -y
# Instalar atualizações automáticas de segurança
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
Ative atualizações automáticas de segurança editando /etc/apt/apt.conf.d/50unattended-upgrades:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "03:00";
2. Hardening SSH
O SSH é o vetor de ataque mais comum para servidores Linux. Consulte nosso guia dedicado de Hardening SSH para os 12 passos completos. Aqui está o resumo:
# /etc/ssh/sshd_config - configurações essenciais
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
Protocol 2
3. Configuração de Firewall com UFW
# Definir políticas padrão
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Permitir SSH (ajuste a porta se você mudou)
sudo ufw allow 22/tcp comment 'SSH'
# Permitir serviços web se necessário
sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'
# Habilitar o firewall
sudo ufw enable
# Verificar status
sudo ufw status verbose
4. Fail2ban
sudo apt install fail2ban -y
sudo tee /etc/fail2ban/jail.local << 'EOF'
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 3
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
EOF
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
5. Gerenciamento de Usuários e Privilégios
# Criar um usuário administrador dedicado
sudo adduser admin
sudo usermod -aG sudo admin
# Desabilitar conta root
sudo passwd -l root
# Auditar usuários com acesso sudo
grep -Po '^sudo.+:\K.*$' /etc/group
6. Hardening de Rede do Kernel
Aplique parâmetros de rede do kernel para proteção contra ataques comuns:
sudo tee /etc/sysctl.d/99-security.conf << 'EOF'
# Proteção contra IP spoofing
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Desabilitar redirecionamentos ICMP
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
# Proteção contra SYN flood
net.ipv4.tcp_syncookies = 1
# Ignorar broadcasts ICMP
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Log de pacotes suspeitos
net.ipv4.conf.all.log_martians = 1
EOF
sudo sysctl -p /etc/sysctl.d/99-security.conf
7. Monitoramento de Integridade de Arquivos
# Instalar AIDE (Advanced Intrusion Detection Environment)
sudo apt install aide -y
# Inicializar o banco de dados
sudo aideinit
# Executar verificação de integridade
sudo aide --check
8. Desabilitar Serviços Desnecessários
# Listar serviços em execução
systemctl list-units --type=service --state=running
# Desabilitar serviços desnecessários
sudo systemctl disable --now cups
sudo systemctl disable --now avahi-daemon
sudo systemctl disable --now bluetooth
9. Configuração de Auditoria
sudo apt install auditd -y
sudo systemctl enable auditd
# Monitorar mudanças em arquivos críticos
sudo auditctl -w /etc/passwd -p wa -k identity
sudo auditctl -w /etc/shadow -p wa -k identity
sudo auditctl -w /etc/ssh/sshd_config -p wa -k sshd_config
10. Backups e Recuperação
Nenhuma estratégia de segurança está completa sem backups. Certifique-se de que você tem:
- Backups automatizados regulares
- Backups armazenados fora do servidor
- Testes regulares de restauração
- Backup criptografado para dados sensíveis
Conclusão
Segurança não é um evento único — é um processo contínuo. Use este checklist como ponto de partida e revise sua postura de segurança regularmente. As medidas mais impactantes são manter o sistema atualizado, usar autenticação por chave SSH e configurar um firewall adequadamente. Implemente cada camada progressivamente e teste cada mudança antes de prosseguir.
Para tópicos relacionados, explore nossos artigos sobre hardening SSH e configuração de VPN WireGuard.