Gerando certificados SSL gratuitos com Certbot

Por quê HTTPS?

Navegar em sites com HTTPS (Hypertext Transfer Protocol Secure) oferece uma camada adicional de segurança e proteção de dados durante a comunicação entre o seu navegador e o site que você está visitando. O HTTPS utiliza um certificado SSL/TLS (Secure Sockets Layer/Transport Layer Security) para estabelecer uma conexão criptografada e autenticada, garantindo a confidencialidade e a integridade dos dados transmitidos.

Quando você acessa um site com HTTPS, o certificado SSL/TLS do site é verificado pelo seu navegador para garantir que ele foi emitido por uma autoridade confiável e está válido. Isso ajuda a proteger contra ataques de interceptação de dados e falsificação de identidade.

Além da segurança, o HTTPS também oferece outras vantagens como:

Privacidade: A comunicação entre o seu navegador e o site é criptografada, o que impede que terceiros interceptem e visualizem os dados transmitidos. Isso é particularmente importante ao enviar informações sensíveis, como senhas, informações financeiras ou dados pessoais.

Integridade dos dados: O HTTPS protege contra a modificação ou corrupção dos dados durante a transmissão. Isso garante que as informações que você recebe do site não tenham sido alteradas no meio do caminho.

Autenticidade: O certificado SSL/TLS usado pelo site garante a autenticidade da identidade do site, confirmando que você está se comunicando com o site legítimo e não com um impostor.

SEO (Search Engine Optimization): Os mecanismos de busca, como o Google, tendem a priorizar sites com HTTPS nos resultados de pesquisa. Ter um site com HTTPS pode melhorar sua visibilidade nos motores de busca.

Ao navegar em um site com HTTPS, você pode ver um ícone de cadeado na barra de endereço do seu navegador, indicando que a conexão é segura. Além disso, o endereço do site começará com "https://" em vez de "http://". Esses indicadores visuais fornecem confiança e tranquilidade ao usar o site.

Em resumo, ao navegar em sites com HTTPS, você pode desfrutar de uma experiência mais segura, protegendo seus dados e garantindo a autenticidade dos sites que você visita. É altamente recomendável que você sempre procure sites com HTTPS ao fornecer informações pessoais ou confidenciais.

Com isso, entende-se o porquê de qualquer projeto na web obter melhores resultados fazendo uso um certificado SSL. A grande maiorias do visitantes, declinam ao visitar e expor dados num site simples apenas com HTTP.

O que é Certbot?

O Certbot é uma ferramenta de software livre desenvolvida pela Electronic Frontier Foundation (EFF), uma organização sem fins lucrativos dedicada à defesa dos direitos digitais e à privacidade online. O Certbot é um dos projetos principais da EFF e foi criado para simplificar e automatizar o processo de obtenção e renovação de certificados SSL/TLS gratuitos fornecidos pela Let's Encrypt.

A Let's Encrypt é uma autoridade de certificação sem fins lucrativos que busca tornar a criptografia HTTPS amplamente acessível e fácil de implementar. Eles fornecem certificados SSL/TLS gratuitos e automatizados, permitindo que qualquer pessoa proteja seus sites e aplicativos com segurança.

O Certbot, em parceria com a EFF e a Let's Encrypt, oferece uma maneira simples e eficiente de obter, instalar e renovar automaticamente os certificados SSL/TLS em servidores web. Ele oferece suporte a uma variedade de servidores web populares, incluindo o Apache, Nginx, IIS e muito mais.

Além de simplificar o processo de obtenção e renovação de certificados, o Certbot também ajuda a configurar automaticamente as regras de redirecionamento para HTTPS, configurações de criptografia segura e outros aspectos relacionados à segurança do servidor web.

A EFF desempenha um papel fundamental na promoção da segurança e privacidade na Internet. Como uma organização líder em direitos digitais, eles estão comprometidos em garantir que a criptografia e os certificados SSL/TLS sejam acessíveis a todos, promovendo uma web mais segura e protegida.

