ecommerce

Como configurar a renovação automática para certificados SSL LetsEncrypt (Apache)

Você sabia que pode configurar rapidamente seus certificados Let’s Encrypt para se renovarem automaticamente executando um simples script de renovação automática letsencrypt?

Configurando a renovação automática para você Certificados SSL Let’s Encrypt significa que seu site sempre terá um certificado SSL válido.

Neste tutorial para iniciantes, você aprenderá como configurar seus certificados Let’s Encrypt SSL para se renovarem automaticamente antes da data de expiração.

Antes de começar este tutorial, você já deve ter configurado os certificados Let’s Encrypt SSL para um servidor Apache no mecanismo de computação do Google Cloud.

Se você ainda não configurou o SSL do seu site, aqui está o tutorial para as configurações do servidor Click-to-deploy (Padrão Apache) e Bitnami (Papache personalizado).

Existem 6 etapas neste tutorial:

1. Localize o pacote Certbot-Auto

Para aqueles que configuraram o SSL usando os tutoriais Click-to-deploy e Bitnami SSL, seu pacote certbot-auto foi baixado para seu diretório pessoal. Você pode visualizar o pacote simplesmente executando o comando ls .

comando certbot auto ls
Para usuários que seguiram os tutoriais Click-to-deploy ou Bitnami SSL, você pode visualizar seu pacote certbot-auto executando o comando ls . Veja? Agora prossiga para o passo 2 .

Para aqueles que baixaram o pacote certbot-auto para um diretório diferente, é importante localizá-lo. Se você não conseguir encontrar o pacote certbot-auto, poderá baixar novamente o pacote executando o seguinte comando:

wget https://dl.eff.org/certbot-auto && chmod a+x certbot-auto
execute o comando ls para visualizar a instalação do certbot
Se você precisar baixar novamente o pacote certbot-auto, poderá verificar se ele foi instalado corretamente executando o comando ls para visualizar o pacote.

2. Mova o pacote Certbot-Auto

Depois de estabelecer a localização do seu pacote Cerbot-Auto, a próxima etapa é mover o pacote certbot-auto para o diretório /etc/letsencrypt/ .

Portanto, para usuários que seguiram os tutoriais Click-to-deploy ou Bitnami mencionados acima , seu comando seria:

sudo mv certbot-auto /etc/letsencrypt/
mova o certbot para o diretório letsencrypt com o comando mv
Use o comando mv para mover seu pacote certbot para o diretório letsencrypt.
pacote certbot movido
Você pode verificar se o pacote certbot-auto foi movido com sucesso executando o comando ls /etc/letsencrypt/ e verificando se o pacote certbot-auto aparece nesse diretório.

3. Editar arquivo Crontab

Agora que você moveu seu pacote certbot-Auto para o diretório /etc/letsencrypt/, a próxima etapa é abrir seu arquivo crontab.

Para abrir seu arquivo crontab, execute o seguinte comando:

sudo crontab -e
abrindo arquivo crontab para edição
Você pode abrir seu arquivo crontab executando o comando sudo crontab -e .

4. Configure o script de renovação automática

Agora que você abriu seu arquivo crontab, a próxima etapa é adicionar um script na parte inferior do arquivo crontab que será executado uma vez por semana e renovará automaticamente os certificados SSL se eles estiverem prestes a expirar.

dentro do arquivo crontab com script de renovação automática ssl
Na parte inferior do arquivo crontab, você inserirá um script que instruirá o servidor a verificar as renovações de certificado uma vez por semana e a renovar automaticamente os certificados se estiverem prestes a expirar. Para salvar as alterações, pressione CTRL + X, CTRL + Y e Enter.

Para usuários do Apache Click-to-deploy ou padrão, adicione o seguinte script:

45 2 * * 6 cd /etc/letsencrypt/ && ./certbot-auto renew && /etc/init.d/apache2 restart

Para usuários do Bitnami , adicione o seguinte script:

45 2 * * 6 cd /etc/letsencrypt/ && ./certbot-auto renew && /opt/bitnami/ctlscript.sh restart

5. Teste básico de renovação automática

Para testar se há erros no script de renovação automática, você pode executar rapidamente um ‘dry run’ – um processo no qual o script de renovação automática será executado sem realmente renovar os certificados. Para executar um ‘dry run’, execute os dois comandos a seguir:

Para usuários Apache padrão ou Click-to-deploy :

sudo -i
cd /etc/letsencrypt/ && ./certbot-auto renew --dry-run && /etc/init.d/apache2 restart

