A resposta curta: se uma chave de API, um token ou o segredo de um webhook apareceu onde não devia (um repositório público, um arquivo dentro do site, uma captura de tela, um e-mail, uma conversa), trate-o como roubado. Revogue-o e crie outro, antes de tudo o resto. Apagar a mensagem ou o arquivo não chega, porque o segredo já pode ter sido copiado. Depois veja se alguém o usou e feche o buraco por onde saiu. Para quem gerencia um site ou uma aplicação ligada a pagamentos, SMS, IA, e-mail ou ao próprio cPanel.
Onde os segredos costumam ficar à vista
| Onde |
Por que é grave |
| Num repositório Git, mesmo que o tenha apagado no envio seguinte |
O histórico guarda todas as versões. Há programas que percorrem os repositórios públicos à procura de chaves. |
| No JavaScript ou no HTML do site |
Qualquer visitante o vê no código-fonte da página. |
| Num .env, numa cópia (.bak, .old, .zip) ou num dump .sql dentro da pasta pública |
Basta adivinhar o nome do arquivo. Veja os arquivos que nunca devem ser públicos. |
| Em registros de erros ou em páginas de erro com o modo de depuração ligado |
Algumas mensagens de erro mostram a configuração ou os cabeçalhos do pedido, com a chave lá dentro. |
| Em capturas de tela, vídeos, e-mails, conversas e pedidos de suporte |
Ficam guardados em lugares que não controla, e são reencaminhados. |
O que fazer, por esta ordem
| 1 |
Revogue ou troque o segredo no painel do serviço (operador de pagamentos, SMS, IA, e-mail). Se o serviço deixa ter duas chaves activas, crie a nova, ponha-a na aplicação e revogue a antiga logo a seguir. Se não deixa, revogue já e aceite que a integração pára até pôr a nova. Para os tokens do cPanel, veja os tokens de API do cPanel.
|
|
| 3 |
Reveja o que foi feito com ele. No painel do serviço, procure pedidos, gastos, mensagens, pagamentos ou reembolsos que não reconhece, desde o momento em que o segredo ficou exposto. Se encontrar, contate o serviço com essas datas.
|
|
| 4 |
Troque também o que estava ao lado. No mesmo arquivo costumam estar a senha da base de dados, a do SMTP e o segredo dos webhooks. Se foi o arquivo inteiro que ficou à vista, troque tudo o que lá estava.
|
|
| 5 |
Feche o buraco. Tire o arquivo da pasta pública ou bloqueie-o, e ponha os arquivos de segredos no .gitignore antes do próximo envio: .env *.env config/secrets.php Para saber em que envios a chave aparece no histórico, procure por um pedaço dela: git log -p -S "PART_OF_THE_KEY" --all Limpar o histórico ajuda, mas não substitui o primeiro passo.
|
|
| 6 |
Reduza o estrago da próxima vez: uma chave por projeto, com as permissões mínimas, limites de gasto e, se o serviço deixar, restrição aos endereços IP que a podem usar. Assim, revogar uma não pára as outras.
|
|
|
Não continue a usar o segredo antigo «porque ninguém deve ter visto». A procura de chaves expostas é automática e constante, em repositórios públicos e em sites. E nunca cole o segredo novo num pedido de suporte, num e-mail ou numa conversa: quem precisa de o pôr na aplicação lê-o do painel do serviço.
|
|
Precisa de ajuda para descobrir onde o segredo ficou exposto na sua hospedagem? Abra um pedido dizendo qual era o arquivo ou a pasta, sem colar o segredo.
Abrir pedido de suporte
|
PRODUTO RECOMENDADO Hospedagem de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom) Ver planos |