Como monitorar automaticamente certificados SSL perto de expirar com um script (em 5 passos simples)
Olá, amigo(a) GeHost! 😊
Se você já teve o susto de ver seu site travando por causa de um certificado SSL expirado, sabe como isso pode atrapalhar sua presença online. O bom é que, com um pequeno script no seu servidor, você pode receber alertas antes mesmo que o certificado expire — e tudo isso de forma automática!
Neste guia, o Sensei da GeHost vai te mostrar como criar um script simples que verifica a validade dos certificados SSL de seus domínios e te avisa quando estiverem próximos de expirar. Tudo isso com linguagem de programação fácil de entender: bash (o idioma dos servidores).
Passo 1: Acesse o terminal do seu servidor (via SSH)
Para rodar o script, você precisará acessar o terminal do seu servidor. Isso é feito com o SSH — uma conexão segura que o GeHost já preparou para você.
Se você ainda não sabe como fazer isso, basta:
- Abra o terminal no seu computador (no Windows, use o Windows Terminal ou Putty).
- Conecte-se ao seu servidor usando o comando:
ssh usuario@seu-servidor.gehost.com.br(substitua "usuario" pelo seu nome de usuário no cPanel). - Insira sua senha quando pedir.
Pronto! Você está dentro do servidor. 🎉
Passo 2: Crie o script de monitoramento
Vamos criar um arquivo chamado check-ssl-expiration.sh. Esse script vai checar os certificados SSL de seus domínios.
Use o comando abaixo para criar o arquivo e abri-lo no editor nano:
nano check-ssl-expiration.sh
Depois, cole o código abaixo dentro do editor:
#!/bin/bash
# Script para monitorar certificados SSL perto de expirar
# Sensei da GeHost - Guia prático para clientes leigos
# Domínios a verificar (adicione os seus domínios aqui)
DOMAINS=("seudominio.com.br" "www.seudominio.com.br")
# Dias para alerta (ex: 7 dias antes da expiração)
DAYS_THRESHOLD=7
# Cor para alerta
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color
echo -e "${GREEN}Verificando certificados SSL...${NC}"
for domain in "${DOMAINS[@]}"; do
echo -e "\nVerificando $domain:"
# Usa openssl para verificar o certificado
echo | openssl s_client -servername "$domain" -connect "$domain:443" 2>/dev/null | openssl x509 -noout -dates | grep "notAfter" | cut -d= -f2 | while read date; do
# Converte a data para timestamp
expire_timestamp=$(date -d "$date" +%s)
current_timestamp=$(date +%s)
days_left=$(( (expire_timestamp - current_timestamp) / 86400 ))
if [ $days_left -le $DAYS_THRESHOLD ]; then
echo -e "${RED}ALERTA: $domain expira em $days_left dias!${NC}"
else
echo -e "${GREEN}$domain ainda tem $days_left dias de validade.${NC}"
fi
done
done
echo -e "\n${GREEN}Verificação concluída.${NC}"
Atenção: Substitua seudominio.com.br pelos seus próprios domínios (ex: meusite.com.br).
Passo 3: Torne o script executável
Antes de rodar, você precisa dar permissão de execução ao arquivo:
chmod +x check-ssl-expiration.sh
Pronto! Agora o script está pronto para ser executado.
Passo 4: Execute o script e veja os resultados
Digite o comando abaixo para rodar o script:
./check-ssl-expiration.sh
Se tudo estiver certo, você verá algo assim:
Verificando certificados SSL...
Verificando meusite.com.br:
ALERTA: meusite.com.br expira em 5 dias!
Verificando www.meusite.com.br:
meusite.com.br ainda tem 12 dias de validade.
Verificação concluída.
Se aparecerem alertas, é hora de renovar o certificado! 🛠️
Passo 5: Automatize com o Cron (agendamento)
Imagine que o script roda sozinho toda semana… e te manda um e-mail se algo estiver errado. Isso é possível com o Cron — um sistema de agendamento do Linux.
Para configurar:
- Abra o editor de cron:
crontab -e - Adicione esta linha para rodar o script toda segunda-feira às 9h:
- Salve e saia:
Ctrl + X, depoisYeEnter.
0 9 * * 1 /caminho/para/check-ssl-expiration.sh
Dica: Se você não souber o caminho do script, use pwd para ver o diretório atual, ou coloque o script na pasta /home/usuario/scripts/ para facilitar.
Como receber alertas por e-mail?
Se quiser que o script envie um e-mail automático quando houver alerta, adicione esta linha no final do script:
if [ $days_left -le $DAYS_THRESHOLD ]; then
echo "ALERTA: $domain expira em $days_left dias!" | mail -s "SSL Expirando!" seuemail@seudominio.com.br
fi
Substitua seuemail@seudominio.com.br pelo seu e-mail de contato.
Imagens de apoio
Para te ajudar a se localizar no cPanel, aqui estão algumas telas que mostram onde encontrar ferramentas úteis:
Se precisar de ajuda com o SSH ou o acesso ao terminal, basta acessar o Terminal no cPanel (dentro da seção "Terminal" ou "SSH Access").
Resumo do guia
- Use o SSH para acessar o servidor.
- Crie um script com
nano. - Adicione seus domínios e defina o limite de dias (ex: 7).
- Dê permissão com
chmod +x. - Execute com
./check-ssl-expiration.sh. - Automatize com
crontab -e. - Receba alertas por e-mail!
Se você seguir esses passos, seu site ficará sempre seguro, com certificados atualizados — sem surpresas! 💚
Se tiver dúvidas, é só chamar o Sensei da GeHost no suporte. Estamos aqui para te ajudar, sempre. 🌟