Criptografe seu site com let’s encrypt

Ter um site com criptografia é impressionável se você trabalha com comercio eletrônico.  Sem criptografia os dados do seu cliente, como usuário, senha , endereço, cartão de credito e CPF vão trafegar na internet como texto puro. Texto puro pode ser facilmente interceptado e apenas lido por software especializado em monitorar comunicações, principalmente em redes sem fio, embora esse é assunto que demanda um debate mais aprofundado.  Conseguir um certificado amplamente aceito pelos navegadores sempre foi um custo, que sites pequenos não queriam arcar.

Com intuito de tornar a internet mais segura o lets encrypt fornece certificados gratuitamente, dessa forma qualquer site pode ter criptografia e ainda aproveitar de recursos de melhoria de performance do protocolo http2, que exige criptografia. Ou seja, mesmo que seu site não tenha dados sensíveis, você tem benefícios com a criptografia, inclusive na visibilidade do site melhora em mecanismos de busca como o google.

Esse passo a passo foi feito para Centos 7 e imaginando que você já tem o conhecimento de como usar o nginx.

Primeiro pare  o nginx:

#service nginx stop

Depois instale o git para fazer o download do programa.

#yum install git

Agora baixamos o programa via git

#git clone https://github.com/letsencrypt/letsencrypt

Mova o letsencrypt para o /opt que é lugar de programas que estão fora do padrão de instalação normal de pacotes.

#mv letsencrypt /opt/letsencrypt

Entre no diretorio do programa

#cd /opt/letsencrypt

Vamos executar um script que  vai instalar tudo que o letsencrypt vai precisar, e no final vai começar um wizard para
criar o certificado.

#./letsencrypt-auto certonly –standalone

Enter email address (used for urgent renewal and security notices) (Enter ‘c’ to
cancel): [email protected]

——————————————————————————-
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree
in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
——————————————————————————-
(A)gree/(C)ancel: A  <— Você deve aceitar o contrato

——————————————————————————-
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let’s Encrypt project and the non-profit
organization that develops Certbot? We’d like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
——————————————————————————-
(Y)es/(N)o: Y <– Compartilhar suas informações com a Eletronic Frontier é opcional

Please enter in your domain name(s) (comma and/or space separated) (Enter ‘c’
to cancel): www.meudominio.com.br  <–você digita o nome do seu dominio

Pronto, o certificado foi criado,  em /etc/letsencrypt/live/www.meudominio.com.br

Segue abaixo uma configuração de exemplo, a opção http2 só vai funcionar se você tiver uma versão mais nova do nginx com o  modulo http2 habilitado. No caso eu estou usando o nginx 1.13.3 baixado no repositorio brouken.  Para adicionar o repositorio no Centos 7 basta dar esses comandos:

#yum -y install yum-utils
#yum-config-manager –add-repo https://brouken.com/brouken.repo

Segue abaixo o arquivo de configuração do nginx,

server {
listen 443 ssl http2;
server_name www.meudominio.com.br ;

root /var/www/html/site;

ssl on;
ssl_certificate /etc/letsencrypt/live/www.meudominio.com.br/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.meudominio.com.br/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ‘EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH’;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;

}

O certificado tem validade de 3 meses, então precisamos rodar um comando para renovar, como não compensa tentar lembrar disso, basta criar uma cron para fazer a renovação automaticamente. No caso vamos fazer uma cron no /etc/crontab que vai rodar uma vez por semana:

* * * * 0 root /opt/letsencrypt/certbot-auto –nginx -q renew

Pronto, seu site esta criptografado gratuitamente. 🙂

About The Author
admin Anakin Pendragon