Let’s Encrypt: certificado SSL gratuito para o seu site!

Criada pelo grupo de pesquisa Internet Security Research Group (ISRG), a Let’s Encrypt está sendo patrocinada por gigantes da área de tecnologia, dentre elas: Mozilla, Facebook, Cisco, Akamai, Automattic, entre outras.
Ao habilitar um certificado SSL no seu site, além de torná-lo mais seguro, você melhora o posicionamento dele junto ao Google, tendo em vista que no ano passado a empresa sinalizou que o uso de HTTPS é um dos fatores considerados na elaboração do seu ranking.
Atualmente o projeto se encontra na fase de testes (public beta). Entretanto, ele já está funcionando adequadamente, como vocês podem observar no certificado SSL que tenho habilitado aqui no blog 


Sem mais delongas, para a criação de um certificado são necessários quatro passos: clonar o repositório da Let’s Encrypt, executar uma linha de comando para gerar o certificado do seu domínio, criar um arquivo de confirmação no seu servidor web e, por fim, habilitar o certificado SSL no seu servidor web.
1. Clonando o repositório da Let’s Encrypt
Use os comandos abaixo para clonar o repositório no seu servidor web e entrar no diretório aonde ele foi baixado.
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
2. Executando a linha de comando para gerar seu certificado
De acordo com o manual, é possível gerar e instalar um certificado SSL automaticamente usando o seguinte comando:
$ sudo ./letsencrypt-auto
No entanto, confesso que não cheguei a testar dessa forma.
Como tenho preferência por gerar o certificado manualmente para então habilitá-lo no servidor web, utilizei o seguinte comando:
$ sudo ./letsencrypt-auto certonly -d tiagohillebrandt.eti.br -d www.tiagohillebrandt.eti.br --manual
Você pode adicionar vários domínios no mesmo SSL (UCC) usando o parâmetro -d.
Ao executar esse comando, perceba que inicialmente ele vai instalar alguns softwares no seu servidor (dependências), e depois ele irá pedir autorização para publicar o IP do seu servidor como o requisitante do certificado.
Após concordar, vamos para o próximo passo.
3. Criando o arquivo de confirmação no seu servidor web
Após autorizar a publicação do IP, ele exibirá uma mensagem no terminal parecida com esta:
Make sure your web server displays the following content at
http://tiagohillebrandt.eti.br/.well-known/acme-challenge/26bs4LFnqRp2eGXMaNeAkH19qLNz_peCi_aKG4RvsUQ before continuing:
26bs4LFnqRp2eGXMaNeAkH19qLNz_peCi_aKG4RvsUQ.YApOMO_Gv37-hGfMP3mRFZ8yM3n1JddQGUFYO7c3R5I
Press ENTER to continue
Ou seja, ela está pedindo para você criar um arquivo no seu servidor web (no nosso exemplo: .well-known/acme-challenge/26bs4LFnqRp2eGXMaNeAkH19qLNz_peCi_aKG4RvsUQ) e adicionar o texto em vermelho dentro desse arquivo.
Depois disso, acesse a URL (destacada em laranja no exemplo acima) no seu navegador. Ao carregar a página, o conteúdo dentro dela deverá ser aquele texto na posição destacada em vermelho. Após confirmar, volte ao terminal e pressione enter.
Feito isso, o certificado SSL será gerado e disponibilizado no seguinte diretório:
/etc/letsencrypt/live/tiagohillebrandt.eti.br/
Esse certificado terá validade de três meses. Depois disso será necessáriorenová-lo.
4. Habilitando o certificado SSL no seu servidor web
Para habilitar no seu NGINX, adicione as seguintes linhas no contextoserver do arquivo de configuração do seu site:
listen 443 ssl; ssl on; ssl_certificate /etc/letsencrypt/live/tiagohillebrandt.eti.br/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/tiagohillebrandt.eti.br/privkey.pem;
Feito isso, basta reiniciar o seu NGINX.
Já para habilitar no Apache, basta usar diretivas equivalentes.
Extra. Habilitando o HTTP/2 com OCSP stapling e cache de sessão no NGINX 1.9.5+
Se você está usando o NGINX 1.9.5 ou superior, pode querer habilitar o HTTP/2, que tem uma performance muito melhor do que o HTTP/1.1.
Além disso, o OCSP stapling e o cache de sessão ajudam a melhorar ainda mais a performance das suas requisições HTTPS.
listen 443 ssl http2;
ssl on; ssl_certificate /etc/letsencrypt/live/tiagohillebrandt.eti.br/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/tiagohillebrandt.eti.br/privkey.pem;
ssl_stapling on; ssl_stapling_verify on;
ssl_session_cache shared:SSL:20m; ssl_session_timeout 10m;
Feito isso, basta reiniciar o NGINX.
Se você quer entender um pouco mais sobre HTTP/2 e performance em geral, recomendo que confira os slides da minha apresentação sobre desempenho de servidores na WordCamp São Paulo 2015.
Cadê o cadeado verde?
Ao acessar um site HTTPS, um cadeado verde deve ser exibido na barra de endereços do seu navegador. O cadeado verde significa que o certificado SSL é válido e, além disso, que todos os elementos dentro daquela página estão sendo carregados por meio de uma conexão segura.
Portanto, se você acessar seu site via HTTPS e ele não estiver exibindo esse cadeado, você pode utilizar este site para descobrir qual é o problema: https://www.whynopadlock.com/
E é isso galera! Qualquer dúvida, sugestão ou xingamento, só jogar nos comentários
Abraço!

Fontes: https://tiagohillebrandt.eti.br/lets-encrypt-certificado-ssl-gratuito-para-seu-site.htm
Tag: estagiariodesuporte, estagiario de suporte
Tag: estagiariodesuporte, estagiario de suporte
Como faço esse processo no windows?
ResponderExcluirComo faço esse processo no windows?
ResponderExcluir