8 cabeçalhos de segurança HTTP que você deve usar para aumentar a segurança

Publicados: 2022-04-08

O cabeçalho HTTP Security é uma das partes mais básicas e poderosas da segurança da web. Com a ajuda dessas medidas de segurança, você poderá aumentar a segurança de seus aplicativos da Web para o próximo nível. Ele defende seu site de todos os ataques que seu site provavelmente terá que enfrentar.

Esses cabeçalhos de segurança HTTP são tão poderosos que, quando você os habilita, eles protegem seu site de alguns ataques comuns, como clickjacking, injeção de código, script entre sites e muito mais.

Então, neste post, explicaremos tudo sobre a lista de cabeçalhos de segurança HTTP, como eles podem ser benéficos e como você pode implementá-los.

Fique ligado e vamos começar!

Índice
O que é o cabeçalho de segurança HTTP?
Por que você precisa implementar o cabeçalho de segurança HTPP?
Executar verificação de cabeçalhos de segurança
Lista de cabeçalhos de segurança HTTP mais importantes
Como implementar a correção de vulnerabilidade de cabeçalhos de segurança HTTP em seu site?
Resumo
perguntas frequentes

O que é o cabeçalho de segurança HTTP?

Basicamente, um cabeçalho de segurança HTTP é um conjunto de comandos ou diretivas que estão sendo trocadas entre seu navegador da Web (ou qualquer cliente da Web) e um servidor da Web para especificar os detalhes relacionados à segurança da comunicação HTTP. Essas trocas ou compartilhamento de informações fazem parte do protocolo HTTP. Esses comandos ou diretivas permitem que seu navegador saiba o que é permitido mostrar ou outros enfeites, para o seu site, para garantir sua segurança e nenhuma injeção de malware.

Esses comandos de cabeçalho de segurança HTTP ajudam a proteger o navegador da Web e seu site contra ameaças de segurança, como ataques de hackers ou injeção de código malicioso . Portanto, essa estratégia de segurança atua como um sistema de defesa geral.

Por que você precisa implementar o cabeçalho de segurança HTPP?

Como você já notou, vários artigos e relatórios circulam na internet sobre o pico de ataques cibernéticos e casos de violação de dados nos últimos anos. E um dos principais culpados por todos esses contratempos que acontecem são as medidas de segurança inadequadas e as configurações incorretas.

Esses cabeçalhos de segurança HTTP ajudam a impedir alguns dos ataques de hackers mais comuns, injeções de malware, clickjacking, injeção de scripts maliciosos etc. Eles fornecem uma camada extra de proteção ao restringir algumas atividades entre o servidor e o navegador da web, enquanto o aplicativo da web é encontro.

Embora existam muitos cabeçalhos HTTP disponíveis, a questão é qual você deve implementar para obter uma melhor proteção. Assim como qualquer tecnologia da web que muda com o tempo, novos cabeçalhos HTTP aparecerão e desaparecerão dependendo do suporte do navegador.

Portanto, torna-se essencial que você decida qual cabeçalho HTTP você deve implementar e qual não, mas, por enquanto, você deve implementar essas 8 listas de cabeçalhos de segurança HTTP para que possa obter proteção contra algumas das ameaças mais comuns.

Além disso, o cabeçalho HTTP Security também pode ajudar a melhorar a pontuação de SEO do seu site.

Executar verificação de cabeçalhos de segurança

Antes de prosseguir, a primeira coisa que você deve fazer é executar uma verificação de cabeçalho de segurança em seu site. Com a ajuda do qual será fácil para você ver quais são os cabeçalhos de segurança essenciais que estão faltando no seu site.

Para fazer isso, você precisa visitar o site de cabeçalhos de segurança e inserir o endereço do seu site, conforme mostrado na imagem abaixo:

Run HTTP security headers check

Quando você insere a URL do seu site e clica no botão Digitalizar, um relatório abrangente será gerado, mostrando todos os cabeçalhos vitais de segurança HTTP ausentes, se houver, na cor vermelha, e uma nota que mostra o quão seguro é o seu site.

HTTP security header scan results

Na imagem acima, você pode ver os cabeçalhos de segurança HTTP não detectados. que explicamos e listamos abaixo da seção.

