{"id":34430,"date":"2022-04-27T08:02:00","date_gmt":"2022-04-27T11:02:00","guid":{"rendered":"https:\/\/blog.locaweb.com.br\/?p=34430"},"modified":"2022-04-26T11:23:42","modified_gmt":"2022-04-26T14:23:42","slug":"como-gerar-certificado-digital-gratuito-com-lets-encrypt","status":"publish","type":"post","link":"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/como-gerar-certificado-digital-gratuito-com-lets-encrypt\/","title":{"rendered":"Como gerar seu certificado digital gratuito com Let&#8217;s Encrypt"},"content":{"rendered":"\n<p class=\"has-text-align-center wp-block-paragraph\"><em>Tornar o seu site seguro \u00e9 essencial para garantir uma boa performance. Confira abaixo um tutorial completo para gerar seu certificado digital gratuito com Let&#8217;s Encrypt.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quanto maior a confiabilidade do seu site, mais visitantes ir\u00e3o acess\u00e1-lo e com isso, mais transa\u00e7\u00f5es poder\u00e3o ser realizadas nele. Uma das maneiras de aumentar a confiabilidade (e pra mim hoje em dia, indispens\u00e1vel para qualquer site na web, \u00e9 a instala\u00e7\u00e3o de um certificado SSL, certificado esse que autentica a identidade de um site e possibilita a transfer\u00eancia de dados criptografados sobre a conex\u00e3o HTTP (se tornando HTTPS).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">H\u00e1 um tempo atr\u00e1s adquirir um certificado SSL era altamente caro, o que dificultava e muito o acesso de empresas pequenas e <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/como-cobrar-pelo-seu-servico-de-freelancer-em-desenvolvimento\/\">freelancers<\/a> a esse tipo de tecnologia. Por\u00e9m, em 2016 foi criada a entidade certificadora Let\u2019s Encrypt, um projeto encabe\u00e7ado pela linux foundation com o objetivo de tornar mais f\u00e1cil e automatizado o processo de adquir\u00eancia de certificados digitais.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como o let\u2019s encrypt garante que n\u00e3o se trata de uma fraude?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O Let\u2019s Encrypt implementa um novo protocolo chamado&nbsp;<a href=\"https:\/\/github.com\/letsencrypt\/acme-spec\" target=\"_blank\" rel=\"noreferrer noopener\">ACME<\/a>&nbsp;com a finalidade de tornar mais simples a obten\u00e7\u00e3o e configura\u00e7\u00e3o de&nbsp;<a href=\"https:\/\/www.locaweb.com.br\/ssl-locaweb\/\">certificados SSL<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">H\u00e1 2 processos envolvidos em sua utiliza\u00e7\u00e3o: o primeiro \u00e9 provar a CA (<em>Certificate Authority<\/em>) do Let\u2019s Encrypt que um determinado servidor controla aquele dom\u00ednio. Uma vez confirmado isso, \u00e9 poss\u00edvel requisitar, renovar e revogar um certificado para o dom\u00ednio confirmado de forma autom\u00e1tica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O agente do Let\u2019s Encrypt que instalaremos no servidor \u00e9 na verdade um cliente em Python. Na primeira vez que o cliente interagir com o servidor remoto da CA ela ir\u00e1 gerar um par de chaves criptogr\u00e1ficas para este agente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em seguida, o servidor remoto ira solicitar um ou mais&nbsp;testes para confirmar se o servidor web realmente tem o controle do dom\u00ednio para o qual ele solicita o certificado. Os testes podem ser, por exemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Criar\u00a0um registro DNS na URL sob o dom\u00ednio;<\/li><li>Disponibilizar um recurso HTTP em uma p\u00e1gina espec\u00edfica no dom\u00ednio em quest\u00e3o.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Juntamente com os desafios, a CA do Let\u2019s Encrypt pede que o agente assine os desafios com a chave p\u00fablica&nbsp;enviada para ele, de forma que a CA&nbsp;possa chec\u00e1-los com a chave privada&nbsp;correta. Certamente, trata-se de um processo bastante engenhoso e, at\u00e9 certo ponto, simples.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A imagem abaixo exemplifica esse processo: para provar que tem o controle do dom\u00ednio\u00a0<strong>example.com\u00a0<\/strong>o Let\u2019s Encrypt solicita que o agente instalado no servidor disponibilize uma p\u00e1gina com\u00a0<strong>ed98<\/strong>\u00a0assinado digitalmente com a chave p\u00fablica\u00a0<strong>9cf0b331<\/strong>\u00a0gerada anteriormente, na URL\u00a0<strong>\/8303<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"689\" height=\"164\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/lets-encrypt.png\" alt=\"lets encrypt\" class=\"wp-image-34455\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Uma vez que o agente completa as tarefas solicitadas, ele avisa ao servidor remoto da CA que est\u00e1 pronto para a verifica\u00e7\u00e3o e este, por sua vez, tenta baixar o documento solicitado esperando que o conte\u00fado seja aquele esperado. Se a assinatura criptogr\u00e1fica bater com o a chave privada, o agente \u00e9 considerado autorizado para gerenciar o dom\u00ednio\u00a0<strong>example.com<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No artigo de hoje, iremos ver como podemos instalar certificados digitais gratuitos utilizando o certbot do Let\u2019s Encrypt. Utilizando uma <a href=\"https:\/\/www.locaweb.com.br\/cloud\/vps-locaweb\/\">VPS da Locaweb<\/a> como exemplo (ubuntu 20.04 com nginx), que \u00e9 v\u00e1lido para qualquer distro baseada em debian. Continue a leitura e acompanhe o passo a passo:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Instalando o certbot no ubuntu 20.04<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Primeiramente, voc\u00ea dever\u00e1 instalar o snapd utilizando o comando abaixo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>sudo snap install core; sudo snap refresh core<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"83\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem1_letsencrypt.jpg\" alt=\"Passo1_certificado gratuito com let's encrypt\" class=\"wp-image-34431\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Depois vamos instalar o certbot:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>sudo snap install &#8211;classic certbot<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"81\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem2_letsencrypt.jpg\" alt=\"Passo2_ certificado gratuito com let's encrypt\" class=\"wp-image-34432\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">E ent\u00e3o, vamos preparar o comando do certbot:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>sudo ln -s \/snap\/bin\/certbot \/usr\/bin\/certbot<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"41\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem3_letsencrypt.jpg\" alt=\"Passo3_certificado gratuito let's encrypt\" class=\"wp-image-34433\"\/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Configure o seu dom\u00ednio<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para o pr\u00f3ximo passo, voc\u00ea dever\u00e1 j\u00e1 ter configurado no servidor os dom\u00ednios aos quais voc\u00ea gostaria de criar o certificado para a conex\u00e3o HTTP (porta 80). E com o dom\u00ednio apontando o DNS para o ip do servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemplo de configura\u00e7\u00e3o de dom\u00ednio:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>server {<\/strong><br><strong>listen 80 default_server;<\/strong><br><strong>listen [::]:80 default_server;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>root \/var\/www\/html\/psicologa.dev\/public;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>index index.php index.html index.htm index.nginx-debian.html;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>location \/ {<\/strong><br><strong>try_files $uri $uri\/ =404;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>}<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>location ~ \\.php$ {<\/strong><br><strong>include snippets\/fastcgi-php.conf;<\/strong><br><strong>fastcgi_pass unix:\/var\/run\/php\/php8.1-fpm.sock;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00a0}<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ao tentarmos acessar o site por https teremos o seguinte:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"329\" height=\"68\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem4_letsencrypt.jpg\" alt=\"Passo4_certificado gratuito com let's encrypt\" class=\"wp-image-34436\"\/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Execute o certbot<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Agora, s\u00f3 precisamos executar o certbot com o par\u00e2metro &#8211;nginx (caso voc\u00ea use apache, basta fazer &#8211;apache).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lembrando que esse comando ir\u00e1 modificar automaticamente a configura\u00e7\u00e3o do seu dom\u00ednio da porta <strong>80 (http)<\/strong> para a porta <strong>443 (https).<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>sudo certbot &#8211;nginx<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"25\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem5_letsencrypt.jpg\" alt=\"Passo5_certificado gratuito let's encrypt\" class=\"wp-image-34437\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Ao executar o comando ele ir\u00e1 solicitar o e-mail de administrador (o certbot ir\u00e1 enviar e-mails para lembrar voc\u00ea de atualizar o certificado quando estiver pr\u00f3ximo de expirar).<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"111\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem6_letsencrypt.jpg\" alt=\"Passo6_certificado gratuito let's encrypt\" class=\"wp-image-34439\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Tamb\u00e9m ir\u00e1 te solicitar a confirma\u00e7\u00e3o dos termos de servi\u00e7o, para isso digite: <strong>y<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem7_letsencrypt.jpg\" alt=\"Passo7_certificado gratuito let's encrypt\" class=\"wp-image-34441\" width=\"602\" height=\"176\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">E se voc\u00ea quer compartilhar seu email com a eletronic frontier foundation para receber emails diversos. Digite <strong>y<\/strong> caso queira e <strong>n<\/strong> caso n\u00e3o queira.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"269\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem8_letsencrypt.jpg\" alt=\"Passo8_certificado gratuito let's encrypt\" class=\"wp-image-34442\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Aparecer\u00e1 ent\u00e3o todos os dom\u00ednios configurados no seu servidor, no caso aqui o <strong>psicologa.dev<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"295\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem9_letsencrypt.jpg\" alt=\"Passo9_certificado gratuito let's encrypt\" class=\"wp-image-34443\"\/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Escolha o dom\u00ednio que vai configurar<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea poder\u00e1 escolher por n\u00famero o dom\u00ednio que deseja configurar. No caso aqui <strong>1<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Depois, ir\u00e1 te falar onde foi salvo os arquivos f\u00edsicos do certificado digital, bem como a data de expira\u00e7\u00e3o e realizar\u00e1 o deploy.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"213\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem10_letsencrypt.jpg\" alt=\"Passo10_certificado gratuito let's encrypt\" class=\"wp-image-34444\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"292\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem11_letsencrypt.jpg\" alt=\"Passo11_certificado gratuito let's encrypt\" class=\"wp-image-34445\"\/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Resultado<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Agora ao acessar o site, teremos:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"437\" height=\"320\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem12_letsencrypt.jpg\" alt=\"Passo12_certificado gratuito let's encrypt\" class=\"wp-image-34446\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">E no arquivo de configura\u00e7\u00e3o teremos algumas linhas escritas pelo certbot.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"243\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem13_letsencrypt.jpg\" alt=\"Passo13_certificado gratuito let's encrypt\" class=\"wp-image-34447\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"313\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem14_letsencrypt.jpg\" alt=\"Passo14_certificado gratuito let's encrypt\" class=\"wp-image-34448\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Agora temos um site com certificado digital gratuito!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Outros comandos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Caso voc\u00ea prefira configurar o https na m\u00e3o, poder\u00e1 gerar apenas o certificado com o comando:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>sudo certbot certonly &#8211;nginx<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E para renovar os certificados, voc\u00ea poder\u00e1 criar um crontab por exemplo invocando o seguinte comando:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>sudo certbot renew &#8211;dry-run<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"472\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/04\/imagem15_letsencrypt.jpg\" alt=\"Passo15_certificado gratuito let's encrypt\" class=\"wp-image-34449\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Viu como \u00e9 f\u00e1cil? Ter seu site mais seguro e de gra\u00e7a? Por isso falo que em 2022 \u00e9 inadimiss\u00edvel uma pessoa dev n\u00e3o ter um site rodando em HTTPS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ah pokemao, mas eu n\u00e3o estou utilizando o ubuntu\u2026 #comofaz?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No site oficial temos o exemplo de como instalar o certbot e gerar seus certificados em diversos sistemas operacionais e servidores web. Basta acessar <a href=\"https:\/\/certbot.eff.org\/instructions\">https:\/\/certbot.eff.org\/instructions<\/a> e escolher o tipo de servidor e o sistema operacional e rodar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se tiver alguma d\u00favida, pode me mandar um e-mail (voc\u00ea consegue achar aqui no artigo) ou comentar aqui que posso te ajudar no que precisar. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um grande abra\u00e7o e at\u00e9 a pr\u00f3xima!<\/p>\n\n\n\n<div class=\"user-cta-block\" style=\"background-color:#2E333C;\"><p>VPS Locaweb: melhor pre\u00e7o com a melhor infraestrutura no Brasil!<\/p><a class=\"user-cta\" style=\"background-color: #F00842\n;\" href=\"https:\/\/www.locaweb.com.br\/cloud\/vps-locaweb\/?utm_source=blog&#038;utm_medium=own&#038;utm_campaign=blog-vps-locaweb-lets-encrypt&#038;utm_id=vendas-blog\" target=\"_blank\" rel=\"noopener\">CONFIRA!<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Tornar o seu site seguro \u00e9 essencial para garantir uma boa performance. Confira abaixo um tutorial completo para gerar seu certificado digital gratuito com Let&#8217;s Encrypt. Quanto maior a confiabilidade do seu site, mais visitantes ir\u00e3o acess\u00e1-lo e com isso, mais transa\u00e7\u00f5es poder\u00e3o ser realizadas nele. Uma das maneiras de aumentar a confiabilidade (e pra [&hellip;]<\/p>\n","protected":false},"author":24,"featured_media":34452,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-34430","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-aberto"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/34430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/comments?post=34430"}],"version-history":[{"count":9,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/34430\/revisions"}],"predecessor-version":[{"id":34457,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/34430\/revisions\/34457"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media\/34452"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media?parent=34430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/categories?post=34430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/tags?post=34430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}