fbpx
Desenvolvimento

Guia completo sobre o Certificado Let’s Encrypt

Cada vez mais as pessoas buscam segurança ao acessarem um site na internet, principalmente os que envolvem compras e envio de dados sensíveis. Quando o assunto é proteção na web, a criptografia é uma tecnologia quase que obrigatória e os sites que não têm uma certificação SSL têm sido evitados ou até banidos por determinados navegadores. Para quem não tem condições de investir em um certificado pago, uma boa solução é utilizar o Let’s Encrypt.

O Let’s Encrypt é um certificado gratuito que vem ganhando cada vez mais mercado, não só pelo custo zero, mas também pela facilidade de instalação e credibilidade. Esse certificado foi criado por uma organização sem fins lucrativos, o ISRG — Internet Security Reasearch Group —, com objetivo de diminuir as barreiras financeiras, tecnológicas, educacionais e garantir uma comunicação mais segura na internet, ou seja, o foco foi a popularização do acesso aos certificados SSL.

Neste post, vamos conhecer tudo sobre o Let’s Encrypt, aprender a instalá-lo e entender as diferenças entre os certificados pagos e os gratuitos. Confira!

O que é uma Autoridade Certificadora?

A autoridade certificadora (AC) é um órgão público ou privado que emite certificados digitais e se responsabiliza pela fiscalização desse documento, segundo as definições da Declaração das Práticas de Certificação. Os certificados SSL, por exemplo, certificam que a troca de dados entre o usuário e um site é segura.

Além da emissão, a autoridade certificadora fica responsável pela renovação e revogação dos certificados digitais emitidos por ela. Sempre que um certificado for revogado, ele deverá ir para a LCR — Lista de Certificados Revogados. Outra atribuição da autoridade certificadora é averiguar se o titular do certificado detêm a chave privada que corresponda a chave pública do documento emitido.

Existe somente um tipo de Autoridade Certificadora?

Na verdade há dois tipos de Autoridades Certificadoras, as de primeiro e as de segundo nível. A diferença entre as duas está no fato de que a de primeiro nível pode emitir certificado para a de nível abaixo. Já as autoridades de segundo nível emitem certificados digitais para pessoas físicas, jurídicas e páginas na internet.

Quem fiscaliza as autoridades certificadoras?

As autoridades certificadoras não são fiscalizadas, mas elas devem se reportar ao Instituto Nacional de Tecnologia da Informação, o ITI — órgão que desenvolve as normas sobre as certificações digitais no Brasil. Para garantir a credibilidade e segurança de um certificado digital, a autoridade certificadora deverá seguir essas normativas.

Existe autoridade controladora online?

Não existe autoridade controladora 100% online, pois alguém sempre terá que ser responsável pela titularidade, ou seja, terá que apresentar os seus documentos para confirmar os dados e assinar os termos. A solicitação do certificado digital pode e costuma ser feita pela internet, sendo que a maioria das autoridades controladoras oferecem sites que facilitam a solicitação.

Somente AC vinculadas à ICP-Brasil podem emitir o certificado digital?

A ICP-Brasil — Infraestrutura de Chaves Públicas Brasileiras — é uma infraestrutura criada para viabilizar a emissão de certificados digitais, ou seja, um conjunto de práticas, técnicas e procedimentos, que suportam um sistema criptográfico, baseados em certificados digitais.

A lei permite que, mesmo as entidades sem vínculo com a ICP-Brasil, criem as suas próprias normativas de segurança para a emissão de certificados digitais, seja para a utilização em órgãos públicos ou em empresas. Porém, para que esse certificado digital tenha a segurança necessária, a autoridade controladora deverá estar de acordo com as normas do ITI.

O que é um certificado SSL?

Para falarmos sobre o Let’s Encrypt precisamos tratar de sua raiz, que são os certificados SSL — Secure Sockets Layer —, que nada mais é do que um protocolo que garante a criptografia na troca de dados. O objetivo é garantir a segurança dos dados que circulam livremente pela internet.

Quando você entra em uma página da internet e ao lado do endereço há um cadeado verde, significa que a troca de dados entre o seu navegador e o servidor está protegida por criptografia, ou seja, todos os dados que circulam pela sua máquina só poderão ser decifradas nesses dois pontos. Se essa informação for interceptada no meio do caminho, os dados não poderão ser lidos ou modificados.

Por que os certificados SSL estão se tornando populares?

Até um tempo atrás, o processo para a emissão de um certificado SSL era lento e caro, pois, além do usuário ter que desembolsar uma boa grana, tinha que pagar por um IP dedicado, para que o certificado fosse instalado em um servidor compartilhado. Isso poderia significar um gasto de mais de R$ 300 por ano.