Lista de cabeçalhos de segurança HTTP mais importantes

Vamos verificar alguns dos cabeçalhos de segurança HTTP mais importantes que você deve implementar em seus aplicativos da Web para aumentar a segurança e habilitar uma camada extra de proteção.

1. Opções do X-Frame

Pela primeira vez, a Microsoft introduziu o X-Frame Options em seu Microsoft Internet Explorer, que ajuda a proteger contra injeção de script malicioso ou ataques de script entre sites. Este cabeçalho de segurança HTTP protege os iFrames do seu site, instruindo os navegadores a perguntar se devem processar o iFrame para o site ou não.

Ele protege principalmente de todos os ataques de clickjacking nos quais um invasor implementa várias camadas em um link ou botão para redirecionar os usuários para outra página e roubar suas informações vitais.

Sintaxe a seguir:

Explicação das instruções:

DENY : Esta diretiva não permitirá que o iFrame renderize

SAMEORIGIN: Esta diretiva permitirá renderizar iFrames apenas com a mesma origem.

ALLOW-FROM: Esta diretiva permitirá renderizar o iFrame somente a partir de uma URL específica.

2. Segurança Estrita de Transporte

O cabeçalho Strict-Transport-Security ou HTTPS Strict Transport Security ajuda a proteger contra ataques MIM e sequestro de cookies quando ativado. Essa diretiva obriga o navegador a usar HTTPS em vez de comunicação HTTP.

Vamos entender como funciona se você estiver executando qualquer site em HTTP e migrou para ele em HTTPS. Seus visitantes antigos ainda tentarão acessar o URL antigo com HTTP. Como você já migrou seu site para HTTPS, o URL antigo o redirecionará para o novo.

Mas o ponto é que seus visitantes ainda podem acessar a versão não criptografada do seu site antes de redirecionar para o novo URL criptografado. Entre o processo, os hackers têm a oportunidade de fazer ataques MIM ou Man in the middle.

Mas quando você habilita Strict-Transport-Security, o navegador receberá instruções para não carregar sites HTTP, em vez de forçar o navegador a se comunicar por HTTPS.

Sintaxe a seguir:

Instruções Explicação

max-age=<expire-time> : Esta diretiva permite que você decida por quanto tempo (em segundos) o navegador pode acessá-lo por HTTPS.

max-idade=<tempo de expiração>; includeSubDomains : Se esta diretiva for mencionada, significa que a regra acima também é para todos os subdomínios do site.

max-idade=<tempo de expiração>; preload : Esta diretiva mostra que o site foi listado na lista global de sites HTTPS.

3. Política de segurança de conteúdo

Este cabeçalho de segurança HTTP instrui o navegador a carregar apenas os conteúdos mencionados na política. Isso significa que você terá o poder de controlar os recursos do seu site e permitir que os navegadores carreguem apenas os recursos de conteúdo que você colocou na lista de permissões.

Ele ajuda os navegadores a decidir de onde carregar recursos de conteúdo, como scripts, imagens ou CSS. Se você conseguir implementar esse cabeçalho de segurança HTTP com sucesso, ele protegerá seu site contra Clickjacking, Cross-Site Scripting (XSS) e qualquer injeção de código malicioso.

Embora não garanta 100% de proteção, ajuda a prevenir e limitar possíveis danos. Inclusive, a maioria dos navegadores agora está identificando esse problema sério e começou a apoiá-lo.

Sintaxe a seguir:

Explicação da Instrução

<policy-directive> : você pode incluir qualquer diretiva de política como script-src(CSS) , img-src (Imagens) ou style-src (folha de estilo) e permitir que eles sejam carregados.

4. Opções de tipo de conteúdo X

Esse tipo de cabeçalho permite restringir ou impedir a detecção de tipo MIME informando ao navegador que os tipos MIME são configurados deliberadamente no servidor. Basicamente, na detecção de MIME, ele oferece uma oportunidade para os invasores injetarem qualquer script malicioso executável.

Por exemplo, um invasor injetou qualquer recurso malicioso que alterou a resposta de um outro recurso inocente, como imagens. Devido à detecção de MIME, o navegador irá parar de renderizar o tipo de conteúdo da imagem em vez de começar a executar os recursos maliciosos que foram injetados.

Quando você habilita esse cabeçalho, ele confia e força o navegador a seguir apenas os tipos MIME que foram especificados nos cabeçalhos do tipo de conteúdo. Dessa forma, você pode proteger e impedir com facilidade a injeção de scripts mal-intencionados ou ataques de script entre sites.

Sintaxe a seguir:

Explicação da instrução:

A diretiva nosniff bloqueará imediatamente uma solicitação se o destino da solicitação do tipo:

  • estilo
  • O tipo MIME não é texto/CSS ou tipo Script
  • O tipo MIME não é o tipo MIME JavaScript

5. Política de referência

Essa segurança de cabeçalho permitirá que você controle se as informações do referenciador devem ser reveladas? Se sim então por quanto.

No entanto, para outras solicitações, o navegador compartilhará apenas informações sobre a origem.

Sintaxe a seguir:

Explicação da instrução:

origin-when-cross-origin: O navegador compartilhará informações completas de referência para solicitações de mesma origem e outras solicitações, o navegador compartilhará apenas sobre a origem.

no-referrer-when-downgrade: O navegador não compartilhará informações de referência ao enviar o cabeçalho Referrer para solicitações para destinos menos seguros.

6. Recurso ou Política de Permissões

Esse cabeçalho de segurança permite que um site decida se deve ou não fornecer acesso a qualquer recurso ou API específico no navegador. Com a ajuda deste cabeçalho, você pode controlar facilmente a funcionalidade de qualquer aplicativo em seu navegador, que pode difamar sua privacidade e permitir apenas se você achar legítimo e necessário.

Por exemplo, se você não quiser que o site acesse seu microfone, webcam ou local e quiser restringir sua funcionalidade seguindo a sintaxe abaixo:

sintaxe a seguir:

Explicação da instrução:

A <diretiva> pode ser qualquer coisa, como Acelerômetro, reprodução automática, sensor de luz ambiente, bateria, câmera, microfone ou geolocalização.

enquanto que o <allowlist> é uma lista de origens, que pode ter um ou mais valores como 'none', 'self' etc. colocados separadamente. Para sua referência, você pode conferir a lista completa de diretivas e a lista de permissões aqui.

7. Domínio cruzado X-permitido

Com a ajuda deste cabeçalho de segurança HTTP, você pode dar instruções ao navegador e ter controle sobre todas as solicitações provenientes de vários domínios. Ao habilitar este cabeçalho, você estará limitando seu site a carregar ativos de site desnecessários provenientes de outros domínios. Para que os recursos do site possam ser usados ​​de forma eficiente.

Este cabeçalho de segurança é opcional e não é necessário tê-los, mas é bom instalá-los e habilitá-los.

Sintaxe a seguir:

8. Proteção XSS

A proteção XSS ou o cabeçalho de proteção de script entre sites é introduzido para proteger contra ataques de script entre sites. Esses ataques são considerados muito comuns e eficazes, portanto, a maioria dos navegadores da Web habilita a proteção XSS neles por padrão.

Quando um invasor tenta infectar um site injetando código javascript malicioso durante uma solicitação HTTP para roubar informações confidenciais, como dados de transações, dados pessoais etc. Ao ser detectado qualquer ataque de script entre sites, o cabeçalho de proteção XSS será filtrado e parado eles imediatamente.

No entanto, esse filtro estava disponível apenas em navegadores antigos e agora se tornou desnecessário para navegadores modernos. Especialmente se você já implementou uma política de segurança realmente boa e é bom ir em frente e tê-la caso seus visitantes ainda estejam usando navegadores antigos, que não entendem a política de segurança de conteúdo.

Sintaxe a seguir:

Explicação:

0 – isso desabilitará a proteção XSS

1 – Habilite a proteção XSS

1; mode=block – Pare os navegadores para carregar totalmente a página da Web, quando um ataque de script entre sites for detectado.

1; report=<reporting-uri> – Quando o ataque XSS é detectado, a parte insegura será bloqueada pelo navegador e reportá-lo

Como implementar a correção de vulnerabilidade de cabeçalhos de segurança HTTP em seu site?

