Usamos Certificado SSL gratuitos com o Let’s Encrypt

Let’s Encript é um projeto encabeçado pela Linux Foundation com o intuito de popularizar e difundir a utilização de criptografia na web ao facilitar e a aquisição e instalação de certificados SSL assinado por uma autoridade certificadora.

Qualquer um que já precisou tornar um website mais seguro através da instalação de um certificado SSL sabe que não se trata de uma tarefa trivial. Além, disso, como não é algo que fazemos diariamente, fica difícil lembrar os passos necessários na hora que precisamos, certo?

Com o Let’s encrypt não há a necessidade de emails de confirmação, certificados expirados quebrando seu site ou configurações complexas. O próprio programa cuida de tudo isso para você. Além de tudo, os certificados emitidos pelo Let’s Encrypt são gratuitos e, portanto, não há pagamento envolvido. Parece bom? Então vamos ver como ele funciona.

Como o let’s encrypt garante que não se trata de uma fraude?

O Let’s Encrypt implementa um novo protocolo chamado ACME com a finalidade de tornar mais simples a obtenção e configuração de certificados SSL.

Há 2 processo envolvidos em sua utilização: o primeiro é provar a CA (Certificate Authority) do Let’s Encrypt que um determinado servidor controla aquele domínio. Uma vez confirmado isso, é possível requisitar, renovar e revogar um certificado para o domínio confirmado de forma automática.

O agente do Let’s Encrypt que instalaremos no servidor é na verdade um cliente em Python. Na primeira vez que o cliente interagir com o servidor remoto da CA ela irá gerar um par de chaves criptográficas para este agente.

Em seguida, o servidor remoto ira solicitar um ou mais testes para confirmar se o servidor web realmente tem o controle do domínio para o qual ele solicita o certificado. Os testes podem ser, por exemplo:

  • Criar um registro DNS na URL sob o domínio, ou
  • Disponibilizar um recurso HTTP em uma página específica no domínio em questão.

Juntamente com os desafios, a CA do Let’s Encrypt pede que o agente assine os desafios com a chave pública enviada para ele, de forma que a CA possa checá-los com a chave privada correta. Certamente, trata-se de um processo bastante engenhoso e, até certo ponto, simples.

A imagem abaixo exemplifica esse processo: para provar que tem o controle do domínioexample.com o Let’s Encrypt solicita que o agente instalado no servidor disponibilize uma página com ed98 assinado digitalmente com a chave pública 9cf0b331 gerada anteriormente, na URL /8303

Uma vez que o agente completa as tarefas solicitadas, ele avisa ao servidor remoto da CA que está pronto para a verificação e este, por sua vez, tenta baixar o documento solicitado esperando que o conteúdo seja aquele esperado. Se a assinatura criptográfica bater com o a chave privada, o agente é considerado autorizado para gerenciar o domínioexample.com.

Instalação do Agente

Agora que sabemos como o Let’s Encrypt garante a autenticidade do certificado, vamos colocar a mão na massa para utilizar o programa. Se a sua distribuição Linux tiver um pacote com o programa, use-o. Caso contrário, iremos utilizar o Git:

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
./letsencrypt-auto --help

O último comando acima irá identificar o seu sistema, baixar todas as dependências e atualizar o cliente automaticamente.

Utilização da ferramenta

O ferramenta utiliza diversos plugins que podem ser usados para obter e instalar os certificados. Se estiver utilizando o plugin Apache, que automatiza tanto a obtenção quanto a instalação e configuração do certificado no servidor:

./letsencrypt-auto --apache

Por enquanto, não há plugin para outras plataformas, portanto, caso utilize o Nginx ou outro servidor web, é possível utilizar a opção certonly --standalone. Para isso, pare o seu servidor e digite:


./letsencrypt-auto certonly --standalone -d seusite.com.br -d www.seusite.com.br

Em caso de hospedagens compartilhadas, é possível utilizar a opção certonly --webroot e especificar o diretório de instalação:


./letsencrypt-auto certonly -d seusite.com.br -d www.seusite.com.br -w /var/www/diretorio

Não foi necessário nem mesmo alterar o apache.conf

Renovação do Certificado

Para renovar o seu certificado, simplesmente execute o letsencrypt novamente e forneça os mesmo valores quando solicitado. Lembre-se que o projeto ainda está em beta e portanto, muita coisa pode mudar até que seja necessário renovar seu certificado.

Revogação do Certificado

Para revogar um determinado certificado, passe o caminho completo do arquivo:


$ letsencrypt revoke --cert-path /caminho/do/seusite-cert.pem

A documentação completa pode ser lida no site do projeto.

 

  • Email, SSL
  • 25 Usuários acharam interessante!
Esta resposta lhe foi útil?

Related Articles

Porque não compartilhamos SSL para websites

Você compartilharia sua escova de dentes? Provavelmente não, pois não se exporia a riscos de...

Ataques DoS (Denial of Service) e DDoS (Distributed DoS)

Introdução Quem acompanha os noticiários de tecnologia e internet certamente já se deparou com...

Como limpar um Computador Infectado por Malware

Seu PC foi infectado apesar de seus esforços para mantê-lo seguro? O notebook de um amigo tem...

Aplicando segurança em seu FTP ou arquivos públicos

Neste artigo iremos falar sobre segurança em FTP (File Tranfer Protocol). O FTP é um protocolo da...

Proteja seu WordPress de Força Bruta

WordPress é uma plataforma de blogging completa. É feito altamente personalizável e fácil de...