Skip to content

Instantly share code, notes, and snippets.

@paulofreitas
Last active June 11, 2021 16:22
Show Gist options
  • Save paulofreitas/a5627ef4cb6998ec8d1d137046f90e18 to your computer and use it in GitHub Desktop.
Save paulofreitas/a5627ef4cb6998ec8d1d137046f90e18 to your computer and use it in GitHub Desktop.
Cabeçalhos de resposta HTTP relacionados a segurança

Content-Security-Policy, X-Content-Security-Policy, X-WebKit-CSP

O cabeçalho de resposta HTTP Content-Security-Policy permite aos administradores de sites controlar os recursos que o navegador ou agente de usuário (user agent) pode carregar em uma determinada página. Com algumas exceções, as políticas envolvem principalmente especificar as origens do servidor e os endpoints de script. Isso ajuda a proteger contra ataques de XSS.

O cabeçalho de respsota HTTP X-Content-Security-Policy é requerido para implementar o CSP no Internet Explorer 10 e 11.

O cabeçalho de resposta HTTTP X-Webkit-CSP é requerido para implementar o CSP em versões mais antigas do Google Chrome, Safari e outros navegadores baseados na engine WebKit.

Para navegadores modernos, o cabeçalho Content-Security-Policy deve ser usado.

Mais informações: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
Configurando o Nginx/Apache: https://scotthelme.co.uk/hardening-your-http-response-headers/#content-security-policy

X-XSS-Protection

O cabeçalho de resposta HTTP X-XSS-Protection é uma funcionalidade do Internet Explorer, Chrome e Safari que impede que as páginas sejam carregadas quando detectam ataques de XSS refletidos. Embora essas proteções sejam em grande parte desnecessárias nos navegadores modernos quando os sites implementam uma Content-Security-Policy forte que desabilite o uso do JavaScript inline ('unsafe-inline'), elas ainda podem fornecer proteções para usuários de navegadores mais antigos que ainda não dão suporte ao CSP.

Mais sobre: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
Configurando o Nginx/Apache: https://scotthelme.co.uk/hardening-your-http-response-headers/#x-xss-protection

Strict-Transport-Security

O cabeçalho de resposta HTTP Strict-Transport-Security (frequentemente abreviado como HSTS) é um recurso de segurança que permite que um site diga aos navegadores que ele só deve ser comunicado com o uso do protocolo HTTPS ao invés do HTTP.

Mais sobre: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
Configurando o Nginx/Apache: https://scotthelme.co.uk/hardening-your-http-response-headers/#strict-transport-security

X-Frame-Options

O cabeçalho de resposta HTTP X-Frame-Options pode ser usado para indicar se um navegador deve ou não renderizar a página em tags <frame>, <iframe> ou <object>. Os sites podem usar isso para evitar ataques de clickjacking, garantindo que seu conteúdo não seja incorporado a outros sites.

Mais sobre: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
Configurando o Nginx/Apache: https://scotthelme.co.uk/hardening-your-http-response-headers/#x-frame-options

Public-Key-Pins

O cabeçalho de resposta HTTP Public-Key-Pins (também abreviado como HPKP) associa uma ou mais chaves criptográficas públicas específicas com um determinado servidor web para diminuir o risco de ataques MITM (man-in-the-middle) com certificados falsificados. Se uma ou mais chaves de certificados forem definidas e nenhuma delas for usada pelo servidor, o navegador se recusará em responder a requisição.

Mais sobre: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Public-Key-Pins
Configurando o Nginx/Apache: https://scotthelme.co.uk/hardening-your-http-response-headers/#public-key-pinning

Referrer-Policy

O cabeçalho de resposta HTTP Referrer-Policy regula quais informações de referência enviadas no cabeçalho Referer devem ser incluídas nas requisições.

Mais sobre: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy
Configurando o Nginx/Apache: https://scotthelme.co.uk/a-new-security-header-referrer-policy/

X-Content-Type-Options

O cabeçalho de resposta HTTP X-Content-Type-Options impede um navegador de tentar inferir o tipo de conteúdo MIME (MIME-sniff) e obriga que ele respeite o Content-Type declarado.

Mais sobre: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
Configurand o Nginx/Apache: https://scotthelme.co.uk/hardening-your-http-response-headers/#x-content-type-options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment