fbpx Linux Hardening: 10 Configs de Segurança para Servidor (Guia) | Certificação Linux

Linux Hardening: 10 Configurações de Segurança para Servidor em Produção

📅 19/07/2026 ⏱ 5 min ✍️ Uira Ribeiro
Linux Hardening: 10 Configurações de Segurança para Servidor em Produção
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponível no
Google Play
Disponível na
App Store

Um servidor Linux recém-instalado com root SSH habilitado e sem firewall recebe tentativas de login por força bruta em menos de 5 minutos após ganhar IP público. Este guia cobre as configurações mínimas que todo servidor em produção deve ter.

1. Criar Usuário Não-Root e Configurar sudo

# Criar usuário administrador
sudo adduser deploy

# Adicionar ao grupo sudo (Debian/Ubuntu)
sudo usermod -aG sudo deploy

# Em vez de acesso sudo irrestrito, conceder apenas o necessário
# Editar com visudo (valida sintaxe antes de salvar)
sudo visudo

# Adicionar no final do arquivo /etc/sudoers:
# deploy  ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx, /usr/bin/apt

2. Autenticação SSH com Chaves (Desativar Senha)

# Na sua máquina local, gerar par de chaves (se não tiver)
ssh-keygen -t ed25519 -C "deploy@meuservidor"

# Copiar chave pública para o servidor
ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@SEU_IP

# Testar login com chave antes de desativar senha!
ssh -i ~/.ssh/id_ed25519 deploy@SEU_IP
# No servidor: editar /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
# Configurações de segurança SSH
Port 2222                    # mudar a porta padrão (reduz bots)
PermitRootLogin no           # nunca root direto
PasswordAuthentication no    # somente chaves
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PermitEmptyPasswords no
MaxAuthTries 3
LoginGraceTime 30
ClientAliveInterval 300
ClientAliveCountMax 2
X11Forwarding no
AllowUsers deploy            # whitelist de usuários
sudo sshd -t          # validar config antes de recarregar
sudo systemctl reload sshd

3. Firewall com UFW

sudo apt install ufw -y

# Política padrão: bloquear tudo que entra, liberar tudo que sai
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Liberar apenas o necessário
sudo ufw allow 2222/tcp comment 'SSH'
sudo ufw allow 80/tcp  comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'

# Ativar (confirma com y)
sudo ufw enable

sudo ufw status verbose

4. Fail2ban: Bloqueio Automático por Força Bruta

sudo apt install fail2ban -y

# Criar configuração local (não edite .conf diretamente — será sobrescrita em upgrades)
sudo tee /etc/fail2ban/jail.local <<'EOF'
[DEFAULT]
bantime  = 3600      # banir por 1 hora
findtime = 600       # janela de 10 minutos
maxretry = 5         # máximo de tentativas

[sshd]
enabled = true
port    = 2222       # mesma porta do seu sshd_config
logpath = %(sshd_log)s
backend = %(sshd_backend)s
EOF

sudo systemctl enable --now fail2ban

# Ver IPs banidos
sudo fail2ban-client status sshd

5. Atualizações Automáticas de Segurança

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

# Verificar configuração
cat /etc/apt/apt.conf.d/20auto-upgrades
# Deve conter:
# APT::Periodic::Update-Package-Lists "1";
# APT::Periodic::Unattended-Upgrade "1";

6. Desativar Serviços Desnecessários

# Ver serviços ativos
systemctl list-units --type=service --state=active

# Exemplos de serviços para desativar em servidor headless
sudo systemctl disable --now avahi-daemon    # descoberta de rede local
sudo systemctl disable --now cups            # impressão
sudo systemctl disable --now bluetooth       # bluetooth

# Ver portas abertas
ss -tlnp

7. Configurar sysctl para Hardening de Rede

sudo tee /etc/sysctl.d/99-hardening.conf <<'EOF'
# Desativar redirecionamento de pacotes IP (não é roteador)
net.ipv4.ip_forward = 0

# Proteção contra SYN flood
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048

# Ignorar pings de broadcast
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Proteção contra IP spoofing
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# Não aceitar source routing
net.ipv4.conf.all.accept_source_route = 0

# Desativar magic sysrq (acesso de baixo nível)
kernel.sysrq = 0
EOF

sudo sysctl --system

8. Monitorar Logins e Atividade com auditd

sudo apt install auditd -y
sudo systemctl enable --now auditd

# Regras básicas de auditoria
sudo tee /etc/audit/rules.d/hardening.rules <<'EOF'
# Monitorar logins
-w /var/log/auth.log -p wa -k auth

# Monitorar mudanças em arquivos críticos
-w /etc/passwd   -p wa -k identity
-w /etc/shadow   -p wa -k identity
-w /etc/sudoers  -p wa -k privilege_escalation
-w /etc/ssh/sshd_config -p wa -k sshd

# Monitorar execução de comandos privilegiados
-a always,exit -F arch=b64 -S execve -F euid=0 -k root_commands
EOF

sudo augenrules --load

# Consultar eventos
sudo ausearch -k sshd
sudo ausearch -k privilege_escalation

9. Permissões de Arquivos Críticos

# Verificar arquivos com SUID/SGID (revisar periodicamente)
find / -perm /4000 -o -perm /2000 2>/dev/null | grep -v proc

# Proteger arquivos de senha
sudo chmod 640 /etc/shadow
sudo chmod 644 /etc/passwd

# Remover SUID de binários não essenciais (com cuidado)
# sudo chmod u-s /usr/bin/at    # se não usar at jobs

# Arquivos sem dono são risco — encontrar e corrigir
sudo find / -nouser -o -nogroup 2>/dev/null | grep -v proc

10. Checklist Rápido Antes de Ir para Produção

  • ✅ Usuário não-root criado e testado
  • ✅ SSH na porta alternativa, root desabilitado, senha desabilitada
  • ✅ Login por chave SSH testado (antes de fechar a sessão atual!)
  • ✅ UFW ativo — apenas portas necessárias abertas
  • ✅ Fail2ban configurado e ativo
  • ✅ Atualizações automáticas de segurança habilitadas
  • ✅ Serviços desnecessários desativados
  • ✅ sysctl de rede aplicado
  • ✅ auditd rodando com regras básicas
  • ✅ Backup testado e restauração verificada

Hardening e a Certificação Linux

Segurança de servidores Linux é cobrada no LPIC-2 (tópico 212) e no CompTIA Linux+ (domínio Security). Mas mais do que passar na prova, aplicar hardening em ambientes reais é o que diferencia um sysadmin que "faz funcionar" de um que "faz funcionar de forma segura" — e é o que as vagas de SRE e DevOps exigem.

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Depois de anos vendo profissionais perderem horas em tarefas simples por não conhecer as ferramentas certas do Linux, decidi ensinar.
Hoje sou autor da maioria dos Materiais de Aprendizado oficiais da LPI e mentor de mais de 14.000 alunos certificados.

Conheça minha história completa →

Isso foi só uma peça. O curso ensina o caminho completo — do primeiro comando ao dia da prova.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp