fbpx

Aumente a segurança com estes sete headers HTTP

Desenvolver aplicações web são atividades complexas, porque são sistemas que ficarão expostos na Internet. Portanto, aqui vão 7 dicas de headers http para você aumentar a segurança de seu aplicativo.

Lembrando que estas dicas não podem ser sua única fonte de segurança no desenvolvimento do seu aplicativo.

Estes recursos lhe ajudarão, mas é muito importante uma análise mais aprofundada do sistema e habilitar outros controles de segurança.

1. X-Frame Options

Esta opção controla o uso do seu site em um iframe, frame, embed e object.

Serve para evitar ataques de clickjacking, onde o atacante coloca seu site em um iframe e através de outros códigos capturam clicks e outras informações do site.

Você pode negar totalmente, que o seu site seja renderizado em um frame, ou permitir apenas do mesmo domínio que o seu ou ainda, apontar domínios externos aos quais estão permitidos.

2. X-XSS-Protection

Os ataques de Cross-Site Scripting (XSS), são aqueles que injetam códigos maliciosos para serem carregados nos sites dos outros.

Estes códigos podem capturar dados dos usuários ou gerar informações em tela que enganem o usuário.

O header X-XSS-Protection, indica ao navegador o que se deve fazer quando for detectado um possível ataque de Cross-Site Scripting.

3. Content-Type

Os navegadores tentam adivinhar o conteúdo de cada arquivo quando está carregando.

Isso pode permitir que algum atacante oculte código Javascript dentro de outros arquivos.

O header de Content-Type indica ao navegador como é a melhor forma de tratar cada arquivo, para que seja renderizado corretamente no navegador.

Usando a opção nosniff, indica ao navegador para respeitar a forma que foi definida pelo servidor.

4. Strict-Transport-Security

Este header, indica ao navegador que ele não deve aceitar conexões HTTP, uma vez que foi iniciada uma conexão HTTPS.

Alguns tipos de ataque diminuem o nível de acesso para carregarem parte das informações sem criptografia.

5. Public Key Pins

Este header permite que você registre no navegador do usuário, qual foi a entidade certificadora que emitiu seu certificado.

Se ocorrer um abuso de Autoridade Certificadora e alguém emitir um novo certificado com o mesmo nome do seu site, este header vai emitir um erro no navegador.

6. Content Security Policy

Um cabeçalho de Content Security Policy lista todos os domínios e recursos autorizados que seu aplicativo pode usar.

Portanto, se um usuário carregar uma página em que um invasor injetou um recurso malicioso, o navegador carregará sua página, mas impedirá que o recurso do invasor carregue.

Um efeito colateral do uso desse cabeçalho é que, se você adicionar novos ativos ao seu aplicativo, precisará atualizar sua Política de Segurança de Conteúdo de acordo.

7. Cookie Protection

Se você estiver usando cookies para armazenar informações de sessão ou autenticação para manter os usuários conectados ao seu site, existem alguns truques para melhorar sua segurança.

Existem duas diretivas que você deve adicionar que protegem os invasores de ler cookies em locais diferentes:

O HttpOnly proibirá o JavaScript de acessar os cookies, o que impedirá que um ataque XSS seja capaz de enviar os cookies do seu usuário para o invasor.

O atributo Secure só permitirá que os cookies sejam transferidos por meio de uma conexão HTTPS e não por HTTP, de forma que um invasor com acesso à sua rede não consiga ler cookies não criptografados.

Verifique o que é relevante

Como sempre, a segurança de informações pode cobrir uma série de opções. As dicas fornecidas aqui podem não servir para o seu aplicativo.

Verifique o que é mais relevante e sempre execute testes antes de colocá-los em prática.

Para escrever este artigo sobre o uso de headers HTTP para incrementar a segurança, eu tive como base o artigo publicado por Alexander Ottenhoff. Se você quiser ver o artigo completo, ele está disponível aqui.

Torne-se membro

Já pensou em trabalhar com segurança no Brasil ou em qualquer outro país?

Torne-se membro de nossa comunidade e receba gratuitamente notícias e análise de vagas na área de segurança, e prepare-se para o mercado que dispõe de um grande número de vagas.

Author: fabio

Fabio Sobiecki é analista de sistemas, formado pela Unopar e especialista em Segurança da Informação pelo Senac e possui MBA pela FGV. Desde 2004, trabalha com Segurança da Informação, entre 1998 e 2004, trabalhou com tecnologia da informação, na área de infraestrutura e redes de computadores. Fabio Sobiecki é certificado pelo (ISC) 2 como CISSP e CCSP, desde 2008 e 2017, respectivamente. Atualmente, ele é presidente do capítulo de São Paulo (ISC) 2 e é engenheiro de soluções na RSA.