Se o seu provedor de serviços de hospedagem permite que você tenha acesso a qualquer um dos dois arquivos .htaccess ou arquivo wp-config.php. Em seguida, pode ser fácil implementar uma correção de vulnerabilidade de cabeçalho de segurança HTTP em seu site adicionando os cabeçalhos de segurança HTTP em qualquer lugar.

No WPOven você fornecerá acesso SSH, através do qual poderá acessar facilmente o Gerenciador de Arquivos e editar seu arquivo .htaccess .

Passo 1 : Primeiro você precisa habilitar o acesso SSH para o site. Para fazer isso, você precisa acessar o site a partir do painel WPOven .

ssh 1 8 HTTP Security Headers You Must Use To Enhance Security

Navegue até a seção 'Ferramentas' .

ssh 2 8 HTTP Security Headers You Must Use To Enhance Security

Em seguida, na seção 'Ferramentas' , você precisa pressionar o botão 'Ativar acesso SSH' na parte inferior da página.

ssh 3 8 HTTP Security Headers You Must Use To Enhance Security

Etapa 2 : Uma vez que o acesso SSH esteja habilitado para o site, você pode fazer login através de aplicativos de terceiros, como Putty ou PenguiNet, usando as credenciais de login SFTP do seu site

No entanto, você também pode ter acesso ao seu arquivo .htaccess ou wp-config.php, diretamente através de um cliente FTP popularmente conhecido como Arquivo Zilla.

Tudo o que você precisa fazer é seguir os passos abaixo:

  1. Primeiro, você precisa se conectar ao seu site WordPress usando o cliente FTP. Isso permitirá que você edite seu arquivo .htaccess. Este arquivo pode ser encontrado no diretório raiz do seu site WordPress.
  2. Caso o arquivo .htaccess não esteja visível, você pode querer verificar os arquivos ocultos.
  3. Não há necessidade de ter nenhum editor especial, você pode escrever o código em qualquer editor de texto como o Bloco de Notas.
  4. Você tem que escrever este código e adicioná-lo ao arquivo .htaccess. É aconselhável adicioná-lo no final do arquivo .htaccess.
  5. Ao encontrar o site, baixe-o para sua unidade local e abra em qualquer editor de texto. A opção mais simples é um bloco de notas padrão. Adicione o seguinte código na parte inferior do arquivo:

Altere os atributos, diretivas e valores conforme necessário, salve e faça upload deles.

Alternativamente, você também pode acessar seus arquivos de configuração do servidor web e aplicar esses cabeçalhos de segurança. No entanto, se você não gosta de fazer alterações por conta própria e é um cliente WPOven, pode abrir um tíquete de suporte e podemos fazer isso rapidamente para você.

Resumo

Na postagem acima, você pode ver como é importante ter um cabeçalho de segurança HTTP ativado em seu site. E até que ponto eles fornecem proteção à segurança do site. No entanto, esses títulos foram implementados por padrão nos navegadores mais recentes e avançados disponíveis. Mas ainda assim, não há razão para eu achar que você não deve usá-los.

Caso você não tenha acesso aos servidores do seu site, você achará difícil. É sempre melhor pedir ajuda de profissionais. É melhor você entrar em contato com seu provedor de hospedagem na web e pedir que implementem cabeçalhos de segurança HTTP em seu site.

perguntas frequentes

Os cabeçalhos HTTP são seguros?

Sim, os cabeçalhos de segurança HTTP são uma das diretivas de proteção de segurança cibernética mais importantes. Todas as informações nos cabeçalhos HTTP são criptografadas.

Quais são alguns cabeçalhos que adicionam segurança?

Alguns dos Headers que adicionam segurança ao site são:
1. Opções do X-Frame
2. Segurança Estrita de Transporte
3. Política de segurança de conteúdo
4. Opções de tipo de conteúdo X
5. Política de referência
6. Recurso ou Política de Permissões
7. Domínio cruzado X-permitido
8. Proteção XSS

O que é cabeçalho CSP?

O cabeçalho CSP ou Content Security Policy instrui o navegador a carregar apenas os conteúdos mencionados na política. Isso significa que você terá o poder de controlar os recursos do seu site e permitir que os navegadores carreguem apenas os recursos de conteúdo que você colocou na lista de permissões.