O certificado SSL / TLS não custa um centavo sequer. Graças ao Let’s Encrypt.
O certificado SSL é obrigatório para qualquer site de negócios baseado em serviços transacionais, em conformidade com o PCI DSS. Ele protege os dados transmitidos do cliente para o servidor. Ter SSL / TLS (HTTPS) em seu site também ajuda a aumentar a classificação na Pesquisa do Google.
Geralmente, o certificado SSL custa mais de R$ 200 por ano; no entanto, se você precisar de um certificado para um ambiente de não produção em que a transação de dados não seja crítica, tente o FREE SSL do Let’s Encrypt.
Let’s Encrypt é uma autoridade de certificação aberta (CA) patrocinada pela SUCURI, Cisco, Facebook, AKAMAI, Chrome, Automática, SiteGround etc. que emite um certificado SSL sem nenhum custo. O Let’s Encrypt já emitiu um certificado SSL de quase 200 milhões até o momento.
Vamos começar usando o Let’s Encrypt para obter o certificado SSL no ambiente Linux do Apache HTTP Server. O exemplo abaixo é baseado em techpostal.com hospedado no DigitalOcean com o servidor HTTP Apache.
Sumario
Instalando o Let’s Encrypt no Apache
- Faça login no servidor Linux
- Vá para o caminho em que deseja instalar o vamos criptografar
- Clone o repositório git de vamos criptografar
git clone https://github.com/letsencrypt/letsencrypt
Nota: se você não tiver o git instalado, poderá usar o comando yum para instalá-lo.
yum install git
- Você verá uma nova pasta “letsencrypt” criada em seu diretório de trabalho atual
drwxr-xr-x. 14 root root 4096 Mar 6 01:00 letsencryp
t
- Vá para a pasta recém-criada
cd letsencrypt
- Execute o comando abaixo para instalar toda a sua dependência
./letsencrypt-auto
Isso pode levar alguns minutos para instalar. Ele procurará o ServerName no arquivo httpd.conf do Apache e solicitará a confirmação do nome para o qual você deseja ativar o HTTPS.
- Selecione o nome do domínio na lista e clique em OK.
- Digite o endereço de e-mail e OK
- Concordar com os Termos de Serviço
- Ele solicitará que você escolha se deseja permitir HTTP e HTTPS ou APENAS HTTPS.
- Selecione o que você deseja e OK
Demorará alguns segundos e, em seguida, você confirmará o certificado SSL ativado com êxito em seu domínio.
Para validar, acesse seu URL HTTPS e você deverá vê-lo emitido por “Let’s Encrypt Authority”.
Veja bem, todo o processo para obter o certificado SSL é muito fácil.
Depois de habilitar o certificado SSL para o seu site, não se esqueça de testar o site quanto à vulnerabilidade e configuração incorreta do SSL / TLS.
Instalando o Let’s Encrypt no Ngnix
Abaixo você encontra um tutorial para instalar o certificado Let’s Encrypt TLS no seu Nginx.
É fundamental a proteção do site através certificado SSL. E as razões para isso são:
- Transmissão segura de dados entre o usuário, seja de qualquer dispositivo e o dispositivo de descarregamento TLS / SSL;
- Melhorar o posicionamento do site nas buscas do Google.
Há um tempo atrás o Google anunciou que sites sem https: // seriam marcados como “Não Seguro” na barra do navegador Chrome.
Desde então não há dúvidas que o HTTPS é necessário.
Se estiver criando um site pessoal, blog ou um site transacional que não ocorram transações financeiras nele, poderá utilizar o certificado Let’s Encrypt.
Mas, se estiver trabalhando com um e-commerce, é recomendado a utilização de um certificado comercial.
Este artigo já estamos partindo do pressuposto que você já tenha seu servidor rodando com Ngnix instalado.
E você pode fazer isso de várias formas. Inclusive com painéis que fazem esta instalação sem esforço através de comandos do Linux.
Vamos criptografar trabalhando com o Certbot
É sem dúvidas uma das formas mais tranquilas de instalar o certificado Let´s Encrypt.
No Certbot você trabalha com um menu suspenso onde poderá selecionar o servidor e o Sistema Operacional para receber as instruções.
Selecionei Nginx e Ubuntu, conforme imagem abaixo.
Abaixo o comando que deverá executar para instalar o plug-in certbot.
# apt-get install software-propriedades-comuns # add-apt-repository ppa: certbot / certbot # apt-get update # apt-get install python-certbot-nginx
Após a instalação ter sido feita com sucesso, é hora de utilizar um plug-in certbot para fazer a instalação docertificado no Nginx.
Abaixo o comando que pode ser utilizado, que fará a modificação do arquivo necessário para a configuração do certificado.
# certbot --nginx
Ele faz a verificação do CN (nome comum) no arquivo de configuração que existe no Nginx e, se não for localizado, fará a inserção.
Ex:
raiz @ instância-1 : / etc / nginx / sites-available # certbot --nginx Salvando o log de depuração em /var/log/letsencrypt/letsencrypt.log Plugins selecionados: Authenticator nginx, Installer nginx Iniciando uma nova conexão HTTPS (1): acme-v01.api.letsencrypt.org Nenhum nome foi encontrado nos seus arquivos de configuração. Por favor entre no seu domínio nome (s) (separados por vírgula e / ou espaço) (Digite 'c' para cancelar): bloggerflare.com Obtendo um novo certificado Executando os seguintes desafios: desafio http-01 para bloggerflare.com A aguardar verificação ... Limpando desafios Certificado implantado no VirtualHost / etc / nginx / sites-enabled / default para bloggerflare.com Escolha se deseja ou não redirecionar o tráfego HTTP para HTTPS, removendo o acesso HTTP. -------------------------------------------------- ----------------------------- 1: Sem redirecionamento - não faça mais alterações na configuração do servidor da web. 2: Redirecionar - Redirecione todas as solicitações para proteger o acesso HTTPS. Escolha isto para novos sites ou se tiver certeza de que seu site funciona em HTTPS. Você pode desfazer isso alterar editando a configuração do servidor da web. -------------------------------------------------- ----------------------------- Selecione o número apropriado [1-2] e depois [enter] (pressione 'c' para cancelar): 2 Redirecionando todo o tráfego na porta 80 para ssl em / etc / nginx / sites-enabled / default -------------------------------------------------- ----------------------------- Parabéns! Você ativou com sucesso https://bloggerflare.com Você deve testar sua configuração em: https://www.ssllabs.com/ssltest/analyze.html?d=bloggerflare.com -------------------------------------------------- ----------------------------- ANOTAÇÕES IMPORTANTES: Parabéns! Seu certificado e sua cadeia foram salvos em: /etc/letsencrypt/live/bloggerflare.com/fullchain.pem Seu arquivo de chave foi salvo em: /etc/letsencrypt/live/bloggerflare.com/privkey.pem Seu certificado expirará em 27/05/2018. Para obter um novo ou aprimorado versão deste certificado no futuro, basta executar o certbot novamente com a opção "certonly". Para renovar de maneira não interativa * todos * os seus certificados, execute "certbot renew" - Se você gosta do Certbot, considere apoiar nosso trabalho: Doando para o ISRG / Let's Encrypt: https://letsencrypt.org/donate Doação para a EFF: https://eff.org/donate-le raiz @ instância-1 : / etc / nginx / sites-available #
A automação do Certbot é inteligente!
Você deve ter notado, ele realizou a configuração necessária para deixar o Nginx pronto para utilizar o protocolo https.
Mas, se você não desejar que o Certbot altere a configuração, é só solicitar o comando abaixo.
# certbot --nginx certonly
O comando acima não fará nenhuma alteração, somente instalará o certificado para que possa configurar da maneira que preferir.
Procedimento manual
Existem várias formas de instalar o certificado emitido pelo Let’s Encrypt, mas uma das recomendadas é através da ferramenta SSL for Free.
Forneça o URL e continue com a verificação. Após ter feito a verificação, você receberá o certificado, a chave privada e a CA.
Faça o download e transfira para seu servidor servidor Nginx. Vamos mantê-los na pasta ssl (crie se não existir) do caminho da instalação do Nginx.
raiz @ instância-2 : / etc / nginx / ssl # ls -ltr -rw-r - r-- 1 raiz raiz 1704 26 de fevereiro 10:04 private.key -rw-r - r-- 1 raiz raiz 1647 26 de fevereiro 10:04 ca_bundle.crt -rw-r - r-- 1 raiz raiz 3478 26 de fevereiro 10:57 raiz certificate.crt @ instance-2 : / etc / nginx / ssl #
Antes de continuar com a alteração de configuração, é necessário concatenar certificate.crt
e ca_bundle.crt
em um único arquivo. Vamos nomear tlscert.crt
cat certificate.crt ca_bundle.crt >> tlscert.crt
- Vá para a pasta
sites-available
e adicione o seguinte trecho de código no respectivo arquivo de configuração do site
servidor { escute 443; ssl on; ssl_certificate /etc/nginx/ssl/tlscert.crt; ssl_certificate_key /etc/nginx/ssl/private.key; }
- Reinicie o Nginx
reiniciar o serviço nginx
Tente acessar o domínio através do HTTPS
Pronto, você acaba de instalar let´s encrypt com sucesso!
Uma opção ao Let’s Encrypt é o ZeroSSL.
Na sequência, o ideal é fazer um teste em seu site quanto à vulnerabilidade SSL / TLS e, se necessário, corrigi-los.
Deixe um comentário