BlogNoticias

Inserido em: 26/02/2023

HTTP Security Headers – Sua importância e como habilitar

HTTP Security Headers

Os “HTTP Security Headers” são uma importante camada de segurança que auxilia na proteção de sites contra ataques de hackers, como a injeção de scripts maliciosos, roubo de dados e outros tipos de ataques cibernéticos. A habilitação desses headers é uma prática importante para proteger os sites e garantir a segurança dos dados dos usuários.

Existem vários tipos de HTTP Security Headers, cada um com sua função específica. Neste artigo, vamos explicar a importância de habilitar esses headers e como habilitá-los no Nginx, Apache e ISS.

 

 

 

Por que habilitar os HTTP Security Headers?

 

Os HTTP Security Headers são um conjunto de instruções que os navegadores utilizam para proteger o site e os usuários contra ataques cibernéticos. Esses headers fornecem uma camada adicional de segurança que ajuda a prevenir a exploração de vulnerabilidades no site. Eles são particularmente úteis em sites que lidam com informações confidenciais, como senhas, informações pessoais e financeiras.

Alguns dos benefícios da habilitação dos HTTP Security Headers incluem:

  • Proteção contra ataques de injeção de scripts (XSS)
  • Prevenção de ataques de roubo de informações (CSRF)
  • Proteção contra ataques de redirecionamento (CSP)
  • Melhoria na privacidade do usuário (HSTS)
  • Proteção contra sniffing de conteúdo (X-Content-Type-Options)
  • Prevenção de clickjacking (X-Frame-Options)

 

Como habilitar os HTTP Security Headers no Nginx

 

O Nginx é um servidor web de código aberto conhecido por sua velocidade e eficiência. Para habilitar os HTTP Security Headers no Nginx, siga as seguintes instruções:

1. Abra o arquivo de configuração do servidor Nginx:

sudo nano /etc/nginx/nginx.conf

2. Adicione as seguintes linhas no bloco server:

add_header X-XSS-Protection “1; mode=block”;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;
add_header Referrer-Policy no-referrer-when-downgrade;
add_header Content-Security-Policy “default-src ‘self’; script-src ‘self’ ‘unsafe-inline’ ‘unsafe-eval’ https://cdn.example.com; style-src ‘self’ ‘unsafe-inline’; img-src ‘self’ data: https://cdn.example.com; font-src ‘self’ https://cdn.example.com; object-src ‘none’; connect-src ‘self’; frame-src ‘self’;”;
add_header Strict-Transport-Security “max-age=31536000; includeSubdomains; preload”;

3. Salve e feche o arquivo.

4. Reinicie o servidor Nginx:

sudo service nginx restart

 

Como habilitar os HTTP Security Headers no Apache

 

O Apache é um servidor web de código aberto e é um dos servidores web mais populares. Para habilitar no Apache, siga as seguintes instruções:

1. Abra o arquivo de configuração do Apache:

sudo nano /etc/apache2/apache2.conf

2. Adicione as seguintes linhas no bloco server:

Header set X-XSS-Protection “1; mode=block”
Header set X-Content-Type-Options nosniff
Header always set X-Frame-Options SAMEORIGIN
Header set Referrer-Policy “no-referrer-when-downgrade”
Header set Content-Security-Policy “default-src ‘self’; script-src ‘self’ ‘unsafe-inline’ ‘unsafe-eval’ https://cdn.example.com; style-src ‘self’ ‘unsafe-inline’; img-src ‘self’ data: https://cdn.example.com; font-src ‘self’ https://cdn.example.com; object-src ‘none’; connect-src ‘self’; frame-src ‘self'”
Header set Strict-Transport-Security “max-age=31536000; includeSubDomains; preload”

3. Reinicie o servidor Apache:

systemctl restart apache2

 

Como habilitar os HTTP Security Headers no ISS

 

O Internet Information Services (ISS) é um servidor web da Microsoft e é comumente usado em sistemas Windows. Para habilitar no ISS, siga as seguintes instruções:

1. Abra o Gerenciador de Serviços de Internet (ISS) e selecione o site que deseja proteger.

2. Clique em “HTTP Response Headers” na seção IIS no painel central.

3. Clique em “Add” no painel direito para adicionar um novo header.

4. Adicione as seguintes informações para cada header:

X-XSS-Protection: name=X-XSS-Protection, value=1; mode=block.
X-Content-Type-Options: name=X-Content-Type-Options, value=nosniff.
X-Frame-Options: name=X-Frame-Options, value=SAMEORIGIN.
Referrer-Policy: name=Referrer-Policy, value=no-referrer-when-downgrade.
Content-Security-Policy: name=Content-Security-Policy, value=default-src ‘self’; script-src ‘self’ ‘unsafe-inline’ ‘unsafe-eval’ https://cdn.example.com; style-src ‘self’ ‘unsafe-inline’; img-src ‘self’ data: https://cdn.example.com; font-src ‘self’ https://cdn.example.com; object-src ‘none’; connect-src ‘self’; frame-src ‘self’.
Strict-Transport-Security: name=Strict-Transport-Security, value=max-age=31536000; includeSubDomains; preload.

5. Salve as alterações e feche o Gerenciador de Serviços de Internet (ISS).

 

HTTP Strict-Transport-Security (HSTS)

 

O HTTP Strict-Transport-Security (HSTS) é um HTTP Security Header muito importante e deve ser habilitado para garantir que as conexões ao seu site sejam feitas exclusivamente por HTTPS, impedindo que possíveis atacantes explorem vulnerabilidades de segurança em conexões HTTP.

A seguir, estão as instruções para habilitar o HSTS em cada um dos servidores web:

 

Habilitando o HSTS no Apache

 

1. Para habilitar o HSTS no Apache, adicione a seguinte linha no arquivo de configuração do Apache:

Header always set Strict-Transport-Security “max-age=31536000; includeSubDomains; preload”

Essa linha deve ser adicionada dentro do bloco <VirtualHost> correspondente ao seu site ou dentro do arquivo global de configuração do Apache, normalmente localizado em /etc/httpd/conf/httpd.conf.

O parâmetro max-age define o período de tempo, em segundos, em que o navegador deve se lembrar da política HSTS. O valor de 31536000 segundos (ou 1 ano) é uma escolha comum. O parâmetro includeSubDomains é opcional e indica que a política HSTS também deve ser aplicada a todos os subdomínios do seu site. O parâmetro preload é opcional e permite que seu site seja incluído na lista de pré-carregamento HSTS mantida pelos principais navegadores.

2. Após fazer as alterações, salve o arquivo de configuração e reinicie o servidor Apache.

 

Habilitando o HSTS no Nginx

 

1. Para habilitar o HSTS no Nginx, adicione a seguinte linha ao bloco server correspondente ao seu site no arquivo de configuração do Nginx (normalmente localizado em /etc/nginx/nginx.conf):

add_header Strict-Transport-Security “max-age=31536000; includeSubDomains; preload” always;

Assim como no Apache, o parâmetro max-age define o período de tempo em que o navegador deve se lembrar da política HSTS. O parâmetro includeSubDomains é opcional e indica que a política HSTS também deve ser aplicada a todos os subdomínios do seu site. O parâmetro preload é opcional e permite que seu site seja incluído na lista de pré-carregamento HSTS mantida pelos principais navegadores.

2. Após fazer as alterações, salve o arquivo de configuração e reinicie o servidor Nginx.

 

Habilitando o HSTS no IIS

 

1. Para habilitar o HSTS no IIS, adicione as seguintes linhas ao arquivo web.config na pasta raiz do seu site:

<system.webServer>

  <httpProtocol>

     <customHeaders>

            <add name=”Strict-Transport-Security” value=”max-age=31536000; includeSubDomains; preload” />

      </customHeaders>

  </httpProtocol>

</system.webServer>

Essas linhas adicionam o header Strict-Transport-Security ao cabeçalho de resposta do servidor.

Assim como nos outros servidores, o parâmetro max-age define o período de tempo em que o navegador deve se lembrar da política HSTS. O parâmetro includeSubDomains é opcional e indica que a política HSTS também deve ser aplicada a todos os subdomínios do seu site. O parâmetro preload é opcional e permite que seu site seja incluído na lista de pré-carregamento HSTS mantida pelos principais navegadores.

2. Após fazer as alterações, salve o arquivo de configuração e reinicie o servidor IIS.

 

A habilitação dos HTTP Security Headers é uma prática importante que ajuda a proteger os sites contra ataques cibernéticos e garante a segurança dos dados dos usuários. Embora existam vários tipos, a habilitação dos headers mais comuns, como X-XSS-Protection, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Content-Security-Policy e Strict-Transport-Security, fornecem uma camada adicional de segurança que ajuda a prevenir a exploração de vulnerabilidades em sua aplicação web.

Voltar

Compartilhe no WhatsApp
Desenvolvido por Across | Política de Privacidade | Empresa do Grupo Pierre Soluções