Guias de Segurança
A base de segurança para devs independentes e pequenos operadores: o conjunto-padrão completo
Checklist de base de segurança para dev independente e pequeno operador: os controles padrão do setor em um só lugar — MFA, higiene de segredos, monitoramento de CVE e backups —, ordenados de 'chaves do reino' a 'detectar e recuperar'.
Para: devs independentes e pequenos operadores que não têm certeza de "qual é o mínimo" em segurança. Nenhum passo de ataque aqui — só a base considerada padrão do setor, em ordem de prioridade. Cada item liga para um artigo mais profundo, então você pode começar aqui e ler só o que precisar.
A visão deste site: não 'fazer tudo', mas 'preencher nesta ordem'
Uma pessoa só ou um time pequeno não consegue fazer tudo de uma vez — e é exatamente por isso que a ordem é tudo. Se a camada do topo, as "chaves do reino", for sequestrada, todo controle abaixo dela perde o sentido (o atacante reinicia tudo como se fosse você). Preencha da base para cima e você corta ao máximo sua probabilidade de incidente para o tempo que tem. Este artigo foi escrito não como conhecimento exaustivo, mas como um mapa que permite decidir na hora o que preencher a seguir.
Nível 0 — chaves do reino
MFA · domínio · DNS · e-mail · pagamento
Nível 1 — segredos e código
manter segredos fora do git · detecção pré-commit · separação/rotação de chaves
Nível 2 — o próprio app
validação de entrada · auth/sessão · TLS/cabeçalhos · autenticação de e-mail
Nível 3 — corrigir, detectar, recuperar
CVEs de dependências · atualizações de SO · SSH/FW · logs · backups
Nível 0 — proteja as chaves do reino (primeiro)
Esta é a premissa de tudo o mais. Se seu domínio, e-mail ou painel de hospedagem for sequestrado, todo outro controle é anulado. O atacante redefine senhas como você, reescreve o DNS, entra no seu servidor. Então é isto que você tranca primeiro.
Implante MFA resistente a phishing
Trate o e-mail como a 'chave-mãe', guarde-o com mais rigor
Guarde os códigos de recuperação e backup com segurança
Separe contas para reduzir pontos únicos de falha
Nível 1 — não vaze segredos nem código
O incidente fundador deste site, e muitos por aí, vêm de uma falha aqui: segredos como arquivos .env e chaves de API escorregando para o código ou um repositório público.
Mantenha segredos fora do código-fonte e da documentação
.env e exclua-os do git (.gitignore). Não escrevê-los de jeito nenhum é o controle mais forte.Barre segredos por máquina antes do commit
Se vazou, presuma que vazou TUDO — rotacione tudo
Restrinja bem o escopo dos tokens e mantenha-os de vida curta
Auto-hospedando Git? Cuidado extra
Auto-hospedar porque o "público acidental" do GitHub te assusta não elimina o commit acidental. Sem nenhum bloqueio de segredos embutido do GitHub, um hook de segredos pré-commit é obrigatório no auto-hospedado. Veja Git auto-hospedado vs. GitHub: qual é mais seguro.
Nível 2 — fortaleça o próprio app
O mínimo para a aplicação web que você expõe. O ponto não é deter ataques inéditos, mas fechar os buracos comuns e bem conhecidos. Este site reformula cada um em defesa nas páginas do glossário.
Nunca confie na entrada (feche os buracos clássicos)
Acerte autenticação, sessão e acesso
Faça o TLS e os cabeçalhos de segurança valerem
Previna falsificação de e-mail
Nível 3 — corrigir, detectar, recuperar
A base para "manter o dano pequeno e recuperar rápido mesmo após uma invasão." O monitoramento de dependências como o osv-scanner vive aqui.
Monitore CVEs de dependências por máquina, continuamente
Atualize o SO e o servidor automaticamente
Fortaleça o SSH e o firewall
Menor privilégio para encolher o raio da explosão
Backups 3-2-1 + uma restauração testada
Mantenha logs para conseguir notar anomalias
Por onde começar
"Tudo, agora mesmo" não é realista. Compare a ordem que as pessoas tendem a seguir com a que este site recomenda.
A ordem que as pessoas tendem a seguir (ineficiente)
- começar pelo trabalho chamativo de vulnerabilidades de aplicação
- deixar o MFA para "depois" indefinidamente
- ter backups mas nunca ter tentado uma restauração
- segredos estão no
.envmas não há hook de detecção
A ordem que este site recomenda
- Nível 0: tranque as chaves do reino primeiro (MFA, e-mail, domínio)
- Nível 1: deter vazamentos de segredos estruturalmente (detecção pré-commit + política de rotacionar tudo)
- Nível 2: feche os buracos clássicos do app
- Nível 3: chegue ao "recuperável" com monitoramento de dependências, atualizações, backups com restauração testada
Este site também se defende nesta ordem
Este site aplica esta mesma base a si: um servidor dedicado sem co-locação (separação do raio de explosão) / uma chave distinta por host / segredos nunca no git ou na documentação / monitoramento de CVE de dependências antes de cada deploy e diariamente / backups externos para um servidor separado / requisições externas por uma fronteira de segurança. Um site que ensina segurança não pode ter buracos próprios — então rodamos esta ordem de prioridade em nós mesmos primeiro. Nosso incidente fundador, também, veio não de um ataque inédito, mas de uma única falha nesta base. Por isso continuamos dizendo: a base antes do trabalho chamativo.
Leia a seguir
- Versão de organização / time: a base de segurança para organizações de médio a grande porte
- Auto-hospedagem: Git auto-hospedado vs. GitHub: qual é mais seguro
- Dependências: instalando e usando o osv-scanner · não ficar para trás nos CVEs
- Segredos: arquivos .env e segredos · incidente uma chave vazou e gerou cobrança fraudulenta
- Ferramentas: verificação de cabeçalhos de segurança · verificador de autenticação de e-mail · busca de CVE/KEV
FAQ
QQual o primeiro controle de segurança que um dev independente deveria configurar?
Proteger as 'chaves do reino': coloque MFA resistente a phishing (passkeys/chaves de hardware) no registrador do domínio, DNS, painel de hospedagem, e-mail e contas de pagamento. Se essas forem sequestradas, todo outro controle é anulado — então elas vêm primeiro.
QTodos os controles de base são igualmente importantes?
Não. Há uma ordem clara. Este site recomenda preencher assim: 1) chaves do reino, 2) segredos e código, 3) o próprio app, 4) corrigir/detectar/recuperar. Com recursos finitos, de cima para baixo reduz mais os incidentes.
QMonitorar CVE de dependências conta como base?
Sim. Verificar continuamente, por máquina, as dependências em busca de vulnerabilidades conhecidas com osv-scanner ou pnpm audit é hoje padrão do setor. A maioria das invasões sérias vem de buracos conhecidos negligenciados (CVEs), não de ataques inéditos.