Isso fazia com que, mesmo sabendo da importância de certificar o seu site, muita gente adiasse essa emissão para investir em outras áreas. O Let’s Encrypt foi o responsável pela democratização do protocolo HTTPS, pois deu uma oportunidade para que qualquer pessoa pudesse emitir e renovar os seus certificados de forma automática.

Quais são os benefícios de ter o certificado SSL em meu site?

O fato de termos empresas grandes financiando o Let’s Encrypt, é que a internet segura deve ser fruto de um esforço de grupo, afinal, estamos falando de um ambiente público — não um dono da internet, nem um governo, ela é o que seus usuários constroem. Por isso, é cada vez maior o empenho para que todos os sites tenham o SSL, inclusive com os navegadores criando camadas de segurança para evitar que os usuários acessem sites sem o HTTPS.

O SSL contribui para o SEO

Desde 2014 que o Google coloca os sites que têm o certificado SSL em vantagem nos resultados de buscas, em relação aos que não se preocupam com a segurança dos usuários.

Além disso, o Google Chrome, navegador da empresa, exibe um anúncio em páginas que têm formulários ou que pedem informações bancárias, avisando que não é seguro enviar dados para os sites sem o SSL — os sites são marcados como inseguros e uma página de alerta aparece antes do conteúdo principal.

Os recursos do WordPress dependerão de SSL

O CMS mais popular do mundo, o WordPress, também está engajado nesse movimento por uma internet mais segura e isso foi anunciado pelo criador da plataforma, Matt Mullenweg. Os novos recursos do WP só serão compatíveis com sites que trazem o protocolo HTTPS. Desde de 2016, todos os sites publicados pela plataforma WordPress trazem o HTTPS de forma gratuita, com instalação e atualização automáticas.

O que é o Certificado Let’s Encrypt?

Agora que já sabemos o que é uma autoridade certificadora, vamos ao assunto principal deste post. O Let’s Encrypt nada mais é do que uma autoridade que emite certificados gratuitos e automáticos. A ferramenta emite o certificado digital que garante que qualquer usuário possa habilitar o protocolo HTTPS em seus sites.

O processo de emissão de certificado Let’s Encrypt é bem simples e feito de forma automatizada. Boa parte das empresas de hospedagem estão integrando o Let’s Encrypt diretamente no painel de hospedagem, permitindo que o certificado seja gerado e instalado com apenas alguns cliques. O Let’s Encrypt é regido pelos seguintes princípios:

  • gratuidade — qualquer pessoa que tem um domínio pode requerer o seu certificado SSL, sem pagar nada por isso;
  • automação — a emissão, configuração e renovação do certificado são automáticos, a partir do momento em que há a instalação no servidor de hospedagem;
  • segurança — o Let’s Encrypt é uma plataforma que garante as melhores práticas de segurança TLS avançada, válida para o emissor do certificado e para os administradores do site;
  • transparência — os certificados publicados ou revogados pelo Let’s Encrypt devem estar disponíveis publicamente, sendo auditáveis por qualquer pessoa;
  • abrangência — os padrões do protocolo de renovação e publicação são abertos e podem ser adotados por todos;
  • cooperação — o objetivo do Let’s Encrypt é beneficiar a comunidade, ou seja, está acima do controle de qualquer organização.

Como funciona o certificado Let’s Encrypt?

Dois requisitos são necessários para quem quer gerar um certificado SSL: um servidor de hospedagem e um domínio. Quando o usuário inicia o processo de geração de certificado, o script do Let’s Encrypt começa uma série de procedimentos para fazer a verificação da autenticidade do domínio e depois gerar o certificado.

Além da verificação da autenticidade do domínio, é gerado um par de chaves, a pública e a privada. São essas chaves que servirão de base para a criptografia e descriptografia durante as requisições, utilizando o protocolo HTTPS.

Ao mesmo tempo que faz a validação do domínio, o script gera os caracteres aleatórios que serão criptografados e descriptografados para fazer os testes das chaves. Apesar de parecer um processo complexo, ele leva apenas alguns minutos e, após todas as confirmações de autenticidade, o certificado é emitido e instalado no servidor de hospedagem.

Há várias maneiras de se obter um certificado Let’s Encrypt, porém, os métodos se dividem basicamente em duas categorias: com e sem acesso ao Shell — SSH. Se a sua hospedagem oferece privilégios de administrador e um domínio ativo, então você pode instalar o certificado.

Como instalar o certificado Let’s Encrypt?

