Microsoft Azure

[Microsoft Azure] Implementado HSTS em WebApp


Antes de entrarmos no detalhe técnico, primeiro precisamos entender o que é HSTS, abaixo uma breve descrição.

O que é HSTS?

HSTS significa HTTP Strick Transport Security, o HSTS permiti que os sites possam ser acessados apenas de forma segura utilizando o protocolo HTTPS (Hyper Text Transfer Protocol Secure), com a implementação do HSTS minimizamos o impacto de uma determinada aplicação aceitar os protocolos HTTP e HTTPS, garantimos que toda a navegação em nossa aplicação será segura. Além disso existem outros ganhos com essa implementação, para entender em detalhes acesse a RFC 6797 nesse link.

Como implementamos?

A implementação do HSTS é muito simples, precisamos configurar um Custom Header via web.config e/ou IIS Manager, através do WebApp é muito mais simples fazer via web.config, porém existem outras possibilidades (IIS Manager, Web.Config, ApplicationHost.Config, etc).

OBS: Essa configuração é valida para WebApp, ApiApp, e todas a versões do IIS a partir do 7.

Nosso cenário de implementação é um blog em wordpress rodando em um WebApp no Microsoft Azure, a partir do portal do Microsoft Azure navegue até o WebApp e clique em App Service Editor em seguida Go.

Selecione o arquivo web.config, no painel a direita faremos as alterações necessárias para a implementação do HSTS. Detalhe importante, cuidado ao fazer qualquer alteração em ambiente produtivo, pois qualquer alteração é salva automaticamente, e se houver alguma erro na configuração a aplicação pode ficar indisponível.

A configuração que precisamos acrescentar no web.config tem que ficar na estrutura de system.Webserver.

<httpProtocol>
<customHeaders>
<add name=”Strict-Transport-Security” value=”max-age=31536000″/>
</customHeaders>
</httpProtocol>

Abaixo capturei duas imagens do cabeçalho de uma requisição sem HSTS e depois com HSTS

Antes da implementação

Após implementação

Existe uma outra forma de configurar o HSTS, através do URL Rewrite, particularmente eu prefiro dessa forma, porém é um tema para o próximo artigo!

Até a próxima.

Microsoft Azure
[Microsoft Azure] Auditoria de criação de objetos por e-mail – Parte03
Microsoft Azure
[Microsoft Azure] Removendo HTTP Response Header de WebApp, ApiApp e IIS
Microsoft Azure
[Microsoft Azure] Auditoria de criação de objetos por e-mail – Parte01