Verificação de HTTPS e de cabeçalhos de segurança

Verifique HTTPS e cabeçalhos de segurança: URLs http, conteúdo misto, HSTS ausente, formulários e subrecursos inseguros, além de uma nota dos cabeçalhos de uma única URL.

O que faz

Por URL

O security-check envia uma requisição GET comum. Ele lê os cabeçalhos de resposta, as flags dos cookies e o redirecionamento de http para https. Seis cabeçalhos de segurança geram uma pontuação de 0 a 100 e uma nota de A a F, e os cabeçalhos que revelam a versão do servidor são apontados. O headers-check mostra o conjunto completo de cabeçalhos.

  • HSTS, CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy e Permissions-Policy
  • Flags de cookie: Secure e SameSite
  • Se o http redireciona para https
  • Verificação opcional de caminhos, desligada por padrão

Em um rastreamento

Em um rastreamento, cada página é verificada quanto a recursos http, formulários que enviam para http, links http e cabeçalhos de segurança ausentes. Os problemas são por página, com a URL que os causa.

  • Conteúdo misto e subrecursos inseguros
  • Formulários que enviam para uma ação http://
  • Links internos http:// em páginas https
  • HSTS, CSP, X-Content-Type-Options, X-Frame-Options e Referrer-Policy ausentes

Caminhos expostos

Com a flag --probe-paths, o security-check também pergunta se caminhos de serviço, como .git ou .env, respondem. É uma etapa extra intencional e vem desligada por padrão, porque até uma requisição somente leitura a outro site deve ser uma escolha. Não é um teste de invasão.

  • Desligado por padrão
  • Execute somente com --probe-paths
  • Só para sites que você tem permissão para testar

Três passos, um rastreamento salvo

  1. Leia a resposta de uma URL

    O security-check envia uma única requisição GET e lê os cabeçalhos de resposta, as flags dos cookies e o redirecionamento de http para https.

  2. Pontue seis cabeçalhos de segurança

    HSTS, CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy e Permissions-Policy geram uma pontuação de 0 a 100 e uma nota de A a F.

  3. Sinalize conteúdo misto no rastreamento

    No rastreamento, cada página é verificada quanto a recursos http, destinos de formulário inseguros e cabeçalhos de segurança ausentes ou repetidos.

Verificações deste recurso

VerificaçãoO que significaGravidadeEvidência
FORM_URL_INSECUREUm formulário envia para uma ação http://, então os dados enviados não são criptografadosCriticalURL de ação do formulário na página
HTTP_URLA URL é servida por http em vez de httpsImportantURL da página
MIXED_CONTENTUma página https carrega um recurso por httpImportantURL da página e URL do recurso http
INSECURE_SUBRESOURCEUma página https carrega uma imagem, um script ou uma folha de estilo por httpImportantURL do recurso e página que o referencia
MISSING_HSTSA página não envia o cabeçalho Strict-Transport-SecurityTipCabeçalhos de resposta da página
MISSING_CSPUma página HTML não envia o cabeçalho Content-Security-PolicyTipCabeçalhos de resposta da página
MISSING_X_FRAME_OPTIONSA página não tem X-Frame-Options nem a diretiva frame-ancestors da CSPTipCabeçalhos de resposta da página
DUPLICATE_SECURITY_HEADERUm cabeçalho de segurança é enviado mais de uma vez na mesma respostaTipNome do cabeçalho e a resposta que o repete
Também no registro de verificações
HTTP_LINK_ON_HTTPSMISSING_X_CONTENT_TYPE_OPTIONSMISSING_REFERRER_POLICY

Um comando

bash
seohead security-check --url https://example.com/

Instale primeiro: guia de instalação. Todo comando também funciona como ferramenta MCP para agentes de IA.

O que você precisa

  • Uma URL da página para o security-check
  • Um rastreamento para as verificações no nível da página
  • Permissão para testar o site, se você usar --probe-paths

Limites

  • Ela verifica se o cabeçalho existe, não se o valor é forte
  • Uma URL gera uma resposta: outras páginas podem enviar outros cabeçalhos
  • Não é um teste de invasão nem uma varredura de vulnerabilidades
  • O Permissions-Policy é avaliado pelo security-check, mas não aparece como problema de rastreamento

Perguntas

Isso muda alguma coisa no meu site?
Não. O security-check envia requisições GET comuns e lê o que o site já envia. A busca por caminhos como .git ou .env vem desligada por padrão e roda só com --probe-paths.
Como a nota é calculada?
Cada cabeçalho soma pontos: HSTS 20, CSP 20, X-Content-Type-Options 15, X-Frame-Options 15, Referrer-Policy 15 e Permissions-Policy 15. 90 ou mais é A, 75 é B, 60 é C, 40 é D, 20 é E, e qualquer valor abaixo disso é F. Uma diretiva frame-ancestors da CSP conta para o X-Frame-Options.
Ele verifica o valor dos cabeçalhos?
Não. Ele verifica se cada cabeçalho está presente. Uma CSP fraca, mas presente, ainda recebe a pontuação integral.
Um único comando roda todas as verificações desta lista?
Não. O security-check cobre uma URL. As verificações de página desta lista vêm de um rastreamento e aparecem por página nos resultados do rastreamento.
Posso ver os cabeçalhos de um rastreamento salvo?
Sim. O headers-analyze lê os cabeçalhos de resposta com dados sensíveis ocultados, guardados em um scan salvo, sem enviar nenhuma requisição, e reporta problemas de cabeçalhos de segurança.

Teste no seu próprio site