Para usuários do Bitnami :

sudo -i
cd /etc/letsencrypt/ && ./certbot-auto renew --dry-run && /opt/bitnami/ctlscript.sh restart

Parabéns! Você configurou com sucesso seus certificados Let’s Encrypt SSL para renovação automática antes da expiração.

Se você quiser testar o processo de renovação, passe para a próxima etapa (opcional). Como o script renovará os certificados um mês antes da expiração, você pode usar um verificador SSL para verificar se os certificados foram renovados com sucesso.

6. Teste avançado de renovação automática

Nesta seção de teste avançado do tutorial, você aprenderá como usar o comando –force-renew para simular a renovação do certificado em um ambiente ativo.

Para começar, verifique a data e hora atuais em seu servidor. Para fazer isso, execute o comando date .

executando o comando de data servidor apache
Verifique a hora atual em seu servidor executando o comando date .

Anote a data e a hora – cole-a no bloco de notas ou anote-a em um pedaço de papel. Com base no exemplo acima, eu escreveria 18:56:54

6.1 Verifique a data de validade atual

Agora que você registrou a data e hora atuais do seu sistema, a próxima etapa é verificar quando seu certificado está definido para expirar. Para fazer isso, execute o seguinte comando:

openssl x509 -noout -dates -in /etc/letsencrypt/live/example.com/cert.pem

Observação: certifique-se de substituir example.com pelo seu próprio nome de domínio.

data e hora de expiração do script letsencrypt
Verificar a data de expiração do certificado SSL com antecedência permitirá que você teste se o script de renovação automática está funcionando corretamente.

Anote a data e a hora em que o certificado foi emitido – cole-o em um bloco de notas ou anote-o em um pedaço de papel.

Com base no exemplo acima, eu escreveria 13:34:41

6.2 Forçar script Crontab

Execute o comando sudo crontab -e para reabrir seu arquivo crontab.

Neste exemplo, o carimbo de data e hora da minha máquina virtual mostrou 18:56:54 . Portanto, gostaria que o script de renovação automática fosse executado alguns minutos antes das 18:56:54 às 18:59:00 .

altere o comando de renovação cerbot apache crontab
Para testar o script de renovação automática, você terá que alterar temporariamente o tempo do script e renovar o comando. Os números abaixo de m e h representam a hora (minuto e hora) em que você deseja que o script seja executado ( 18:59:00 na imagem acima).

Para usuários Apache padrão ou Click-to-deploy :

59 18 * * * cd /etc/letsencrypt/ && ./certbot-auto renew --force-renew && /etc/init.d/apache2 restart

Para usuários do Bitnami :

59 18 * * * cd /etc/letsencrypt/ && ./certbot-auto renew --force-renew && /opt/bitnami/ctlscript.sh restart

Depois que o tempo na frente do script tiver passado ( 18:59 neste exemplo), verifique o log do sistema para verificar se o script foi executado com êxito.

Para verificar o log do sistema, navegue até o diretório de log executando cd /var/log/ .

visualizar logs do sistema apache
Ao navegar para /var/log/, você terá acesso aos logs do sistema Apache.

Em seguida, imprima o log do sistema na tela executando o comando cat syslog .

verifique os logs do sistema apache
Se o seu teste foi bem-sucedido, você notará que o script crontab aparecerá nos logs do sistema Apache, mostrando se o script foi executado com sucesso.

6.3 Verifique se a renovação foi bem-sucedida

Para verificar se a renovação foi bem-sucedida, navegue de volta ao seu diretório inicial executando cd e, em seguida, execute o seguinte comando, certificando-se de substituir example.com pelo seu próprio nome de domínio.

openssl x509 -noout -dates -in /etc/letsencrypt/live/example.com/cert.pem
data de expiração do certificado SSL após a renovação
Depois de executar o script de renovação automática do certbot, você deve observar que as datas de expiração do certificado SSL mudaram e mudaram para 3 meses no futuro.

Também é uma boa ideia verificar novamente com um verificador de certificado SSL on-line para garantir que seus certificados renovados sejam reconhecidos.

6.4 Reverter o script crontab para o padrão

Agora que o teste foi concluído, lembre-se de alterar seu script crontab de volta para o padrão da etapa 4 deste tutorial!

dentro do arquivo crontab com script de renovação automática ssl
O script crontab original está definido para ser executado todos os sábados às 2h45.

É isso!

Deixe um comentário

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