Ao utilizar o Certbot, você está se beneficiando da expertise e do compromisso da EFF em proteger a privacidade online e tornar a criptografia acessível para todos. E ao usar os certificados SSL/TLS gratuitos fornecidos pela Let's Encrypt, você está contribuindo para um ambiente online mais seguro e confiável.

Instalando o CertBot

1-) Acessando o ssh de sua máquina, (se estiver utilizando uma EC2 da AWS este link pode ser útil: https://marcomapa.com/artigos/acessando-uma-instancia-ec2-por-ssh/), atualize-a com o comando :

sudo yum update -y

2-) Agora vamos instalar o Certbot e suas dependências:

sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip
sudo ln -s /opt/certbot/bin/certbot /usr/bin/certbot

3-) Se você estiver utilizando algum servidor web na propria máquina pode instalar plugins que além de gerar o certificado, assinam e configuram seu apache ou nginx automaticamente:

Para NginX:
sudo /opt/certbot/bin/pip install certbot certbot-nginx
Para Apache:
sudo /opt/certbot/bin/pip install certbot certbot-apache

Gerando um novo Certificado

1-) Podemos gerar de duas maneiras:

a) Fazendo uso dos plugins geramos um novo certificado com o comando:

sudo certbot --nginx

Trocando --nginx por --apache de acordo com seu servidor

b) Gerando um certificado manualmente com a instrução:

sudo certbot certonly --manual

2-) Siga as instruções interativas do Certbot:

a) Será solicitado que você insira o(s) nome(s) de domínio para os quais deseja gerar o certificado. Digite o(s) nome(s) de domínio e pressione Enter.

b) Você será instruído a criar um arquivo de desafio para confirmar que você controla o domínio. O Certbot fornecerá o caminho e o nome do arquivo que você precisa criar e o conteúdo que precisa ser colocado nesse arquivo. Siga as instruções e crie o arquivo no seu servidor web.

c) Após criar o arquivo de desafio, pressione Enter para continuar.

4-) O Certbot realizará a verificação do desafio e, se for bem-sucedido, você receberá uma mensagem de confirmação informando que o certificado foi gerado com sucesso.

5-) O certificado e a chave privada correspondente serão salvos em um diretório especificado pelo Certbot. Geralmente, o Certbot informará o caminho do diretório onde os certificados foram salvos.

Configurando o servidor para utilizar o certificado

1-) Acesse seu arquivo de configuração:

a) Apache:

sudo nano /etc/httpd/conf/httpd.conf

a.1) Crie um Virtual Host:

<VirtualHost *:443>
    ServerName seudominio.com.br
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/caminho-do-certificado/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/caminho-da-chave/privkey.pem
</VirtualHost>

a.2) Feito isso é só reiniciar seu servidor com o comando:

sudo service httpd restart

b) Nginx:

sudo nano /etc/nginx/conf.d/default.conf

b.1) Configure seu servidor:

server {
	listen 80;
	listen 443 ssl;
	ssl_certificate /etc/letsencrypt/live/caminho-do-certificado;
	ssl_certificate_key/etc/letsencrypt/live/caminho-da-chave/privkey.pem;

	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_ciphers HIGH:!aNULL:!MD5;
	ssl_prefer_server_ciphers on;

}

b.2) Reinicie seu nginx:

sudo systemctl restart nginx

Testando

Feito estes passos é só acessar https://seu-dominio.com que o site funcionará com o certificado. Você pode conferir detalhes dele clicando no cadeado (1) e em seguida Mais informações (2)

No próximo artigo vamos aprender a utilizar um certificado gerado pelo Certbot numa Instância EC2 da AWS através de um Elastic Load Balancer. (https://marcomapa.com/artigos/adicionando-certbot-para-ssl-em-elastic-load-balancer-na-aws/)

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Qual o Resultado? *