Proteja seu site com HTTPS e HSTS

Veja como implementar o SSL e eliminar o aviso "Site Inseguro" do navegador

12/01/2024

Proteja seu site com HTTPS e HSTS

Proteja seu site com HTTPS e HSTS

Introdução

O HTTPS é crucial para a segurança de um site, criptografando os dados transmitidos entre o navegador do usuário e o servidor. Este protocolo é identificado pelo https:// no início da barra de endereços ou nos links.

O HSTS protege contra vários tipos de ataques, garantindo que as conexões com o servidor sejam sempre seguras e que o protocolo HTTPS seja utilizado em vez do HTTP, que não possui criptografia.

Antes de prosseguir, certifique-se de que sua hospedagem suporta o protocolo HTTPS e possui certificado SSL instalado para seu domínio. Se você tem seu site hospedado na MCO2, fique tranquilo, pois o HTTPS é suportado em todos os planos e os certificados SSL são instalados automaticamente.

Nos próximos passos deste tutorial, vamos explorar diferentes métodos para garantir que a navegação no seu site ocorra sempre via HTTPS.

Configurando HTTPS e HSTS em Sites PHP

Para configurar HTTPS e HSTS, crie ou edite o arquivo .htaccess na raiz do seu site. Adicione o seguinte conteúdo:

# Redirecionamento de HTTP para HTTPS
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Configuração do HSTS
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Pronto! Agora seu site vai funcionar sempre com HTTPS, redirecionando para HTTPS quem acessá-lo através do protocolo HTTP.

Configurando HTTPS e HSTS em Sites ASP e ASP.NET

Para ativar HTTPS e HSTS em sites ASP e ASP.NET, edite o arquivo web.config na raiz do seu site e insira o seguinte conteúdo:

<system.webServer>
	<rewrite>
		<rules>
			<!-- Redirecionamento de HTTP para HTTPS -->
			<rule name="Redirect to HTTPS" stopProcessing="true">
				<match url="(.*)" />
				<conditions>
					<add input="{HTTPS}" pattern="^on$" negate="true" />
				</conditions>
				<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
			</rule>
		</rules>
	</rewrite>

	<!-- Configuração do HSTS -->
	<httpProtocol>
		<customHeaders>
			<add name="Strict-Transport-Security" value="max-age=31536000" />
		</customHeaders>
	</httpProtocol>
</system.webServer>

Pronto! Agora seu site vai funcionar sempre com HTTPS, redirecionando para HTTPS quem acessá-lo através do protocolo HTTP.

Configurando HTTPS e HSTS em ASP.NET Core

Para ativar HTTPS e HSTS em projetos ASP.NET Core, edite o arquivo Startup.cs. Adicione o seguinte código no método Configure:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
		// Redirecionamento de HTTP para HTTPS
		app.UseHttpsRedirection();

		// Configuração do HSTS (apenas em produção)
		if (env.IsProduction())
		{
				app.UseHsts();
		}
}

Pronto! Agora seu site em ASP.NET Core vai sempre funcionar com HTTPS, redirecionando automaticamente quem acessá-lo via HTTP e utilizando HSTS em ambiente de produção.

Evitando Conteúdo Misto em Seu Site

Este problema ocorre quando um site HTTPS carrega imagens ou outros arquivos (como scripts e CSS) através do protocolo HTTP. Isso compromete a segurança e faz com que os navegadores exibam o aviso de "Site inseguro" na barra de endereços.

Exemplo de Problema com Conteúdo Misto:

<img src="http://www.seusite.com/imagens/arquivo.png">

Correção Recomendada:

Use HTTPS nas URLs absolutas:

<img src="https://www.seusite.com/imagens/arquivo.png">

Ou use caminhos relativos, se já estiver forçando a navegação em HTTPS:

<img src="/imagens/arquivo.png">

Esses ajustes garantem que todos os recursos sejam carregados via HTTPS, mantendo o status de segurança do seu site.

Conclusão

Implementar HTTPS e HSTS são medidas essenciais para a segurança do seu site e para conquistar a confiança dos usuários. Essas configurações ajudam a manter seu site seguro e a melhorar seu posicionamento em mecanismos de busca.

Domínios hospedados
Clientes satisfeitos