Scanner de Segurança
Análise completa de segurança web: DNS, SSL, headers, cookies e mais
Perguntas Frequentes
O que é HSTS (Strict-Transport-Security)?
HSTS força navegadores a acessarem o site apenas via HTTPS, protegendo contra ataques man-in-the-middle. Quando o navegador acessa o site pela primeira vez, recebe esse header e memoriza que deve sempre usar HTTPS nas próximas visitas. Configuração recomendada: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload. Parâmetros: max-age define o tempo em segundos (31536000 = 1 ano), includeSubDomains aplica a todos os subdomínios, e preload adiciona à lista de pré-carregamento HSTS do Chrome.
O que é CSP (Content-Security-Policy)?
CSP define de onde o site pode carregar recursos (scripts, imagens, estilos, etc), prevenindo ataques XSS (Cross-Site Scripting). Mesmo que um atacante injete código malicioso no seu site, o CSP impede a execução bloqueando recursos não autorizados. Principais diretivas: default-src (fallback para todas as outras), script-src (de onde pode carregar JavaScript), style-src (CSS), img-src (imagens) e connect-src (URLs para requisições fetch/XHR).
O que é X-Content-Type-Options?
X-Content-Type-Options impede navegadores de 'adivinhar' o tipo MIME de arquivos, prevenindo ataques baseados em MIME sniffing. Navegadores tentam detectar o tipo real de um arquivo mesmo se o servidor enviar Content-Type errado, o que pode executar JavaScript malicioso disfarçado de imagem. Configuração: X-Content-Type-Options: nosniff. Com isso, o navegador respeita exatamente o Content-Type enviado pelo servidor.
O que é X-Frame-Options?
X-Frame-Options protege contra clickjacking ao controlar se o site pode ser exibido dentro de iframes. Um site malicioso pode carregar seu site num iframe invisível e enganar o usuário a clicar em botões sensíveis. Valores possíveis: DENY (nunca pode ser exibido em iframe, mais seguro), SAMEORIGIN (apenas iframes do mesmo domínio) e ALLOW-FROM (domínios específicos, obsoleto). Recomendação: X-Frame-Options: DENY.
O que é X-XSS-Protection?
X-XSS-Protection é um header legado que ativa filtro anti-XSS em navegadores antigos (IE, Chrome antigo, Safari). Atualmente é obsoleto — navegadores modernos removeram esse recurso. Configuração recomendada: X-XSS-Protection: 0. Por quê desabilitar? Bugs no filtro XSS podem criar novas vulnerabilidades. Use CSP ao invés.
O que é Referrer-Policy?
Referrer-Policy controla quanta informação de origem é enviada ao navegar para outros sites, protegendo privacidade dos usuários. Valores comuns: no-referrer (nunca envia informação de origem), strict-origin-when-cross-origin (apenas origem em navegação externa, recomendado), same-origin (só envia para páginas do mesmo domínio) e no-referrer-when-downgrade (não envia se HTTPS → HTTP). Exemplo: Referrer-Policy: strict-origin-when-cross-origin.
O que é Permissions-Policy?
Permissions-Policy controla quais recursos sensíveis (câmera, microfone, geolocalização, etc) o site e iframes podem usar. Previne que scripts maliciosos ou iframes acessem recursos sensíveis sem permissão explícita. Recursos controláveis: camera (câmera), microphone (microfone), geolocation (localização GPS), payment (API de pagamento) e usb (acesso USB). Exemplo: Permissions-Policy: camera=(), microphone=(), geolocation=(self).
O que são COOP, CORP e COEP?
COOP, CORP e COEP são headers de isolamento cross-origin que aumentam segurança impedindo ataques baseados em timing e compartilhamento de memória. COOP (Cross-Origin-Opener-Policy) isola janelas abertas com window.open() de diferentes origens, impedindo acesso via JavaScript. CORP (Cross-Origin-Resource-Policy) controla quais sites podem carregar recursos do seu servidor. COEP (Cross-Origin-Embedder-Policy) garante que todos os recursos externos tenham permissão CORS explícita. Atenção: esses headers podem quebrar funcionalidades que dependem de recursos cross-origin — teste antes de aplicar em produção.
Por que meu site tem nota baixa?
A nota é calculada com base nos headers de segurança presentes. Cada header ausente reduz a pontuação. Prioridade de implementação: 1) HSTS — Crítico (força HTTPS), 2) CSP — Crítico (previne XSS), 3) X-Frame-Options — Alto (previne clickjacking), 4) X-Content-Type-Options — Alto (previne MIME sniffing), 5) Referrer-Policy — Médio (privacidade), 6) Permissions-Policy — Médio (controle de recursos), 7) COOP/CORP/COEP — Baixo (isolamento avançado). Comece implementando os 4 primeiros — isso já dá nota B+ na maioria dos casos.
Como implementar esses headers?
No Nginx, adicione no arquivo de configuração do site (/etc/nginx/sites-available/seu-site) os headers de segurança com a diretiva add_header e always: Strict-Transport-Security, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy e Permissions-Policy. Depois execute sudo nginx -t e sudo systemctl reload nginx. No Next.js, adicione no arquivo next.config.js usando a função async headers() retornando os headers para a source '/:path*'.
O que é um certificado SSL válido?
Um certificado SSL válido garante que a comunicação entre navegador e servidor é criptografada e autêntica. Requisitos: deve ser emitido por autoridade certificadora confiável (Let's Encrypt, DigiCert, etc), não pode estar expirado (renove 30 dias antes do vencimento), deve corresponder ao domínio do site, e usar protocolo TLS 1.2 ou superior (TLS 1.0/1.1 são inseguros). Certificado grátis: use Let's Encrypt com Certbot para renovação automática.
Meu site redireciona HTTP para HTTPS?
O redirecionamento HTTP → HTTPS é essencial para garantir que usuários sempre usem conexão segura, mesmo digitando http://. No Nginx, configure um server block na porta 80 com return 301 https://$server_name$request_uri. No Apache, use RewriteEngine On, RewriteCond %{HTTPS} off e RewriteRule para redirecionar todas as URLs para HTTPS.
