Compartilhar via


Adicionar cabeçalhos HSTS com o Gateway de Aplicativo do Azure: portal do Azure

Este artigo descreve como usar a Reescrita de Cabeçalho no SKU do Gateway de Aplicativo v2 para adicionar o cabeçalho de resposta HTTP Strict-Transport-Security (HSTS) para proteger melhor o tráfego por meio do Gateway de Aplicativo.

A política de HSTS ajuda a proteger ou minimizar seus sites contra os ataques man-in-the-middle, sequestro de cookies e downgrade de protocolo. Após um cliente ter estabelecido a primeira conexão HTTPS bem-sucedida com seu site habilitado para HSTS, o cabeçalho HSTS garante que, daquele momento em diante, o cliente só possa acessar por meio de HTTPS.

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Antes de começar

Você precisa ter uma implantação do SKU do Gateway de Aplicativo v2 para executar as etapas incluídas neste artigo. Não há suporte para a reescrita de cabeçalhos na SKU v1. Se não tiver o SKU v2, crie uma implantação do SKU do Gateway de Aplicativo v2 antes de começar.

Entrar no Azure

Entre no portal do Azure com sua conta do Azure.

Criar os objetos necessários

Para configurar a política de HSTS, primeiro você precisa executar essas etapas:

  1. Crie os objetos que são necessários para adicionar um cabeçalho HSTS:

    • Ouvinte HTTP: crie um ouvinte HTTP básico ou multissite. Esse ouvinte precisa escutar na porta 80 e o protocolo deve ser definido como HTTP.

    • Ouvinte HTTPS: crie um ouvinte HTTPS básico ou multissite. Esse ouvinte precisa escutar na porta 443, ter o protocolo definido como HTTPS e conter um certificado.

  2. Crie uma regra de roteamento que redirecione todo o tráfego do ouvinte HTTP para o ouvinte HTTPS.

Para saber mais sobre como configurar o redirecionamento de http para https, confira Redirecionamento de HTTP Para HTTPS.

Configurar a política de HSTS

Nesse exemplo, vamos adicionar o cabeçalho de resposta STS (Strict Transport Security) usando as regras de reescrita do gateway de aplicativo.

  1. Selecione Todos os recursos e, em seguida, selecione seu gateway de aplicativo.

  2. Selecione Reescritas no painel esquerdo.

  3. Selecione Conjunto de reescrita:

    Captura de tela mostrando como adicionar um conjunto de reescrita.

  4. Informe um nome para o conjunto de reescrita e associe-o a uma regra de roteamento:

    • Insira o nome para o conjunto de reescrita na caixa Nome.

    • Escolha uma ou mais das regras relacionadas na lista Regras de roteamento associadas. Você pode selecionar apenas regras que não foram associadas a outros conjuntos de regravação. As regras que já foram associadas a outros conjuntos de regravação ficam esmaecidas.

    • Selecione Avançar.

      Captura de tela mostrando como adicionar um nome e uma associação a um conjunto de reescrita.

  5. Criar uma regra de reescrita:

    • Selecione Adicionar regra de reescrita.

      Captura de tela mostrando como adicionar uma regra de reescrita.

    • Digite um nome para a regra de reescrita na caixa Nome da regra de reescrita. Insira um número na caixa Sequência de regras.

      Captura de tela mostrando como adicionar um nome de regra de reescrita.

  6. Adicione uma ação para reescrever o cabeçalho de resposta:

    • Na lista Tipos de regravação, selecione Cabeçalho de Resposta.

    • Na lista Tipo de ação, selecione Conjunto.

    • Nome do cabeçalho: selecione o Cabeçalho comum.

    • Na lista Cabeçalhos comuns, selecione Strict-Transport-Security.

    • Insira o valor do cabeçalho. Neste exemplo, usaremos max-age=31536000; includeSubdomains; preload como o valor do cabeçalho.

    • Selecione OK.

      Captura de tela mostrando como adicionar uma ação.

  7. Selecione Criar para criar o conjunto de reescrita:

    Captura de tela mostrando como criar com um clique.

Limitações e recomendações

  • Para maximizar a segurança, você precisa mostrar a política de HSTS o mais cedo possível quando os usuários iniciam uma sessão HTTPS. Para implementar o HTTPS para um determinado domínio, o navegador só precisa observar o cabeçalho STS uma vez. Portanto, ele deve ser adicionado às páginas iniciais e às páginas críticas de um site. No entanto, isso não é suficiente. Uma boa prática é cobrir o máximo do espaço de URLs possível e priorizar o conteúdo não armazenável em cache.

  • Nesse exemplo, o cabeçalho de resposta Strict-Transport-Security é definido como max-age=31536000; includeSubdomains; preload. No entanto, os usuários também podem definir um cabeçalho que seja equivalente a max-age=31536000; includeSubdomains removendo o pré-carregamento. O pré-carregamento ajuda a reforçar o HSTS garantindo que os clientes sempre acessem o site usando HTTPS, mesmo que seja seu primeiro acesso. Você precisa enviar seu domínio e seus subdomínios para https://hstspreload.org/ de modo a garantir que os usuários nunca acessem o site usando HTTP. Embora a lista de pré-carregamento seja hospedada pelo Google, todos os principais navegadores usam essa lista.

  • A política de HSTS não impedirá os ataques contra o TLS propriamente dito ou os ataques a servidores.

Próximas etapas

Para saber mais sobre diretivas, visite https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security

Para saber mais sobre como configurar alguns casos de uso comuns de reescrita de cabeçalhos, confira cenários comuns de reescrita de cabeçalho.