Pular para o conteúdo
>_ITDITDPlataforma de Segurança Web

Guias de Segurança

Fundamentos de segurança: o que é de fato perigoso em .env e chaves de API

Um primeiro passo para desenvolvedores indie que vivem ouvindo 'segurança importa' mas não sabem por onde começar. O que é o .env, o que acontece quando uma chave de API vaza (com um diagrama de fluxo) e os quatro hábitos mínimos que você pode adotar hoje — explicado de forma simples, sem medo, na prática.

Publicado 2026-06-07 Atualizado 2026-06-07 4 min de leitura

"Vivo ouvindo que segurança importa, mas por onde eu sequer começo?" Este é o primeiro passo para desenvolvedores indie. Não para te assustar — só coisas em que você pode agir hoje, em ordem.

Por que começar pelos "segredos"

A maioria dos incidentes reais começa não com ataques sofisticados, mas com um segredo vazado. Os dois casos sobre os quais este site foi construído eram ambos vazamentos de segredo:

Proteja seus segredos e você previne a maioria dos incidentes comuns. Por isso começamos aqui.

O que é o .env (em 30 segundos)

O .env é um arquivo que reúne os valores secretos do seu app: a senha do banco de dados, chaves de API externas, a chave que criptografa as sessões. Como as chaves ficam juntas num arquivo só, um vazamento derrama todas de uma vez — então é o arquivo a proteger primeiro (→ Glossário: O que é o .env).

O que significa um vazamento de chave de API

Uma chave de API é "uma chave reserva para usar um serviço como se fosse você." Em mãos erradas, ela encadeia assim.

① A chave de API vaza (diretório público, commit no git ou via uma vulnerabilidade)
↓ com atraso (dias+)
② Um terceiro usa o serviço externo "como você"
③ Cobrança fraudulenta / leitura-escrita de dados / personificação
Silencioso no começo. Abusado com atraso — então um dia surge uma fatura ou uma invasão.

Chaves roubadas são frequentemente revendidas e abusadas com atraso — "nada acontece no começo, depois uma fatura surpresa" é o padrão clássico. Então "depois que você nota" é tarde demais; o ponto é não vazá-las logo de início.

Quatro hábitos para começar hoje

Nada difícil. Só estes quatro.

1

Não o exponha

Nunca coloque o .env ou o corpo do app num diretório visível pela web (a raiz web). Exponha só o public/. Passos concretos para hospedagem compartilhada: este guia.

2

Não o comite

Adicione .env* ao .gitignore (permita !.env.example); compartilhe só um exemplo sem valores. Uma vez comitado, é recuperável do histórico, então mantenha-o fora desde o início.

3

Rotacione tudo se vazar

Não só uma chave — rotacione todo segredo que poderia ter vazado. Ordem: API externa / OAuth → chaves de criptografia → e-mail → DB. Aja como se tivessem sido vistos.

4

Autoverifique

De vez em quando confirme que /.env não pode ser aberto de fora (abaixo).

Autoverificação (só contra domínios que você possui)

# Um 200 com corpo significa que está exposto. 403/404 está ok por enquanto.
curl -sI https://seu-dominio/.env | head -1
curl -sI https://seu-dominio/.git/config | head -1

Verificar isto a cada deploy pega erros de posicionamento cedo.

Erros comuns vs o primeiro passo certo

Comum

  • "Funciona", então jogar o .env bem embaixo de public
  • "Apago depois", então comitar o .env uma vez
  • Rotacionar só a única chave que você viu sendo abusada

O primeiro passo certo

  • Corpo do app fora da raiz web, expor só public/
  • Excluir o .env via .gitignore desde o início
  • Se vazar, rotacionar todo segredo do env

Próximos passos

A partir daqui, os próximos tópicos são "os padrões arriscados na sua stack" e "um sistema para não ficar para trás nos CVEs publicados". Sem pressa, um de cada vez.

Leia a seguir

FAQ

QPor onde devo começar com segurança?
A

Por não vazar seus segredos (.env e chaves de API). A maioria dos incidentes reais começa aí. Não os exponha, não os comite no git, rotacione tudo se vazarem e faça autoverificação de vez em quando — isso previne a maioria.

QO que concretamente acontece se uma chave de API vaza?
A

Alguém pode agir como você contra um serviço externo. Os desfechos comuns são cobrança fraudulenta (uso pesado cobrado de você) e leitura/escrita dos seus dados. Chaves roubadas são frequentemente revendidas e abusadas com atraso.

QPosso colocar o .env no git?
A

Não. Adicione .env* ao .gitignore e compartilhe só um .env.example sem valores. Uma vez comitado, ele pode ser recuperado do histórico do git mesmo depois que você o apaga.