Você pode instalar o Let’s Encrypt pelo cPanel, desde que o seu provedor de hospedagem permita, ou via SSH. Para quem tem privilégios de administrador em sua hospedagem, neste tópico damos um passo a passo para realizar a instalação do Let’s Encrypt por conta própria. Como já adiantamos acima, entre os pré-requisitos para essa instalação estão o acesso ao Shell e os privilégios de administrador, root.

É importante que você saiba que, mesmo que sua hospedagem permita a conexão SSH, ela pode não oferecer os demais privilégios, pois isso só é possível em servidores VPS, dedicados e hospedagens cloud. Veja abaixo como instalar o certificado Let’s Encrypt manualmente.

Acesse seu servidor via SSH

O primeiro passo para começar a instalação é acessar o servidor de hospedagem com o terminal. Digite o comando abaixo, substituindo as informações de exemplo pelos seus dados:

  • $ ssh usuario@ip_ou_url_do_servidor

É recomendado que o usuário não utilize o seu usuário root para fazer esse procedimento. O ideal é que você crie um novo usuário com privilégios de administrador.

Instale o Certbot

Para a instalação, o Let’s Encrypt recomenda o Certbot — há várias opções para a geração de um certificado. O Certbot realiza a emissão e instalação do Let’s Encrypt em seu servidor de forma rápida e prática. As instruções para a instalação estão presentes no site oficial do Certbot, em diferentes servidores e sistemas.

Aqui, vamos seguir as instruções para a instalação no Ubuntu com o Apache. Para começar, acione o repositório do Certbot:

  • digite — $ sudo add-apt-repository ppa:certbot/certbot —;
  • aperte enter para aceitar os termos e atualize a lista de pacotes;
  • digite — $ sudo apt-get update —;
  • finalize a instalação do Certbot para apache;
  • digite — $ sudo apt-get install python-certbot-apache —;

Realize a emissão e instalação do certificado SSL

Após a instalação do Certbot, é hora de fazer o que realmente desejamos, a emissão do certificado. O processo é simples e objetivo, sendo necessário apenas um comando e o fornecimento de algumas informações. Digite o comando abaixo e, em seguida, aperte a tecla enter para executá-lo — não se esqueça de substituir o domínio de exemplo pelo seu:

  • sudo certbot –apache -d meusite.com.br -d www.meusite.com.br

No exemplo acima, emitiremos um certificado para o domínio principal e para o subdomínio “www” — ao contrário do que muita gente pensa, os endereços “meusite.com.br” e “www.meusite.com.br” não são a mesma coisa, pois o segundo é um subdomínio do primeiro, tal como seria: “blog.meusite.com.br”.

O importante é que você saiba que é possível inserir vários domínios e subdomínios em um mesmo comando. Para isso, você só precisará adicionar a flag “-d”, com o nome do domínio em seguida. O único pré-requisito é que os domínios estejam configurados em um mesmo servidor.

Após a inserção do comando, você terá que inserir algumas informações que serão solicitadas no terminal, sendo que a primeira é o seu e-mail de contato. É importante que você coloque um e-mail válido, afinal, ele será utilizado para o envio de alertas de segurança e para os avisos sobre a renovação do certificado.

Depois, você deverá ler e concordar com os termos de serviço, digitando a tecla “A”, de “Agree”, ou seja, concordo, em inglês. Você será perguntado se o e-mail enviado poderá ser compartilhado com a Eletronic Frontier Foundation, organização mantenedora do Certbot. Se você concorda, digite “Y”, se discorda, digite “N”.

Após essas configurações, o seu certificado começará a ser emitido e você poderá acompanhar a evolução na tela. Antes de ser completada a operação, você deverá informar se deseja que todo o tráfego de seu site seja redirecionado para a versão criptografada — HTTPS — ou se quer deixar da forma como está.

Caso não haja um motivo muito específico para o não redirecionamento, você deverá escolher a opção 2, sabiamente redirecionando todo o tráfego para o protocolo seguro.

Após essa última configuração, o seu certificado já estará em pleno funcionamento. Para confirmar, acesse o seu site utilizando o protocolo seguro, como em nosso exemplo: https://meusite.com.br. Se quiser um diagnóstico mais preciso, você poderá utilizar o sistema de análises abaixo, substituindo “meusite.com” pelo seu domínio:

  • https://www.ssllabs.com/ssltest/analyze.html?d=meusite.com

Verifique se a renovação automática está programada

Os certificados emitidos pela Let’s Encrypt não são permanentes, eles têm a validade de 90 dias. Mas não se preocupe com o prazo curto, pois o processo de renovação é automático, na maioria das vezes. Para verificar se o agendamento está configurado de forma correta, digite o seguinte comando:

  • $ sudo certbot renew –dry-run

