A importância de um certificado SSL para seu site
Introdução
A internet não parou de evoluir desde a sua invenção, e este é um dos aspectos que fascinam muitos dos seus entusiastas. Mas junto com a sua evolução, outras implicações surgiram, como questões relacionadas à privacidade e à proteção dos dados. Estas, especialmente, ganharam bastante destaque recentemente.
Um recurso criado no início da internet possui importante papel nesse contexto: o certificado SSL. Ele está intimamente ligado à segurança das informações e sua utilização cresceu muito nos últimos anos. Seu uso, portanto, deve estar na pauta de todos os profissionais da web, incluindo developers e afins.
Se você ficou interessado, veja aqui o que é um certificado SSL e por que você deve usar um em seu site. Saiba também como conseguir um certificado gratuito rapidamente e sem complicações.
O que é um certificado SSL
Um certificado SSL é um protocolo de segurança que permite a criptografia dos dados trocados entre dois pontos de rede. O recurso foi inventado pela Netscape (que posteriormente deu origem à Mozilla) com o objetivo de criar um canal de comunicação seguro para a internet, que na época encontrava-se em seus estágios iniciais.
A troca de informações criptografadas é realizada usando-se o protocolo HTTPS, ao invés do tradicional HTTP. Por estar criptografado, se algum pacote de dados for interceptado por terceiros, ele não poderá ser lido, o que garante a segurança das informações.
O processo de criptografia se dá através do uso de um par de chaves pública e privada. De maneira simplificada, sempre que um navegador acessa um site usando o protocolo HTTPS, o servidor envia uma chave pública para o navegador, juntamente com um pequeno código criptografado. Este código só pode ser decifrado em conjunto com a chave privada (que somente o servidor possui). Se a combinação de chaves casar, o trecho é decodificado e a conexão é estabelecida, permitindo a troca de dados entre as partes.
Chaves de criptografia são arquivos de texto que contém uma grande sequência de caracteres. Para nós, humanos, a sequência de caracteres de um certificado SSL não significa nada, mas ela é lida por computadores e usada para codificar e decodificar dados.
Exemplo do conteúdo de um arquivo de certificado SSL
Diferença entre os protocolos HTTP e HTTPS
A sigla HTTP refere-se ao protocolo de transferência de hipertexto (do inglês, Hypertext Transfer Protocol). Este é o protocolo utilizado na internet para a troca de dados. O protocolo HTTP não possui qualquer tipo de criptografia e os dados são recebidos e enviados em texto plano.
O protocolo HTTPS refere-se ao mesmo esquema de troca de hipertexto, mas com uma camada de segurança adicional, o SSL, representado pela letra S na sigla HTTPS. A diferença entre ambos, como podemos ver, é a camada de segurança, presente apenas na versão HTTPS do protocolo.
Ao acessar qualquer site na internet, utiliza-se um dos dois protocolos, mesmo que o usuário não digite-os explicitamente no navegador. Sites que utilizam HTTPS são identificados como "seguros" pela maioria dos navegadores modernos, o que por si só já é algo que merece atenção.
Aviso de site seguro no navegador Google Chrome 68
Porque o SSL vem se tornando cada vez mais importante na internet
A segurança das informações sempre foi uma questão importante na internet e esteve no foco de grandes empresas. Este é o caso do Google, que vem implementando uma série de medidas de segurança em seus serviços. O primeiro passo foi tornar as buscas encriptadas por padrão, através do protocolo HTTPS, isso em 2011. Em 2014, a empresa anunciou que a presença do HTTPS em sites passou a ser considerada como um dos fatores de ranqueamento nos resultados de busca. Assim, sites com SSL passaram a se beneficiar com mais visibilidade em buscas orgânicas.
Desde então, muitas outras empresas vem se manifestando e realizando mudanças nessa direção. Esse também é o caso do WordPress. No final de 2016, Matt Mullenweg, criador da ferramenta, publicou um post informando que o WordPress passaria a promover parceiros de hospedagem que oferecem SSL por padrão para seus clientes. Ele também comunicou que o WordPress começaria a implementar recursos que dependeriam da segurança do SSL para funcionar.
Atualmente, os navegadores de internet estão tratando essa questão de maneira bastante explícita. O Google Chrome, por exemplo, desde a versão 68, lançada em julho de 2018, passou a identificar como “não seguras” todas as páginas entregues via HTTP. O navegador Firefox exibe um aviso em campos de formulário de páginas que não utilizam o protocolo de segurança.
Aviso de formulário inseguro em sites HTTP
Como podemos ver, além da questão da segurança, ter um certificado SSL em seu site e se valer do protocolo HTTPS vem se tornando uma premissa. Afinal, ninguém deseja que os usuários de um site se sintam "inseguros" ou duvidem de suas informações por conta de um aviso no navegador, não é mesmo?
Mas como obter e usar um certificado SSL em um site? E quanto custa um certificado? Isso é o que veremos a seguir.
Como conseguir um certificado SSL para o seu site
Antigamente, ter um certificado SSL era algo caro e que exigia pré-requisitos no servidor, como um IP dedicado. Mas isso mudou, graças à uma iniciativa que reuniu grandes empresas, como a Mozilla, o Facebook e o Google. Refiro-me ao Let's Encrypt, que é uma entidade certificadora gratuita e automatizada, criada com o propósito de tornar a internet um lugar mais seguro.
O certificado emitido pelo Let's Encrypt é do tipo "validação de domínio". Ao iniciar o processo de instalação, um script verifica se o domínio está apontado para o servidor em questão. Em caso positivo, o certificado é instalado e renovado automaticamente, em um processo criado para ser simples para o usuário.
Até o momento, mais de 50 milhões de certificados Let's Encrypt já foram emitidos em todo o mundo.
O script de instalação do Let's Encrypt está disponível para qualquer pessoa que tenha acesso SSH/root ao servidor. Para aqueles que não possuem esta condição, é possível contar com a instalação gratuita do SSL pela empresa de hospedagem. Muitas das melhores hospedagens de sites oferecem o Let's Encrypt ou versões gratuitas de outros certificados SSL.
Boas práticas em sites que utilizam SSL
Ao instalar um certificado SSL em seu site, os dois protocolos de navegação, HTTP e HTTPS, ficam disponíveis para seus usuários. Esse funcionamento pode causar alguns problemas que merecem atenção, principalmente do ponto de vista da otimização para os mecanismos de busca (SEO). O principal deles é a possibilidade de gerar conteúdo duplicado, aos olhos dos buscadores. Isso ocorre porque a mesma página em seu site poderá ser acessada tanto pela versão insegura (exemplo: https://meusite.com/pagina) quanto pela segura (exemplo: https://meusite.com/pagina).
Para evitar problemas como esse, algumas medidas simples de configuração podem ajudar.
A mais indicada é redirecionar de todo o tráfego do site para a versão HTTPS das URLs. Isso pode ser conseguido incluindo-se uma regra de redirecionamento no arquivo de configuração do servidor. A regra em si pode variar dependendo do servidor, mas pode-se encontrar exemplos para os mais usados na web, como o Apache, NGINX e o IIS, em uma busca rápida no Google.
Outra medida bem interessante é a utilização de uma canonical tag no código HTML do site, para indicar o endereço original do conteúdo em questão. Para isso, usa-se uma tag do tipo <link> com o atributo rel="canonical", como no exemplo abaixo:
<head>
...
<link rel="canonical" href="https://meusite.com.br/pagina-original"/>
...
</head>
Como podemos ver, a canonical tag deve ser inserida no cabeçalho de todas as páginas do site, em qualquer lugar entre as tags <head> e </head>, e deve conter a URL original da página em questão. Dessa forma, mesmo que existam variações da mesma página, os buscadores vão conseguir entender que se trata do mesmo conteúdo.
Esta é uma boa prática não apenas quando estamos falando de protocolos, mas em qualquer situação cuja URL pode exibir o mesmo conteúdo em mais de uma página, como por exemplo sites dinâmicos que carregam conteúdos baseados em parâmetros:
- meusite.com.br/pagina.php?condicao=x
- meusite.com.br/pagina.php?condicao=y
Páginas iniciais com e sem o nome do arquivo padrão:
- meusite.com.br/
- meusite.com.br/index.html
URLs com e sem barra no final:
- meusite.com.br/pagina
- meusite.com.br/pagina/
E em muitas outras situações!
Conclusão
Como vimos, o uso de um certificado SSL em sites vem se tornando cada vez mais importante. Sua utilização, além de proteger a confidencialidade das informações que trafegam na internet, ainda pode trazer benefícios para o posicionamento de um site nos resultados de busca.
A popularização do SSL fez com que a implementação do recurso venha se tornando fácil e gratuita, graças à iniciativas de diversas organizações e empresas.
E para aqueles que desejam realizar a instalação de um certificado em seu servidor, deixo aqui um tutorial em português para a instalação do Let’s Encrypt. Confira também o passo a passo para configuração do HTTPS no WordPress, se esta for a plataforma do seu site.
Um abraço e até a próxima!
Conheça os livros do Maujor®
Ir para a página de entrada nos sites dos livros.