Ingeniería

Cabeçalhos de segurança HTTP: Guia definitivo

Configuração de HSTS, CSP, X-Frame-Options e Permissions-Policy. Proteja a sua aplicação web contra XSS, clickjacking e vazamento de dados.

A segurança de um website não se resume à instalação de um certificado SSL. Sem os cabeçalhos de segurança HTTP adequados, a sua aplicação permanece vulnerável a ataques de clickjacking, injeção de scripts maliciosos (XSS) e interceção de tráfego.

Os cabeçalhos de segurança são diretivas enviadas pelo seu servidor nas respostas HTTP que instruem o navegador do visitante a aplicar controlos de segurança rigorosos.

Eis o guia completo dos cabeçalhos essenciais que todos os websites modernos devem implementar.

1. Strict-Transport-Security (HSTS)

O HSTS força os navegadores a comunicar com o seu domínio exclusivamente através de ligações encriptadas HTTPS durante um período determinado, prevenindo ataques de despromoção de protocolo (SSL Stripping).

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  • max-age=31536000: Válido durante um ano completo.
  • includeSubDomains: Aplica-se a todos os subdomínios existentes.
  • preload: Autoriza a inclusão do seu domínio nas listas pré-configuradas dos browsers Chrome, Firefox e Safari.

2. Content-Security-Policy (CSP)

O cabeçalho de proteção mais potente e abrangente. O CSP define expressamente quais as origens autorizadas para carregar e executar scripts, folhas de estilo, imagens, fontes e frames.

Content-Security-Policy: default-src 'self'; script-src 'self' https://trustedscripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self'; frame-ancestors 'none';

Com uma política CSP rigorosa, bloqueia eficazmente ataques de Cross-Site Scripting (XSS), pois scripts maliciosos injetados não autorizados são simplesmente ignorados pelo navegador.

Recomendação: Inicie a implementação com Content-Security-Policy-Report-Only para registar eventuais violações sem quebrar funcionalidades no website ativo.

3. X-Frame-Options

Impede que as suas páginas sejam incorporadas em <frame>, <iframe> ou <object> noutros websites, protegendo os utilizadores contra ataques de clickjacking (camadas invisíveis concebidas para induzir cliques indesejados).

X-Frame-Options: DENY

(Ou SAMEORIGIN se permitir iframes apenas dentro do próprio domínio).

4. X-Content-Type-Options

Impede que os navegadores tentem adivinhar o tipo MIME de um ficheiro (MIME sniffing) quando a declaração do servidor aparenta divergências.

X-Content-Type-Options: nosniff

Isto elimina a possibilidade de ficheiros de imagem submetidos por utilizadores serem executados como scripts executáveis.

5. Referrer-Policy

Controla que volume de informação do endereço URL atual é transmitido quando um visitante clica numa ligação para um website externo.

Referrer-Policy: strict-origin-when-cross-origin

Esta configuração envia o caminho completo nas navegações internas, mas partilha apenas o domínio principal com serviços externos, protegendo parâmetros confidenciais.

6. Permissions-Policy

Restringe o acesso da página a recursos de hardware e APIs do dispositivo do utilizador (câmara, microfone, geolocalização, pagamentos).

Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(self)

Cabeçalhos que deve remover da sua configuração

  • Server e X-Powered-By: Estes cabeçalhos divulgam as versões exatas do seu servidor e linguagem (ex: PHP/8.1, Apache/2.4), fornecendo informações valiosas a ferramentas automáticas de scanning de vulnerabilidades. Desative-os sempre.
  • X-XSS-Protection: Descontinuado e substituído pelo CSP. Pode introduzir falhas de segurança em navegadores modernos.

Audite o seu domínio em securityheaders.com para validar a classificação A+ da sua infraestrutura.

Partilhar este artigo LinkedIn X WhatsApp

Seguir leyendo

Cuéntenos qué objetivo busca alcanzar.

Un equipa. Tres escritórios. Veintiséis idiomas. Plantéenos seu problema y recibirá uma respuesta técnica de nivel senior — no um guion comercial.

Una proposta detallada en um dia laborable, en seu idioma.