EP01 — Segurança: hardening antes de qualquer deploy
SSH por chave, UFW, fail2ban e usuário deploy. O mínimo antes de colocar qualquer coisa no ar.
O problema
VPS nova, root aberto, sem firewall. Qualquer bot na internet consegue tentar brute force no SSH.
O que fiz
O script setup.sh do EP01 automatiza tudo em sequência:
- Criar usuário
deploycom sudo - Copiar chave SSH e desabilitar login por senha
- Desabilitar root login via SSH
- Instalar e configurar UFW (apenas portas 22, 80, 443)
- Instalar e configurar fail2ban para SSH
ssh root@SEU_IP 'bash -s' < setup.sh
Decisões
- Usuário
deployem vez de root — menor superfície de ataque. Root fica bloqueado via SSH. - Chave SSH sem senha — mais seguro que senha, mais prático que senha + 2FA para automação.
- fail2ban com ban de 1h após 3 tentativas — agressivo o suficiente para bots, tolerante para erros humanos.
Perrengues
O script precisa ser compatível com o que vem depois. No EP02, o Coolify precisa de portas específicas e bridges Docker que o UFW pode bloquear. O setup.sh já considera isso.