Com o comando $ certbot renew é feita a verificação e renovação do Let’s Encrypt e a flag –dry-run faz o disparo do script em modo teste — não realiza a renovação propriamente dita, mas faz uma simulação. Caso ocorra algum problema com o agendamento, você receberá um aviso na tela.

Além disso, sempre que houver algum problema relacionado à renovação do certificado, o usuário receberá um aviso via e-mail, por isso é tão importante cadastrar um e-mail válido no início do processo.

Quais as diferenças entre o SSL gratuito e o pago?

Se existe um certificado SSL gratuito, porque as pessoas ainda utilizam os certificados pagos? Esse é uma pergunta pertinente, afinal, para pagarmos por algo que podemos ter gratuitamente, alguma vantagem temos que ter.

Há algumas empresas certificadoras que emitem o certificado SSL de forma paga, como a Comodo, GeoTrust, RapidSSL, Thawte, Certum e Symantec. Mesmo após o lançamento da Let’s Encrypt, que permitiu que qualquer site ou loja virtual tenha o cadeado verde ao lado de sua URL, sem pagar nada por isso, os certificados pagos seguem sendo procurados, principalmente pelos administradores de e-commerces.

Em relação à segurança, não há grande diferença um certificado emitido pela Let’s Encrypt e um da Comodo. As diferenças ficam em relação ao nível de validação e nas garantias oferecidas por cada uma, caso haja alguma fraude ou problemas com a chave criptográfica, como as quebras.

Nesse cenário, o fator de decisão na hora de escolher uma autoridade certificadora fica sendo a confiança. O Let’s Encrypt não oferece as garantias que, por exemplo, os planos mais básicos do PositiveSSL e do Comodo oferecem — garantias essas que podem chegar a quase US$ 10 mil, em caso de problemas graves de segurança.

Com o crescimento da Let’s Encrypt, a Comodo começou a oferecer, em conjunto com o cPanel, uma versão gratuita de seu SSL, por meio da ferramenta AutoSSL, que não oferece as mesmas garantias como o plano pago. As diferenças entre um SSL pago e um gratuito não ficam apenas nas garantias, há também outros pontos importantes que podem ser destacados.

Veja abaixo algumas das principais diferenças, para que você analise as suas necessidades e escolha a melhor opção para o seu site. Confira!

SSL Pago

  • precisa de IP dedicado obrigatório;
  • exige um SSL homologado por uma certificadora/empresa;
  • oferece seguro — as falhas de segurança, se comprovadas, são cobertas por um seguro com um valor predefinido, que varia de acordo com o valor do plano e com a empresa homologadora;
  • a renovação é anual.

SSL Gratuito

  • não há a exigência de um IP dedicado, ou seja, trabalha em IP compartilhado;
  • não tem custo;
  • não tem registro;
  • a renovação é feita a cada 90 dias, na maioria das vezes de forma automática.

Quais são as desvantagens da Let’s Encrypt?

Apesar de sua enorme contribuição para a popularização dos certificados SSL, o Let’s Encrypt pode apresentar eventuais desvantagens, principalmente para quem busca certificados mais avançados — administradores de e-commerces e aplicações web robustas. Isso porque, ainda não conseguimos realizar com o Let’s Encrypt os seguintes procedimentos:

  • proteger múltiplos subdomínios nos certificados Wildcards;
  • verificar a identidade da pessoa física ou jurídica que está por trás do site que estamos visitando;
  • validação da organização — OV;
  • emitir certificados de validação estendida — aqueles que exibem uma barra verde e grande no canto do navegador com o nome da empresa.

Em suma, podemos dizer que o Let’s Encrypt cria uma conexão segura, mas não identifica o dono do site. Para um e-commerce, por exemplo, que exige uma maior relação de confiança entre o usuário e o site, isso pode gerar uma certa sensação de insegurança e até abrir margens para golpes.

Apesar dessas desvantagens, é inegável a importância do Let’s Encrypt para a popularização e a conscientização dos usuários e criadores de conteúdo em relação à importância do protocolo HTTPS. Se você está começando agora, criando o seu primeiro site ou Blog e não tem grana para investir, vale apenas iniciar a caminhada com esse certificado.

Neste post, vimos que os certificados SSL estão deixando se ser considerados uma tendência ou diferencial de um site e se tornando quase que obrigatórios em um ambiente que cada vez mais fecha o cerco contra páginas inseguras. O Let’s Encrypt se apresenta como uma solução para quem não quer ou não tem como investir em um certificado pago, alimentando a vocação da internet em ser um ambiente livre e colaborativo.

Se você gostou do nosso post, compartilhe-o em suas redes sociais agora mesmo e contribua em uma internet mais segura para todos.