as 14 coisas que a gente confere antes de dizer que um site foi entregue
a revisão de segurança pré-lançamento que a gente roda em toda entrega, escrita para que um não especialista consiga rodar também.
Toda entrega nossa é atacada por nós antes de a gente dar por pronta. A gente percorre a lista abaixo à mão em vez de apontar um scanner para ela. Está incluído no preço, porque entregar algo quebrável não é trabalho terminado.
Você não precisa ser especialista para percorrer isso com o seu próprio desenvolvedor. Se você tem um site no ar agora que nunca foi conferido, é uma tarde de trabalho razoável.
Acesso e identidade
- Um usuário consegue chegar aos dados de outro mudando um número na URL? Entre com duas contas e tente. Essa é a falha grave mais comum que a gente encontra, e geralmente está em um endpoint de fatura, pedido ou documento que confere se você está logado mas nunca confere quem você é.
- A área administrativa aplica verificação de perfil em toda rota, incluindo a API? Esconder o link não é um controle. Faça a requisição ao endpoint administrativo diretamente como um usuário comum e veja o que volta.
- Tokens de redefinição de senha expiram, e são de uso único? Peça uma redefinição, espere um dia, use o link antigo. Depois use duas vezes.
- Autenticação de dois fatores está disponível nas contas administrativas, e é obrigatória? Disponível mas opcional significa desligada.
- Um funcionário removido perde acesso em todo lugar? Percorra o seu último desligamento: email, console de nuvem, git, hospedagem, banco de dados, gerenciador de senhas, painéis de terceiros.
Entrada e saída
- As consultas ao banco de dados são parametrizadas em todo lugar? Procure concatenação de string em consultas. Qualquer ocorrência é um achado até prova em contrário.
- Conteúdo de usuário é escapado ao ser renderizado? Poste
<img src=x onerror=alert(1)>em todo campo que é exibido de volta, incluindo nomes, observações e nomes de arquivo. - Uploads de arquivo são restritos por tipo de conteúdo real, tamanho e local de armazenamento? Verificação de extensão é trivialmente contornável. Arquivos enviados nunca devem ser executáveis e nunca devem ficar na raiz web.
- Existe limite de taxa no login, na redefinição e em qualquer endpoint que envia email ou custa dinheiro? Sem isso, credential stuffing e estourar a sua conta são de graça.
Segredos e configuração
- Há credenciais no histórico do git? Os arquivos atuais não são a história toda, então procure no histórico também. Se encontrar uma, trocar a chave importa mais do que apagar o commit.
- Buckets de armazenamento, portas de banco de dados e painéis administrativos são privados? Backups em um bucket público é um clássico, e entrega tudo de uma vez.
- As páginas de erro são genéricas em produção? Stack traces, versões de framework e erros de SQL são reconhecimento de graça.
Transporte e dependências
- HTTPS é forçado em todo lugar, com HSTS, cookies seguros e uma
Content-Security-Policysensata? Confira se o redirecionamento acontece também nas varianteswwwe domínio nu. - As dependências estão atualizadas, e algo está vigiando elas? Rode uma auditoria hoje, depois automatize. A maioria dos comprometimentos reais vem de uma vulnerabilidade conhecida em um pacote que ninguém atualizou.
E duas que não estão na lista mas deveriam
Você restaurou um backup recentemente? Um backup que você nunca restaurou é uma hipótese. Teste a restauração, cronometre, e anote quanto tempo levou.
Você sabe para quem ligar às 23h? Escreva, com antecedência: quem corta o acesso, quem fala com os clientes, quem decide se o site sai do ar. O meio de um incidente é uma hora ruim para descobrir isso.
O que isso não cobre
Isso é uma checagem de sanidade pré-lançamento, não um pentest. Não vai encontrar abuso de lógica de negócio, exploits encadeados ou qualquer coisa que exija esforço criativo sustentado contra a sua aplicação específica, e essa é a categoria de onde vem a maioria dos vazamentos. Trate como o piso, não como o teto.
Quando você quiser o teto, nossa frente de segurança roda pentests completos com escopo fixo, um relatório que sua diretoria consegue ler, e um reteste grátis depois que você corrigir. Peça um escopo.